Sicherheit unter Linux

Überwachen Sie die Aktivitäten der Benutzer, um festzustellen, ob das System gehackt wurde

Wenn Sie vermuten, dass Sie gehackt wurden, müssen Sie zunächst sicherstellen, dass der Eindringling nicht in Ihr System eingeloggt ist. w enthält die erste zusätzliche Informationen:

# w



Die erste Spalte zeigt den Nutzernamen, in diesem Fall michi, die zweite Spalte TTY zeigt das Terminal.
in diesem Fall gibt es keine Remote-Benutzer, aber wenn es welche gäbe, könnten Sie dort IP-Adressen sehen.
Die Login@ Spalte zeigt die Anmeldezeit, die Spalte JCPU fasst die Protokolle des im Terminal oder TTY ausgeführten Prozesses zusammen.

In der #dmesg kann ebenfalls nach Daten gesucht werden.

michi@localhost ~ $ dmesg | grep michi
[ 20.606950] elogind-daemon[2089]: New session 1 of user michi.
[ 1210.617693] elogind-daemon[2089]: New session 2 of user michi.

Der Befehl last zeigt die letzten Logins an

Die Ausgabe zeigt den Benutzernamen, das Terminal, die Quelladresse, die Anmeldezeit und die Gesamtzeitdauer der Sitzung an.

Um die bisher eingeloggten User anzeigen zu lassen kann #dmesg genutzt werden.

Wenn Sie eine bösartige Aktivität eines bestimmten Benutzers vermuten, können Sie den Bash-Verlauf überprüfen, sich als der Benutzer anmelden, den Sie untersuchen möchten, und den Befehl history ausführen wie im folgenden Beispiel:


Im Gegensatz zu klassischen Viren produziert eine moderne Hack-Technik möglicherweise keine großen Pakete, wenn der Hacker Aufmerksamkeit vermeiden möchte. Überprüfen Sie die Befehle sorgfältig und verwenden Sie den Befehl lsof -p für verdächtige Prozesse. Mit dem Befehl lsof können Sie sehen, welche Dateien geöffnet sind und welche Prozesse sie haben.
Bitte beachten: unter Gentoo muss das Tool installiert werden.

Um Prozesse zu überprüfen gibt es natürlich den Befehl ps auch.
# ps -axu

Die obige Ausgabe von ps -axu zeigt dem Benutzer in der ersten Spalte (root), die Process ID (PID), die eindeutig ist, die CPU und Speichernutzung durch jeden Prozess, Größe des virtuellen Speichers und des residenten Satzes, Terminal, der Prozessstatus, seine Startzeit und der Befehl, der es gestartet hat.
Wenn Sie etwas Ungewöhnliches feststellen, können Sie dies mit lsof mit der PID-Nummer überprüfen.

Rootkit


__________________________________
Auszug wikipedia

Ein Rootkit (englisch etwa: „Administratorenbausatz“; root ist bei unixähnlichen Betriebssystemen der Benutzer mit Administratorrechten) ist eine Sammlung von Softwarewerkzeugen, die nach dem Einbruch in ein Softwaresystem auf dem kompromittierten System installiert wird, um zukünftige Anmeldevorgänge (Logins) des Eindringlings zu verbergen und Prozesse und Dateien zu verstecken.

Der Begriff ist heute nicht mehr allein auf unixbasierte Betriebssysteme beschränkt, da es längst auch Rootkits für andere Systeme gibt. Antivirenprogramme versuchen, die Ursache der Kompromittierung zu entdecken. Zweck eines Rootkits ist es, Schadprogramme („malware“) vor den Antivirenprogrammen und dem Benutzer durch Tarnung zu verbergen.
_________________________________________________________________________________

Um ein check rootkit auszuführen muss unter Gentoo das Tool installiert werden.

In diesem Check wurde Nichts gefunden

Das Programm startet und in wenigen Sekunden seine Arbeit erledigen lässt.
Automatische Rootkit Tests lassen sich über einen Cron-Job einrichten (z.B. Täglich um 3:00 in der Früh).
Hierzu müssen wir jedoch auch die Datei /etc/chkrootkit.conf anpassen und den Wert RUN_DAILY von false auf true setzen.

0 3 * * * root (cd /usr/sbin; ./chkrootkit 2>&1 | mail -s „chkrootkit output“ ihre@email.de)

Dadurch wird man bei Warnungen einfach per E-Mail kontaktiert.

2. RKhunter (Rootkit Hunter)

Mit rkhunter können sie Rootkits, Hintertüren, Exploits auf einem Linux System aufspüren. Es vergleicht dabei vorhandene Systemdateien mit einem MD5-hash und sucht somit nach kompromittierten Dateien. Darüber hinaus durchsucht es das System nach falschen Dateirechten, versteckten Dateien und verdächtigen Code im Kernel. Im Vergleich zu chkrootkit geht rkhunter viel gründlicher vor und durchsucht noch vieles mehr.

