Configurando pgAudit (auditoria) no PostgreSQL 11 no Ubuntu 18
Esse artigo vamos estar Configurando pgAudit (auditoria) no PostgreSQL 11 no Ubuntu 18. Entretanto pelo que vi na documentação do pgAudit aqui: https://github.com/pgaudit/pgaudit você pode alterar a versão da branch de acordo com a versão do seu PostgreSQL.
Antes de mais nada um breve resumo sobre PGAudit:
O PostgreSQL Audit Extension disponibiliza o registro de auditoria detalhada da sessão ou objeto por meio de registro do próprio PostgreSQL. Esses registros de auditoria são usualmente exigidos por algumas certificações ou organizações governamentais, em alguns casos pode ser norma da empresa visando aumentar a segurança interna por meio de auditorias.
1 Instalando as dependências
Nesse sentido, como está descrito no título desse post, o nosso cenário aqui foi: PostgreSQL 11.1 com Ubuntu 18. Logo, com isso em mente vamos iniciar o setup das dependências:
date && apt-get install -y git make check postgresql-server-dev-11 gcc libssl-dev libkrb5-dev
2 Clonando e compilando os arquivos do repositório do pgAudit
Agora estamos utilizamos o diretório /opt para persistência dos dados, execute os comandos abaixo:
#entrando no dir
cd /opt
#clonando repo
git clone https://github.com/pgaudit/pgaudit.git
#entrando no diretorio clonado
cd pgaudit
#alterando a branch para minha versao
git checkout REL_11_STABLE
#compilando e instalando
make check USE_PGXS=1 && make install USE_PGXS=1
3 Criando diretório para persistência dos logs
Em seguida você precisa criar um diretório para persistir os logs que vão ser gerados pelo PostgreSQL (já te adianto que serão muitos!), no meu caso vou criar dentro de /var/log/postgresql-auditoria.
mkdir /var/log/postgresql-auditoria
chmod 775 /var/log/postgresql-auditoria
4 Configurando PostgreSQL para persistir e rotacionar o log
Finalmente procure pelo arquivo postgresql.conf no meu caso está sob esse caminho: /var/lib/postgresql/data/postgresql.conf. Faça um backup por precaução, vou deixar abaixo os parâmetros que alterei:
#Importante essa alteração, pois o log terá o horário aqui especificado:
log_timezone = 'America/Sao_Paulo'
#Ajuste de configuração de rotação e destino dos logs :
logging_collector = on
log_directory = '/var/log/postgresql-auditoria'
log_filename = 'pgsqlaudit-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 124MB
#Habilitando a extensão do pgAudit:
shared_preload_libraries = 'pgaudit'
pgaudit.log = 'all, -misc'
5 Reiniciando o PostgreSQL
Feito tudo acima, reinicie o serviço do Postgres (eu utilizo systemd):
systemctl restart posgresql-11
Se tudo deu certo, você verá seus arquivos sendo gerados no diretório especificado.
Observação/Conclusão
O pgAudito é uma mão na roda pra quem tá precisando habilitar auditoria no PostgreSQL, entretanto é preciso se atentar alguns itens:
- Aumento de I/O em decorrencia do grande volume de escrita;
- Ajuste o parâmetro pgaudit.log de acordo com sua necessidade, no documento aqui deixei pra ele gravar tudo;
Monitore seu disco e compacte o log. Comente aqui a maneira que estamos Configurando pgAudit (auditoria) no PostgreSQL.
Nesse meio tempo você pode gostar também: Resolver erro dropdb: error: database removal failed – PostgreSQL