Wenn Sie mehrere Betriebssysteme verwenden, ist es immer ideal, über Tools zu verfügen, mit denen wir eine zentrale und direkte Kontrolle darüber haben. Eines der heikelsten Themen ist zweifellos die Sicherheit und Integrität der Dateien, da dies uns die Verfügbarkeit und Zuverlässigkeit dieser garantiert.
Heute wird TechnoWikis über ein praktisches Tool namens AIDE sprechen, mit dem es möglich sein wird, die Integrität einer Datei oder eines Verzeichnisses in den verschiedenen Linux-Distributionen zu überprüfen und somit die vollständige Zuverlässigkeit der ausgewählten Datei sicherzustellen.
Der Vorgang besteht in der Erstellung einer Datenbank, die anhand der Regeln für reguläre Ausdrücke erstellt wurde, die in den Konfigurationsdateien verfügbar sind. Nach der Initialisierung dieser Datenbank kann die Integrität der erforderlichen Dateien überprüft werden.
- Dateityp
- erlaubt
- Benutzer und Gruppe
- Dateigröße
- Mtime, Ctime und Atime
- Wachstumsgröße
- Anzahl der Links und Linkname.
Ebenso erstellt AIDE eine kryptografische oder Hash-Prüfsumme jeder Datei unter Verwendung eines oder einer Kombination der folgenden Message Digest-Algorithmen: sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32 und zusätzlich die Attribute acl. xattr, selinux und e2fsattrs können verwendet werden, wenn sie während der Kompilierungszeit explizit aktiviert werden.
AIDE verfügt über mehrere Message Digest-Algorithmen, mit denen die Integrität der Datei überprüft wird. Alle gängigen Dateiattribute können auch auf darin enthaltene Inkonsistenzen überprüft werden. AIDE kann Datenbanken älterer oder neuerer Versionen lesen.
- Kompatible Algorithmen mit Zusammenfassung der Meldungen wie: md5, sha1, rmd160, tigger, crc32, sha256, sha512, Whirlpool (zusätzlich mit libmhash: gost, haval, crc32b)
- Unterstützte Dateiattribute: Dateityp, Berechtigungen, Inode, Uid, Gid, Linkname, Größe, Blocknummer, Anzahl der Links, Mtime, Ctime und Atime
- Es bietet Unterstützung für Posix ACL, SELinux, XAttrs und erweiterte Dateisystemattribute, wenn die Unterstützung zur Vereinfachung in reine Textkonfigurationsdateien und Datenbanken kompiliert wird
- Es unterstützt reguläre Ausdrücke, um Dateien und Verzeichnisse selektiv ein- oder auszuschließen, um überwacht zu werden
Es besteht die Möglichkeit, die gzip-Datenbank zu komprimieren, wenn die zlib-Unterstützung für Client / Server-Überwachungskonfigurationen in eine unabhängige statische Binärdatei kompiliert wird.
- Debian
- Gentoo
- MacPorts
- FreeBSD
- CentOS / RedHat
- IPCop
- OpenSUSE
Es muss klargestellt werden, dass AIDE keine absolute Sicherheit für die Änderung einer Datei bieten kann, da die AIDE-Datenbank und / oder die Binärdateien wie jede andere Systemdatei auch mit den entsprechenden Tools geändert werden können.
1. Installieren von AIDE unter Linux
AIDE ist in offiziellen Repositorys für die bekanntesten Linux-Distributionen verfügbar. Dazu können wir es mit einem Paket-Manager entsprechend der ausgewählten Distribution wie folgt installieren:
apt install aide (Debian / Ubuntu) yum install aide (CRHEL / CentOS) dnf install aide (fedora) zypper install aide (OpenSUSE) emerge aide (Gentoo)
In diesem Fall verwenden wir Ubuntu. Dort geben wir den Buchstaben S ein, um den Download und die Installation von AIDE zu akzeptieren. Nach der Installation sehen wir Folgendes:
Wie wir sehen können, ist die Hauptkonfigurationsdatei /etc/aide/aide.conf. Zur Visualisierung der installierten Version sowie der Kompilierungszeitparameter können wir Folgendes ausführen:
Adjutant -v
2. Zugriff auf die AIDE Linux-Konfigurationsdatei
Wir können auf die AIDE-Konfigurationsdatei zugreifen, indem wir die folgende Zeile mit dem gewünschten Editor ausführen:
nano /etc/aide/aide.conf
Wir werden folgendes sehen:
In dieser Datei finden Sie Anweisungen, die den Speicherort der Datenbank, den Speicherort des Berichts, die festgelegten Regeln, die Verzeichnisse oder Dateien, die in der Datenbank enthalten sein werden, und vieles mehr definieren.
3. Wie man AIDE-Regeln verwaltet und versteht
AIDE verwaltet Regeln wie:
Aus diesen Regeln können benutzerdefinierte Regeln in der AIDE-Konfigurationsdatei erstellt werden. Beispielsweise können wir die folgende Regel erstellen:
PERMS = p + u + g + acl + selinux + xattrs
In diesem Fall wird die PERMS-Regel für die Zugriffssteuerung implementiert, die jede Änderung in der Datei oder den Verzeichnissen entsprechend den Datei- oder Verzeichnisberechtigungen, Benutzer-, Gruppen-, Zugriffssteuerungsberechtigungen, Dateiattributen und mehr erkennt.
Eine andere Regel, die wir implementieren können, überprüft nur den Inhalt der Datei und den ausgewählten Dateityp. Beispiel:
INHALT = sha256 + ftype
Wenn wir den erweiterten Inhalt, den Dateityp und den Zugriff überprüfen möchten, können wir eine Regel erstellen wie:
CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
Eine Regel, die uns hilft, Änderungen im Verzeichnis nur auf Datenebene zu erkennen, lautet:
NUR DATEN = p + n + u + g + s + acl + selinux + xattrs + sha256
Wir müssen diese Regeln im unteren Teil der AIDE-Konfigurationsdatei hinzufügen:
Speichern Sie die Änderungen mit den Tastenkombinationen Strg + O und beenden Sie den Vorgang mit Strg + X.
4. Definieren von Regeln zum Anzeigen von AIDE-Dateien und -Verzeichnissen
Mit AIDE ist es auch möglich, Regeln für bestimmte zu analysierende Dateien oder Verzeichnisse zu erstellen. Dazu greifen wir erneut auf den Pfad /etc/aide/aide.conf zu und können folgende Regeln erstellen:
/root/..* PERMS (Diese Regel überprüft die Berechtigungen im Stammverzeichnis.) / root / CONTENT_EX (Diese Regel überprüft alle Dateien im Stammverzeichnis, bevor Änderungen vorgenommen werden.) / etc / DATAONLY (Mit dieser Regel können wir Änderungen im Verzeichnis / etc erkennen.)
Wir können die Änderungen in der AIDE-Konfigurationsdatei speichern.
5. Verwenden von AIDE zum Überprüfen der Integrität von Dateien und Verzeichnissen unter Linux
Nachdem die mit AIDE zu verwendenden Regeln definiert wurden, besteht der nächste Schritt darin, die Datenbank anhand der Prüfungen zu erstellen, die mit dem Parameter –init durchgeführt werden.
Mit dem folgenden Befehl wird eine Datenbank erstellt, die alle in der AIDE-Konfigurationsdatei definierten Dateien enthält:
Aide --init
Ändern Sie anschließend den Namen der Datenbank in /var/lib/aide/aide.db.gz, bevor Sie fortfahren. Hierzu können Sie den folgenden Befehl verwenden:
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Es wird empfohlen, diese Datenbank an einen sicheren Ort zu verschieben. Wir müssen jedoch sicherstellen, dass die Konfigurationsdatei aktualisiert wird, damit sie von dort gelesen werden kann.
Als nächstes sollten wir eine neue Aide-Konfigurationsdatei kompilieren. Wir führen den folgenden Befehl aus:
update-aide.conf
Jetzt kopieren wir diese neue Datei in das Verzeichnis / etc / aide:
cp /var/lib/aide/aide.conf.autogenerated/etc/aide/aide.conf
Nachdem die Datenbank erstellt wurde, können wir die Integrität der Dateien und Verzeichnisse mit dem Flag -check überprüfen:
Gehilfe --check
6. Wie bewertet man AIDE?
Um die Funktionsweise von AIDE zu testen, führen wir die folgenden Zeilen aus:
mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
Mit ihnen erstellen wir ein neues Verzeichnis und Dateien im System. Später führen wir die folgende Zeile zur Validierung und Verifizierung aus:
Helfer -check
Das Ergebnis wird folgendes sein:
Dort können wir sehen, dass ein Unterschied in der Datei gefunden wird und welche Art von Aktion es war, Hinzufügen, Löschen oder Ändern.
Auf diese Weise ist AIDE ein nützliches Werkzeug, um die im System aufgetretenen Änderungen in Echtzeit zu bestimmen.