Danach sollte man rkhunter Updaten, da dass Installationspaket schon mehrere Wochen alt sein kann.
# rkhunter –update
Einfach anzuwenden indem man mit dem Befehl mit dem Flag -c anführt für einen kompletten Systemscan (complete)
# rkhunter -c 
Wie angezeigt kann das Ergebnis unter /var/log/rkhunter.log abgerufen werden.
Dort gibt es auch weitere Infos:

[20:10:46] The file of stored file properties (rkhunter.dat) does not exist, and should be created. To do this type in ‚rkhunter –propupd‘.
[20:10:46] Info: The file properties check will still run as there are checks that can be performed without the ‚rkhunter.dat‘ file.
[20:10:46]
[20:10:46] Warning: WARNING! It is the users responsibility to ensure that when the ‚–propupd‘ option
is used, all the files on their system are known to be genuine, and installed from a
reliable source. The rkhunter ‚–check‘ option will compare the current file properties
against previously stored values, and report if any values differ. However, rkhunter
cannot determine what has caused the change, that is for the user to do.

Übersetzung:

[20:10:46] Die Datei mit den gespeicherten Dateieigenschaften (rkhunter.dat) existiert nicht und sollte erstellt werden. Geben Sie dazu ‚rkhunter –propupd‘ ein. [20:10:46] Info: Die Prüfung der Dateieigenschaften wird trotzdem ausgeführt, da es Prüfungen gibt, die ohne die Datei ‚rkhunter.dat‘ durchgeführt werden können. [20:10:46] [20:10:46] Warnung: WARNUNG! Es liegt in der Verantwortung des Benutzers sicherzustellen, dass wenn die Option „–propupd“ verwendet wird verwendet wird, sind alle Dateien auf ihrem System als echt bekannt und werden von einem installiert Vertrauenswürdige Quelle. Die Option rkhunter ‚–check‘ vergleicht die aktuellen Dateieigenschaften mit zuvor gespeicherten Werten vergleichen und melden, wenn sich Werte unterscheiden. Allerdings, Rhunter kann nicht feststellen, was die Änderung verursacht hat, das muss der Benutzer tun.

Netstat: Der traditionelle Weg, geöffnete Ports anzuzeigen, führt über das Tool netstat . In aktuellen Linux-Distributionen ist es nicht mehr vorinstalliert, liegt aber im Paket „net-tools“ in den verbreiteten Linux-Distributionen bereit

localhost /home/michi # emerge -av netstat-nat

 * IMPORTANT: 14 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] net-misc/netstat-nat-1.4.10::gentoo  82 KiB

Total: 1 package (1 new), Size of downloads: 82 KiB

Would you like to merge these packages? [Yes/No] 

netstat liefert eine tabellarische Übersicht zu Protokollart (TCP oder UDP), verwendeten Netzwerkadressen und verbundenen Adresse bei aktiven Verbindungen. In den letzten beiden Spalten namens „PID/Programname“ und „State“ zeigt das Tool Status und Prozessnamen der Dienste. Steht beim Status „LISTEN“, dann wartet der Prozess auf eingehende Verbindungen. Die Portzuordnung erfolgt in der Spalte „Local Address“ hinter einem Doppelpunkt. Steht hier also beispielsweise „0.0.0.0:22“, bedeutet das, dass ein Dienst auf allen verfügbaren Netzwerkadressen („0.0.0.0“) auf dem Port 22 lauscht. Dies ist üblicherweise der SSH-Server und am Ende der Zeile werden hier eine Prozessnummer und der Prozessname angegeben sein

Infos zur Konfiguration der SSH Datei gibt es unter https://wiki.gentoo.org/wiki/Security_Handbook/Securing_services#SSH

Clamav

Das Antivirenprogramm unter Linux ist Clamav.

Hierbei handelt es sich um einen Open Source Antivirus Engine für Trojaner, Virus, Malware und Schadhaften Code. Da Clamav auch hauptsächlich nach Windows Viren scannt ist es auf jedem E-Mail Server eine pflicht diesen zu nutzen, er hat eine sehr hohe Erkennungsrate und durchforstet eben neben klassischen Dateien auch Emails.

Es ist danach sinnvoll die Updates der Viren Datenbank einzuspielen. Zuerst einmal stoppen des laufenden Prozesses und danach Update der Datenbank.
# /etc/init.d/clamd stop
# freshclam
Danach läuft freshclam (welche für Updates zuständig ist).


mit clamscan können Sie dann die Virensuche starten.

Bitte beachten: um die Platte komplett zu scannen muss in das Root Verzeichnis gewechselt werden und dann mir clamscan -r der Scan gestaretet werden.

DOC zu clamav: https://docs.clamav.net/