Como monitorar as alterações relacionadas à segurança feitas no sistema de arquivos em uma instância do Linux do EC2?
Quero habilitar o sistema Linux Audit para monitorar alterações no sistema de arquivos em uma instância do Amazon Elastic Compute Cloud (Amazon EC2).
Breve descrição
O sistema Linux Audit rastreia o acesso a arquivos importantes e cria uma trilha de auditoria em caso de corrupção de arquivos ou outras alterações não intencionais. Você pode usar o sistema Linux Audit para rastrear alterações em arquivos no Amazon Elastic File System (Amazon EFS) ou em qualquer outro tipo de sistema de arquivos. Se você configurar o sistema de auditoria para registrar muitos tipos de informações em log, isso poderá afetar o desempenho do sistema local. Depois de instalar o sistema Linux Audit no sistema, você poderá criar regras que monitoram a atividade no sistema de arquivos.
Para rastrear todas as alterações no sistema de arquivos, habilite o sistema Linux Audit em todos os clientes que montam seu sistema de arquivos.
Observação: executar o componente auditd pode afetar o desempenho do seu sistema. Para obter mais informações, consulte Is there any system performance penalty to enable auditing? no site da Red Hat.
Resolução
-
Conecte-se à sua instância do EC2 usando SSH como ec2-user/ubuntu/root user. Substitua ubuntu pelo nome de usuário da sua AMI.
-
Instale o pacote de auditoria:
RHEL e CentOS
# sudo yum install audit
SUSE Linux
# sudo zypper install audit
Ubuntu
# sudo apt install auditd
-
Crie regras para o sistema Linux Audit. Para testar as regras inicialmente, use o comando auditctl para adicionar ou remover regras imediatamente.
Observação: os exemplos a seguir mostram regras para um sistema de arquivos do EFS.
Use o comando a seguir para monitorar todas as atividades do local de montagem do sistema de arquivos:
$ auditctl -w /home/ec2-user/efs -k efs_changes
Veja a seguir exemplos de ações cujo registro em log pode ser configurado no sistema de auditoria:
$ mkdir dir1 $ touch file1 $ touch file2 $ mv file1 file3 $ rm -f file2 $ chmod 600 file3 $ rmdir dir1 $ rm -f file3
-
Use o comando ausearch -k efs_changes para visualizar o log de auditoria. O exemplo a seguir mostra o log de auditoria do comando mkdir, com base nos exemplos de operações da Etapa 3:
time->Thu Jan 9 21:30:59 2020 type=PROCTITLE msg=audit(1578605459.080:127433): proctitle=6D6B6469720064697231 type=PATH msg=audit(1578605459.080:127433): item=1 name="dir1" inode=4989235361872937641 dev=00:16 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=PATH msg=audit(1578605459.080:127433): item=0 name="/home/ec2-user/efs/audit" inode=12759736523397539955 dev=00:16 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=CWD msg=audit(1578605459.080:127433): cwd="/home/ec2-user/efs/audit" type=SYSCALL msg=audit(1578605459.080:127433): arch=c000003e syscall=83 success=yes exit=0 a0=7fffe6aca6e1 a1=1ff a2=1ff a3=7fffe6ac7720 items=2 ppid=18661 pid=2948 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=18369 comm="mkdir" exe="/bin/mkdir" key="efs_changes"
Este exemplo mostra o log de auditoria bruto. O log de auditoria contém uma grande quantidade de informações para cada operação.
Para criar uma saída mais curta no log de auditoria, execute o comando aureport. Essa versão ainda mostra todas as operações:
$ ausearch -k efs_changes | aureport -f -i 10118. 01/09/2020 21:36:29 file1 open yes /bin/touch ec2-user 127450 10119. 01/09/2020 21:36:29 dir1 mkdir yes /bin/mkdir ec2-user 127449 10120. 01/09/2020 21:36:29 file2 open yes /bin/touch ec2-user 127451 10121. 01/09/2020 21:36:29 file3 rename yes /bin/mv ec2-user 127452 10122. 01/09/2020 21:36:29 file2 unlinkat yes /bin/rm ec2-user 127453 10123. 01/09/2020 21:36:29 file3 fchmodat yes /bin/chmod ec2-user 127454 10124. 01/09/2020 21:36:29 dir1 rmdir yes /bin/rmdir ec2-user 127455 10125. 01/09/2020 21:36:35 file3 unlinkat yes /bin/rm ec2-user 127456
Lembre-se de que você não precisa registrar todas as operações em log. Por exemplo, você pode criar uma regra para registrar em log somente ações relacionadas a exclusão:
auditctl -a always,exit -F arch=b64 -F dir=/home/ec2-user/efs -S unlink -S unlinkat -S rename -S renameat -S rmdir -k efs_changes
Se você executar os comandos de exemplo da Etapa 3, somente os comandos relacionados a exclusão especificados aparecerão no log:
10126. 01/09/2020 22:17:08 file3 rename yes /bin/mv ec2-user 127519 10127. 01/09/2020 22:17:08 file2 unlinkat yes /bin/rm ec2-user 127520 10128. 01/09/2020 22:17:08 dir1 rmdir yes /bin/rmdir ec2-user 127521 10129. 01/09/2020 22:17:09 file3 unlinkat yes /bin/rm ec2-user 127522
-
Para tornar as regras persistentes, configure-as no arquivo /etc/audit/audit.rules. Para obter mais informações, consulte Defining persistent audit rules and controls in the /etc/audit/audit.rules file no site da Red Hat.
Informações relacionadas
System auditing no site da Red Hat
Customized file monitoring with Auditd no site da Red Hat
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos