PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AIDE läuft zu lange



AndreasMeier
28.10.09, 15:53
Hallo zusammen,

ich hab auf meinem Server AIDE zur Systemdatei-Überwachung laufen.
Aufgerufen wird AIDE über cron.daily um 6:25 Uhr.

Das Problem ist, dass AIDE dann so ziemlich den ganzen Tag läuft.
CPU-Auslastung dabei dann deutlich über 50%.

System ist Debian Lenny, CPU ist ein 1GHz-Pentium - ich weiß, nicht der Schnellste, aber er tuts soweit.
Installation lief über Apt, alles weitere ist Debian-Standard.

Ich hab ein RAID zur Datenablage dran hängen.
Damit dort die Dateien nicht immer mit gescannt werden, hab ich den Pfad in die aide.conf eingetragen, möchte nur Systemdateien scannen/überwachen.
Somit sollte der zu überprüfende Plattenplatz auf ca. 10 GB eingegrenzt sein.
Weitere Eingrenzungen sind aber noch über die Installation enthalten (spool etc.).

Die Datenbank ist ca. 150 MB groß.

Meine Fragen dazu sind jetzt:
1.) ist das normal, dass AIDE so lange läuft
2.) wie kann man AIDE weiter beschleunigen, ohne die Hardware auszutauschen

Danke und Gruß
Andreas

marce
28.10.09, 16:46
ob's bei Dir normal ist kann ich nicht sagen - Laufzeiten von ein paar Stunden kenne ich aber auch.

Du kannst versuchen, gestaffelte Durchläufe zu machen (also nicht jeden Tag das komplette System, sondern täglich nur die "relevanten" Dateien, 1x die Woche den Rest - je nach System und Anforderungen.

Zusätzlich kannst Du auch die Art der Überprüfung optimieren - per default macht AIDE AFAIK einen md5-Hash, der braucht natürlich Rechenzeit und verursacht ordentlich Last - evtl. auch da für die Daily-Checks auf was weniger lastintensives wechseln und nur 1x die Woche einen komplett-Scan.

Das alles kostet zwar auch Sicherheit - man muss halt immer abwägen, was man haben will und was man sich leisten kann...

AndreasMeier
29.10.09, 09:51
Hi Marce,

danke für Deine Antwort.
Dass es bei Dir auch ein paar Stunden läuft, beruhigt mich erstmal (auf welcher CPU?).
Aber es macht natürlich keinen Sinn, dass AIDE länger als nen Tag braucht, und dann der neue Job schon ansteht.

Frage:
Wie kann ich gestaffelte Läufe einrichten?
Ich hab in der cron.daily die aide-Startdatei. Die zieht sich die conf und legt los.

Zweite Frage wäre, welchen Prüfalgorithmus Du als "weniger lastintensiv" ansiehst ?

Das unter den Einschränkungen die Sicherheit auch eingeschränkt wird, ok, ist klar. Aber immer noch besser, als gar kein Scan.

Danke und Gruß
Andreas

marce
29.10.09, 10:02
CPU bei uns war z.B. Dual-DualCore mit 3.2GHz XEON

wir haben bei uns eben mehrere AIDE-Konfigurationen und rufen dann per Cron (halt ded. definiert per crontab -e eingestellte und nicht cron-daily) jeweil die entsprechende Konfigration auf.

Weniger Lastintensiv ist so ziemlich alles andere :-) - schau Dir die möglichen Checks mal an und überlege, mit welchem Test Du am besten leben kannst, was Deinen Anforderungen oder Deinem Use-Case entspricht.


Noch als Gedankenanstoß: Sicherheit mit Online-Tools ist immer so eine Sache - sollte das System kompromitiert sein kannst Du Dich auf das, was ein Online-AIDE erzählt auch nicht 100% verlassen...

AndreasMeier
29.10.09, 10:14
CPU bei uns war z.B. Dual-DualCore mit 3.2GHz XEON


Ok, verständlich, dass damit mehr geht :rolleyes:




wir haben bei uns eben mehrere AIDE-Konfigurationen und rufen dann per Cron (halt ded. definiert per crontab -e eingestellte und nicht cron-daily) jeweil die entsprechende Konfigration auf.

Nehm ich dafür dann die Startdatei aus cron.daily raus, kopiere sie evtl. mehrfach, ändere sie für die unterschiedlichen Konfigs einfach ab und ruf dann die Startdateien mit Cronjob auf?

Oder wird die Startdatei dann gar nicht verwendet und es wird einfach nur per Kommandozeilen-Aufruf im Cronjob gestartet ?



Danke und Gruß
Andreas

marce
29.10.09, 10:27
???

bei uns sieht's z.B. so aus:

...
ssh -o ServerAliveInterval=60 $ip "aide --check --config=/tmp/aide.local.cfg > /tmp/aide.local.log"
...

davor wird von einem zentralen Monitoring-Server eine aide.local.cfg auf das System kopiert und eben von dem System aus der Check angestoßen, ... - das Prinzip sollte aber klar sein.

AndreasMeier
29.10.09, 15:43
Ja, dass meinte ich mit Kommandozeilen-Aufruf.

Danke .

derRichard
29.10.09, 16:41
???

bei uns sieht's z.B. so aus:

...
ssh -o ServerAliveInterval=60 $ip "aide --check --config=/tmp/aide.local.cfg > /tmp/aide.local.log"
...

davor wird von einem zentralen Monitoring-Server eine aide.local.cfg auf das System kopiert und eben von dem System aus der Check angestoßen, ... - das Prinzip sollte aber klar sein.
hi!

den aufruf von aide via ssh finde ich sehr cool.
machst du das als root?

//richard

marce
30.10.09, 07:06
im konkreten Fall läuft es als root - ist zwar nicht optimal, in unserem Fall aber vertretbar. Klar wäre eine sudo-Lösung aus Sicherheitsgründen optimaler...

Nachdem Durchlauf kopieren wir dann das AIDE-Log wieder zurück auf den Check-Server und erstellen daraus dann eine Übersicht evtl. Änderungen über defninierte Serverpools...