Ir para o conteúdo

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 OFICIALAtualizada há 3 anos