Como monitorar as alterações relacionadas à segurança feitas no sistema de arquivos em uma instância do Linux do EC2?

4 minuto de leitura
0

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

  1. 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.

  2. Instale o pacote de auditoria:

    RHEL e CentOS

    # sudo yum install audit

    SUSE Linux

    # sudo zypper install audit

    Ubuntu

    # sudo apt install auditd
  3. 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
  4. 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
  5. 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

AWS OFICIAL
AWS OFICIALAtualizada há 7 meses