Processo de auditoria em AIX
O sistema operacional Unix AIX, dispõe de um sistema de auditoria que pode ser configurado e habilitado pelo administrador de sistemas, que permite registrar todas as ações efetuadas no servidor.
1 - Processo de auditoria
O processo de auditoria consiste num sistema que registra em logs binários as ações realizadas por todos os usuários do sistema operacional, conforme configuração definida.
Antes de iniciar a configuração da auditoria deve-se definir o local onde os logs serão armazenados e criar um filesystem específico para isso. É importante tomar o cuidado de configurar as permissões de acesso a este diretório de modo que apenas os administradores do sistema possam acessá-lo.
Após criado o filesystem, o próximo passo é configurar os arquivos que se encontram no diretório /etc/security/audit. Para configurar a auditoria precisa-se definir o que será auditado, quais usuários serão auditados e de que forma os logs serão armazenados.
2 - O que pode ser monitorado?
A seguir temos a descrição de alguns itens que podem ser utilizados para monitoria:
USER_SU Utilização do comando su
PASSWORD_Change - Utilização do comando passwd
FILE_Rename - Alteração de nome de arquivos
FS_Rmdir - Remoção de diretório
AUD_Bin_Def - Audit bin configuration
AUD_Lost_Recs - Notificação caso haja registros perdidos
FILE_Write - Registra a escrita em arquivos (pode-se especificar quais arquivos sofrerão
esta monitoria configurando o arquivo objects, conforme descrito no item 4
deste documento).
.
FILE_Owner - Alteração de permissão de arquivos: OWNER
FILE_Mode - Mudança de permissão (chmod)
FILE_Acl - Alteração de permissão de arquivos: utilizando ACL
FILE_Privilege - Mudança de características de owner (chown)
AT_JobRemove - Remoção de um Job da Crontab ou At
CRON_JobRemove - Lista qual usuário removeu um job da cron e quando ele removeu
CRON_JobAdd - Lista qual usuário adicionou um job da cron e quando ele removeu
LVM_DeletePV - Remoção de PV (Physical Volume)
LVM_DeleteVGSA - Remoção da Volume Group Status Area
LVM_DeleteVG - Remoção de VG (Volume Group)
LVM_DeleteLV - Remoção de LV (Logical Volume)
LVM_VaryoffVG - Colocação de VG em status offline
3 - Configurando e habilitando a AUDITORIA:
A auditoria é configurada através da edição de arquivos de configuração que se encontram no diretório /etc/security/audit/.
3.1 - Arquivos de configuração no diretório /etc/security/audit/
No diretório /etc/security/audit encontramos os seguintes arquivos:
# ls -l total 136 -rw-r----- 1 root audit 37 Sep 16 2002 bincmds -rw-rw---- 1 root audit 1092 Nov 16 12:24 config -rw-rw---- 1 root audit 14208 Oct 09 15:37 events -rw-r----- 1 root audit 340 Sep 16 2002 objects -rw-rw---- 1 root audit 1107 Nov 16 12:23 oconfig -rw-r----- 1 root audit 54 Sep 16 2002 streamcmds #
A função destes arquivos é:
bincmds - Arquivo onde estão os comandos para monitoração no modo binmode
config - Arquivo de configuração da auditoria onde são especificadas as
características do processo de audit o que será monitorado
events - Arquivo onde estão definidos os eventos que podem ser monitorados
objects - Arquivo onde estão definidos os objetos a serem monitorados
streamcmds - Arquivo onde estão os comandos para monitoração no modo
streammode
Para habilitar a auditoria no AIX, normalmente configuramos os seguintes arquivos:
- config - objects - events
3.1.1 - Configuração do /etc/security/audit/config
Segue no quadro a seguir, um exemplo de configuração do arquivo config, o principal arquivo de configuração, onde definimos “como”, “o que” e “quem” serão auditados.
Neste arquivo definimos:
- O método de geração de logs (bin ou stream)
- O diretório onde os logs serão gerados: /{filesystemcriado}
- Os processos que serão monitorados (descritos no próximo ítem: USER_SU, etc)
- Quais usuários serão monitorados
Segue um modelo do arquivo config:
start:
binmode = on
streammode = off
bin:
trail = /{filesystemcriado}/trail
bin1 = /{filesystemcriado}/bin1
bin2 = /{filesystemcriado}/bin2
binsize = 10240
cmds = /etc/security/audit/bincmds
freespace = 65536
stream:
cmds = /etc/security/audit/streamcmds
classes:
personalizada = USER_SU,PASSWORD_Change,FILE_Rename,FS_Rmdir,AUD_Bin_Def,AUD_Lost_Recs,FILE_Write,\
FILE_Rename,FILE_Owner,FILE_Mode,FILE_Acl,FILE_Privilege,AT_JobAdd,AT_JobRemove,\
CRON_JobAdd,CRON_JobRemove,LVM_DeletePV,LVM_DeleteVGSA,LVM_DeleteVG,\
LVM_DeleteLV,LVM_VaryoffVG
users:
usuarioA = personalizada
usuarioB = personalizada
usuarioC = personalizada
3.1.2 - Configuração do /etc/security/audit/objects
O arquivo objects permite que personalizemos a relação dos objetos que são monitorados. Podemos incluir os arquivos do /etc, do /home, etc, conforme desejarmos.
Abaixo podemos ver como incluir todos os arquivos abaixo do /etc para serem monitorados.
Basta executar na linha de comando:
# find /etc -type f | awk '{printf("%s:\n\tw = FILE_Write\n\n",$1)}' >> objects
3.1.3 - Configuração do /etc/security/audit/events
O arquivo events contém o que cada ação auditada faz. Podemos personalizar, por exemplo, que a ação FILE_Write registre o nome do arquivo editado adicionado file: %s , conforme mostrado a seguir.
Exemplo:
Original:
FILE_Write = printf "file descriptor = %d"
Modificado:
FILE_Write = printf "file descriptor = %d file: %s"
4 - Automatizando a inclusão de novos usuários no sistema de auditoria.
Uma vez implementado o processo de auditoria, para que os usuários criados já sejam adicionados no sistema de auditoria, deve-se configurar o arquivo: /usr/lib/security/mkuser.default:
#more mkuser.default
user:
auditclasses = personalizada
pgrp = staff
groups = staff
shell = /usr/bin/ksh
home = /home/$USER
admin:
pgrp = system
groups = system
shell = /usr/bin/ksh
home = /home/$USER
5 - Administração do sistema de auditoria
5.1 - Ativação/Desativação do sistema de auditoria
Iniciar o processo de auditoria
# audit start
Parar o processo de auditoria:
# audit shutdown
Daemon do processo de auditoria ativo:
# ps -ef |grep audit
root 315630 1 0 11:48:16 - 0:00 auditbin
root 3489980 4378874 1 13:02:52 pts/1 0:00 grep audit
#
Para que a auditoria seja iniciada em caso de boot do servidor, deve-se incluir uma linha no arquivo /etc/inittab:
Exemplo:
audit:2:once:/usr/sbin/audit start > /dev/console 2>&1
5.2 - Leitura dos registros de auditoria
Para ler os registros de auditoria, utilizar o comando auditpr:
auditpr < bin1 auditpr –v < bin1
No diretório definido para os logs de auditoria:
# ls -l total 448 -rw------- 1 root system 0 Nov 16 11:48 auditb -rw-rw---- 1 root system 6785 Nov 16 13:09 bin1 -rw-rw---- 1 root system 0 Nov 16 12:23 bin2 drwxr-xr-x 2 root system 256 Oct 27 11:52 lost+found -rw-r----- 1 root system 221005 Nov 16 12:23 trail
6 - Resolução de problemas com AUDIT:
Problema 1:
Caso o audit apresente o seguinte erro ao tentar iniciar o audit:
# /usr/sbin/audit start
AUDITBIN: ** failed backend command /usr/sbin/auditcat -p -o /{filesystemcriado}/trail -r /{filesystemcriado}/bin1
#
Para resolver, pode-se renomear os arquivos /{filesystemcriado}/trail e /{filesystemcriado}/bin1 e reiniciar o audit.
# /usr/sbin/audit start
# ps -ef |grep audit
root 2515120 1 0 16:06:28 - 0:00 auditbin
root 3981322 2478182 0 16:06:35 pts/2 0:00 grep audit
# ls -lrt
total 10328
drwxr-xr-x 2 root system 256 Apr 15 16:27 lost+found
-rw-r----- 1 root system 5255750 Apr 29 00:25 trail.old
-rw-rw---- 1 root system 10202 Jun 01 16:02 bin1.old
-rw------- 1 root system 0 Jun 01 16:06 auditb
-rw-r----- 1 root system 2819 Jun 01 16:06 trail
-rw-rw---- 1 root system 0 Jun 01 16:06 bin2
-rw-rw---- 1 root system 2320 Jun 01 16:06 bin1
A solução foi encontrada neste link:
http://www.aplawrence.com/Security/mdgiac.html
Segue o trecho que descreve o erro e a solução:
Error message:
auditbin: ** failed backend command
/etc/auditcat -p -o /{filesystemcriado}/trail -r /{filesystemcriado}/bin1
This error can be corrected by removing or renaming the BIN files. It is sometimes helpful to run audit shutdown again
and then to retry audit start.
7 - Referência
Audit Command
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.security/doc/security/auditing.htmConfigurando Auditoria http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.security/doc/security/setting_up_auditing.htm
A autora mantém também os seguintes sites:
Esse tutorial lhe foi útil? Economizou tempo ou dinheiro? Que tal colaborar com o Cybershark? Qualquer dólar ajuda :) MUITO OBRIGADO!