Wie überwache ich sicherheitsrelevante Änderungen, die am Dateisystem meiner EC2 Linux Instance vorgenommen wurden?

Lesedauer: 4 Minute
0

Ich möchte das Linux-Audit-System einschalten, um Änderungen am Dateisystem auf meiner Instance der Amazon Elastic Compute Cloud (Amazon EC2) zu überwachen.

Kurzbeschreibung

Das Linux-Audit-System verfolgt den Zugriff auf wichtige Dateien und erstellt einen Audit Trail für den Fall, dass Dateien beschädigt oder andere unbeabsichtigte Änderungen vorgenommen werden. Sie können das Linux-Audit-System verwenden, um Änderungen an Dateien im Amazon Elastic File System (Amazon EFS) oder einem anderen Dateisystemtyp nachzuverfolgen. Wenn Sie das Audit-System so konfigurieren, dass es viele Arten von Informationen protokolliert, kann dies die Leistung Ihres lokalen Systems beeinträchtigen. Nachdem Sie das Linux-Audit-System auf Ihrem System installiert haben, können Sie Regeln erstellen, welche die Aktivität auf Ihrem Dateisystem überwachen.

Um alle Änderungen an Ihrem Dateisystem zu verfolgen, aktivieren Sie das Linux-Audit-System auf jedem Client, der Ihr Dateisystem mountet.

**Hinweis:**Wenn Sie die Komponente auditd ausführen, kann dies die Leistung Ihres Systems beeinträchtigen. Weitere Informationen finden Sie unter Gibt es irgendwelche Einbußen bei der Systemleistung, wenn die Überwachung aktiviert wird? auf der Red Hat Website.

Lösung

  1. Stellen Sie über SSH eine Verbindung zur EC2 Instance als ec2-Benutzer/Ubuntu/Root-Benutzer her. Ersetzen Sie ubuntu durch den Benutzernamen für Ihr AMI.

  2. Installieren Sie das Audit-Paket:

    RHEL und CentOS

    # sudo yum install audit

    SUSE Linux

    # sudo zypper install audit

    Ubuntu

    # sudo apt install auditd
  3. Erstellen Sie Regeln für das Linux-Audit-System. Um Regeln zunächst zu testen, verwenden Sie den Befehl auditctl, um sofort Regeln hinzuzufügen oder zu entfernen.

    **Hinweis:**Die folgenden Beispiele zeigen Regeln für ein EFS-Dateisystem.

    Verwenden Sie den folgenden Befehl, um alle Aktivitäten für den Mount-Speicherort Ihres Dateisystems zu überwachen:

    $ auditctl -w /home/ec2-user/efs -k efs_changes

    Im Folgenden finden Sie Beispiele für Aktionen, für deren Protokollierung Sie das Audit-System konfigurieren können:

    $ mkdir dir1
    $ touch file1
    $ touch file2
    $ mv file1 file3
    $ rm -f file2
    $ chmod 600 file3
    $ rmdir dir1
    $ rm -f file3
  4. Verwenden Sie als Nächstes den Befehl ausearch -k efs_changes, um das Prüfprotokoll einzusehen. Das folgende Beispiel zeigt das Audit-Protokoll für den Befehl mkdir, das auf den Beispieloperationen aus Schritt 3 basiert:

    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"

    Dieses Beispiel zeigt das Rohprüfprotokoll. Das Prüfprotokoll enthält eine große Menge an Informationen für jede Operation.

    Um eine kürzere Ausgabe im Audit-Protokoll zu erstellen, führen Sie den Befehl aureport aus. Diese Version zeigt immer noch alle Vorgänge:

    $ 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

    Denken Sie daran, dass Sie nicht alle Vorgänge protokollieren müssen. Sie können beispielsweise eine Regel erstellen, um nur Aktionen im Zusammenhang mit dem Löschen zu protokollieren:

    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

    Wenn Sie die Beispielbefehle aus Schritt 3 ausführen, werden nur die angegebenen Befehle im Zusammenhang mit dem Löschen im Protokoll angezeigt:

    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. Um die Regeln permanent zu machen, konfigurieren Sie diese in der Datei /etc/audit/audit.rules. Weitere Informationen finden Sie unter Festlegen permanenter Audit-Regeln und Steuerungen in der Datei /etc/audit/audit.rules auf der von Red Hat Website.

Ähnliche Informationen

System-Audits auf der Red Hat Website

Benutzerdefinierte Dateiüberwachung mit Auditd auf der Red Hat Website

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr