Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
linux:aide [09.04.2025 18:37. ] – Aide v0.19 djangolinux:aide [05.06.2025 20:16. ] (aktuell) – [Fazit und Ausblick] django
Zeile 55: Zeile 55:
  
 ==== Installation ==== ==== Installation ====
-AIDE kann unter Arch Linux nicht einfach aus dem Core- oder Extras-Repository mit Hilfe des Paketverwaltungswerkzeugs **''pacman''** installiert werden. Jedoch gibt es aus dem **[[https://aur.archlinux.org/packages?O=0&K=aide|Arch User Repository]]** kurz **AUR**, dem Community verwaltetes Repository für Benutzer von Arch Linux, eine Paketbeschreibungen (**''PKGBUILDs''**), mit denen Sie ein Paket aus dem Quellcode mit **''makepkg''** kompilieren und dann über **''pacman''** installieren kann. Möchte man auf den entsprechenden Zielsystemen die hierzu nötigen Kompilierungswerkzeuge nicht vorhalten, so kann man das Paket auch auf einem entsprechenden geschützten Buildhost erstellen und dann lokal, auf dem entsprechendem Zielsystem mit Hilfe von **''pacman''** installieren.+AIDE kann unter Arch Linux __nicht__ einfach aus dem Core- oder Extras-Repository mit Hilfe des Paketverwaltungswerkzeugs **''pacman''** installiert werden. Jedoch gibt es aus dem **[[https://aur.archlinux.org/packages?O=0&K=aide|Arch User Repository]]** kurz **AUR**, dem Community verwaltetes Repository für Benutzer von Arch Linux, eine Paketbeschreibungen (**''PKGBUILDs''**), mit denen Sie ein Paket aus dem Quellcode mit **''makepkg''** kompilieren und dann über **''pacman''** installieren kann. Möchte man auf den entsprechenden Zielsystemen die hierzu nötigen Kompilierungswerkzeuge nicht vorhalten, so kann man das Paket auch auf einem entsprechenden geschützten Buildhost erstellen und dann lokal, auf dem entsprechendem Zielsystem mit Hilfe von **''pacman''** installieren.
  
 Da bei der Installation bzw. beim Kompilieren die Integrität des Quell-Archives an Hand dessen PGP-Signatur geprüft wird, ist es notwendig dass der PGP-Schlüssel mit der Key-ID **''F6947DAB68E7B931''** von  **[[mailto:hannes@vonhaugwitz.com|Hannes von Haugwitz]]** in unserem Keyring vorhanden ist. Hierzu importieren wir zuerst den betreffenden Public-Key von Hannes: Da bei der Installation bzw. beim Kompilieren die Integrität des Quell-Archives an Hand dessen PGP-Signatur geprüft wird, ist es notwendig dass der PGP-Schlüssel mit der Key-ID **''F6947DAB68E7B931''** von  **[[mailto:hannes@vonhaugwitz.com|Hannes von Haugwitz]]** in unserem Keyring vorhanden ist. Hierzu importieren wir zuerst den betreffenden Public-Key von Hannes:
Zeile 1929: Zeile 1929:
 </WRAP>  </WRAP> 
   * Logging : Der Parameter **''report_url''** legt fest wie **AIDE** Ergebnisse seiner Arbeit dokumentieren soll. \\ **''report_url=file:@@{LOGDIR}/aide.log''** definiert z.B. - sofern als **''LOGDIR %%==%% /var/log/''** gesetzt ist, dass die Ergebnisse in der Logdatei **''/var/log/aide.log''** festgehalten werden. \\ **''     * Logging : Der Parameter **''report_url''** legt fest wie **AIDE** Ergebnisse seiner Arbeit dokumentieren soll. \\ **''report_url=file:@@{LOGDIR}/aide.log''** definiert z.B. - sofern als **''LOGDIR %%==%% /var/log/''** gesetzt ist, dass die Ergebnisse in der Logdatei **''/var/log/aide.log''** festgehalten werden. \\ **''  
-report_url=stdout''** wiederum  definiert als Ausgabe die Konsole. Dies kann hilfreich sein, wenn auf einem Host manuell der Aufruf von **''aide''** auf der Konsole ausgegeben werden soll. \\ **''report_url=syslog:LOG_AUTH''** definiert als Logziel das Sys(tem)log|journal. \\ <WRAP center round important 100%>Wenn man sowohl **''report_url = stdout''** als auch **''report_url = syslog''** in der Aide-Konfiguration vermerkt, protokolliert Aide den Bericht sowohl nach **stdout** als auch nach **syslog**. Der systemd-Timer leitet **stdout** normalerweise auch an das Journal weiter, sodass die Berichtsausgabe dabei zweimal in syslog erscheint!</WRAP>+report_url=stdout''** wiederum  definiert als Ausgabe die Konsole. Dies kann hilfreich sein, wenn auf einem Host manuell der Aufruf von **''aide''** auf der Konsole ausgegeben werden soll. \\ **''report_url=syslog:LOG_AUTH''** definiert als Logziel das Sys(tem)log|journal. \\
   * Anschließend sollte man sich Gedanken machen, welche Hashingalgorithmen verwendet werden sollen. In den Standardeinstellungen bildet AIDE sieben verschiedene Prüfsummen für jede überwachte Datei. Zu beachten ist hierbei ggf. ob der bei der Erzeugung der Hash-Werte benötige Rechenaufwand gerechtfertigt ist, oder ob man auf einige davon aus Performancegründen besser verzichtet! In der Regel sollten eigentlich zwei verschiedene Hash-Werte Pro Datei ausreichen. \\ \\   * Anschließend sollte man sich Gedanken machen, welche Hashingalgorithmen verwendet werden sollen. In den Standardeinstellungen bildet AIDE sieben verschiedene Prüfsummen für jede überwachte Datei. Zu beachten ist hierbei ggf. ob der bei der Erzeugung der Hash-Werte benötige Rechenaufwand gerechtfertigt ist, oder ob man auf einige davon aus Performancegründen besser verzichtet! In der Regel sollten eigentlich zwei verschiedene Hash-Werte Pro Datei ausreichen. \\ \\
   * Ferner kann über Regelsätze definiert werden welche Eigenschaften (Parameter) von Verzeichnissen und/oder Dateien überwacht werden sollen. Hier können entsprechende Vorgaben in der Default-Konfigurationsdatei übernommen bzw. auch ganz eigene individuelle Rule-Sets definiert werden. Folgende Parameter können dabei bei der Bewertung und Überwachung herangezogen werden:   * Ferner kann über Regelsätze definiert werden welche Eigenschaften (Parameter) von Verzeichnissen und/oder Dateien überwacht werden sollen. Hier können entsprechende Vorgaben in der Default-Konfigurationsdatei übernommen bzw. auch ganz eigene individuelle Rule-Sets definiert werden. Folgende Parameter können dabei bei der Bewertung und Überwachung herangezogen werden:
Zeile 2684: Zeile 2684:
 ===== Fazit und Ausblick ===== ===== Fazit und Ausblick =====
 <WRAP center round tip 80%> <WRAP center round tip 80%>
-Mit **AIDE** haben wir nun ein Instrument an der Hand, mit der wir die Dateisysteme unserer Host einfach auf Anomalien hin überwachen kann. Mit Hilfe unseres Ansible-Playbooks können wir nun auch nicht nur die Installation und Konfiguration des Aide-Daemon erledigen, sondern auch einfach die jeweiligen AIDE-Datenbanken der Hosts nach Änderungen durch den Admin bzw. bei Updates oder Ansible-Läufen, aktualisieren und automatisiert zum zentralen internen Repository-/Spiegelserver transferieren. Somit erübrigt sich ein Aufwändiges Signieren oder Wegsichern der Datenbank auf RO-Devices. Die AIDE-Datenbanken wir somit getrennt von den verwalteten Systemen gespeichert und ist folglich vor ungewollten Änderungen geschützt, sollte ein Remote-System kompromittiert worden sein! +Mit **AIDE** haben wir nun ein Instrument an der Hand, mit der wir in der Lage sind die Dateisysteme unserer Host einfach auf Anomalien hin zu überwachen. Mit Hilfe unseres Ansible-Playbooks können wir nun auch nicht nur die Installation und Konfiguration des Aide-Daemon erledigen, sondern auch einfach die jeweiligen AIDE-Datenbanken der Hosts nach Änderungen durch den Admin bzw. bei Updates oder Ansible-Läufen, aktualisieren und automatisiert zum zentralen internen Repository-/Spiegelserver transferieren. Somit erübrigt sich ein Aufwändiges Signieren oder Wegsichern der Datenbank auf RO-Devices. Die AIDE-Datenbanken wir somit getrennt von den verwalteten Systemen gespeichert und ist folglich vor ungewollten Änderungen geschützt, sollte ein Remote-System kompromittiert worden sein! 
  
 In diesem Konfigurationsbeispiel wurde lediglich aufgezeigt, wie man einfach mit Hilfe von Ansible installieren, konfigurieren und Datenbanken der Host erstellen und weg sichern kann. Die AIDE-Protokolldateien müssen nun natürlich entsprechend überwacht und ausgewertet werden! Diesen Aspekt werden wir uns noch eingehend bei unserer Installation und Konfiguration eines zentralen Logauswertungstool wie z.B. [[centos:web_c7:graylog2|graylog]]  In diesem Konfigurationsbeispiel wurde lediglich aufgezeigt, wie man einfach mit Hilfe von Ansible installieren, konfigurieren und Datenbanken der Host erstellen und weg sichern kann. Die AIDE-Protokolldateien müssen nun natürlich entsprechend überwacht und ausgewertet werden! Diesen Aspekt werden wir uns noch eingehend bei unserer Installation und Konfiguration eines zentralen Logauswertungstool wie z.B. [[centos:web_c7:graylog2|graylog]] 
  • linux/aide.1744223858.txt.gz
  • Zuletzt geändert: 09.04.2025 18:37.
  • von django