Welche Einrichtung zur automatischen Benachrichtigung / Erkennung von Eindringlingen eignet sich für die Verwendung auf dem Desktop zu Hause?

27

Ich benutze Linux seit einiger Zeit und habe immer das Bedürfnis nach einer passiven Software / Skript-Einrichtung, die mich über verdächtige Netzwerkaktivitäten wie Scans, fehlgeschlagene Anmeldeversuche usw. im laufenden Betrieb per E-Mail oder per E-Mail benachrichtigen kann visuelle / akustische Benachrichtigungen.

Ich weiß, wie man in Protokollen und so weiter nachschaut, aber es ist größtenteils ein manueller, zeitaufwändiger Prozess. Ich bin auf der Suche nach etwas, das halb- / vollautomatisch mit einigen guten Funktionen zum Analysieren von Protokollen ist.

Ich kenne IDS-Systeme zum Überwachen von Netzwerken wie Snort usw., aber sie sind für den durchschnittlichen Heimanwender ein Overkill und ein mühsamer Prozess für die Inbetriebnahme.

Was ist eine gute Option für mich als Heimanwender?

irenicus09
quelle
Wie definieren Sie "passiv"? Wie in etwas, das Sie hin und wieder selbst laufen, um zu sehen, ob etwas faul los war?
Nanne

Antworten:

15

Eine einfache und effektive allgemeine Lösung ist die Verwendung von Logcheck .

sudo apt-get install logcheck
[edit /etc/logcheck/logcheck.conf to your liking]

logcheck scannt regelmäßig alle Protokolle auf effiziente Weise (beginnend dort, wo es das letzte Mal aufgehört hat ), filtert, was es als normal ansieht, und sendet optional E-Mails mit Warnungen, die nicht den normalen / Routinemustern entsprechen.

Die Hauptidee ist es, auf das Auftreten schwerwiegender Einträge in Ihren Protokolldateien zu achten, alle, die ganze Zeit, damit Sie dies nicht tun müssen.

logcheck ist sehr konfigurierbar (man logcheck). Sie können alles konfigurieren, einschließlich:

  • Häufigkeit der Kontrollen
  • Welche Protokolldateien werden überprüft?
  • was als normal gilt vs nicht
  • wohin sollen die Warnungen (ungewöhnliche Ereignisse) per E-Mail gesendet werden?

und mehr. Ihre Ignoriermuster (normal / routinemäßig) befinden sich in mehreren Dateien unter /etc/logcheck/ignore.d.*, und Sie können sie an Ihre Bedürfnisse anpassen. Hauptsächlich möchten Sie vielleicht Ihre eigenen Muster hinzufügen, um sie zu ignorieren. Das Ubuntu-Standardpaket enthält bereits einen umfangreichen Satz von Dateien mit Ignoriermustern für viele Dienste. Daher müssen Sie nicht viel hinzufügen, es sei denn, Ihr System ist in Bezug auf die Ausführung ungewöhnlich. Es gibt drei vorkonfigurierte Sätze von Ignorier- Dateiprofilen : ignore.d.workstation , ignore.d.server und ignore.d.paranoid, aus denen Sie auswählen können.

Die Hauptidee hinter logcheck ist, dass die verschiedenen Dienste, die auf einem System ausgeführt werden, bereits abnormale Ereignisse protokollieren. Beispiel: sshd oder pam protokollieren bereits Authentifizierungsfehler. Die wichtigsten fehlenden Komponenten sind also:

  • Filtern, was normal ist
  • Der Alarmierungsdienst

Beides wird von logcheck in einem praktischen Paket bereitgestellt. Sie können logcheck mit jeder anderen Protokollierung kombinieren . Zum Beispiel iptables kann so konfiguriert werden syslog alle Netzwerkverbindungsversuche , die durch Hinzufügen der Regeln nicht explizit zugelassen sind:

 iptables -A input -j LOG
 iptables -A input -j DROP

sofort nach all den Regeln erlauben.

Ich finde, dass Logcheck viel hilfreicher ist als Logwatch (wie in anderen Antworten vorgeschlagen), da es eine große Anzahl von Regeln enthält, mit denen ignoriert werden kann, was als normale Aktivität angesehen wird. Das Ergebnis ist ein viel höheres Signal / Rausch-Verhältnis in den per E-Mail versendeten Warnungen. YMMV.

Ein weiterer Vorteil von logcheck ist, dass es orthogonal zu jedem Dienst ist, der protokolliert, sodass keine Funktionsduplikationen auftreten. Wann immer Sie einen neuen Dienst hinzufügen, der verwendet wird syslog, um abnormale oder nicht abnormale Ereignisse in einer Datei unter /var/logIhnen zu protokollieren, erhalten Sie automatisch Warnungen dafür.

WIE MAN:

Da dies logcheckbereits vorkonfiguriert ist, decken zwei Zeilen oben in dieser Antwort im Wesentlichen alles ab, was Sie für den Einstieg benötigen. Installieren Sie es einfach und gehen Sie die oberste Konfigurationsdatei durch: /etc/logcheck/logcheck.confUm Ihre E-Mail-Adresse zu ändern, damit Sie logcheckper E- Mail benachrichtigt werden.

Hier finden Sie eine ausführliche Beschreibung des zweiten Schritts . Da Ubuntu auf Debian basiert, sollten diese Anweisungen auch auf Ubuntu funktionieren. Hier ist eine weitere gute Referenz .

Nach der Installation wird der kontinuierliche Verbesserungsprozess gestartet. Mit der Zeit verfeinern Sie Ihre Regeln, um alles zu ignorieren, von dem Sie bereits wissen und das Sie nicht für wichtig halten sollten. Dieser Verfeinerungsprozess ist so einfach wie das Hinzufügen von Textzeilen zu einer Datei in Ihrem bevorzugten Texteditor.

Jede Zeile in einer Ignorierdatei ist ein erweiterter regulärer Ausdruck (siehe man 7 regex). Sie können jedoch einfache Zeichenfolgen verwenden, solange sie mit der zu ignorierenden Protokollzeile übereinstimmen. Denken Sie daran , dass Charaktere wie *, ?, ‚+‘, [], ()sind besondere in einem regulären Ausdruck, so dass , wenn sie tatsächlich in den Log - Zeilen erscheinen, Sie müßten sie mit einem Backslash \in den Dateien zu ignorieren.

Mit anderen Worten: Wenn Sie eine Warnung erhalten, die Sie nicht erhalten möchten, überprüfen Sie die Protokollzeile, die per E-Mail an Sie gesendet wurde, und fügen Sie ein Muster hinzu, das mit dieser übereinstimmt, als eine Zeile zu einer beliebigen Ignorierdatei Ihrer Wahl. Ich schlage vor, /etc/logcheck/ignore.d.<yourloglevel>/my-ignoresals Ihre persönliche Ignorierdatei zu verwenden. Wo <yourloglevel>ist einer von paranoid, serveroder workstation(wie Sie bereits in der Hauptkonfigurationsdatei ausgewählt haben:) /etc/logcheck/logcheck.conf. Schauen Sie sich die Beispiele in anderen Ignorierdateien an, um zu erfahren, wie sich ständig ändernder Text wie Prozess-IDs oder Zeitstempel berücksichtigt werden. Es gibt viele Beispiele, aus denen man lernen kann.

Ein letzter Tipp: Es logcheckwird mit einem kleinen nützlichen Hilfsprogramm logcheck-testgeliefert, das zum Testen neuer Regeln sehr nützlich ist. man logcheck-testfür Details.

Arielf
quelle
Hallo, die Idee hinter logcheck gefällt mir ... kannst du mir bitte eine ausführliche Anleitung dazu geben? Danke :)
irenicus09
1
@ irenicus09: Gerade wurde ein Howto-Abschnitt mit einem optionalen Link als Referenz hinzugefügt.
Arielf
Congratz über den Gewinn des Kopfgeldes, sehr gut geschriebener Antwortmann. Danke :)
irenicus09
3

Wenn Sie nicht viele Systeme in Ihrem Netzwerk haben, ist das Einrichten eines IDS wie Snort wahrscheinlich überfordert (insbesondere, wenn Sie keine Netzwerkdienste auf Ihrem Computer haben). Ich empfehle Ihnen, zunächst die Protokolluhr so ​​zu konfigurieren, dass Sie einen Bericht darüber erhalten, was auf Ihrem System vor sich geht. Sobald Sie dies getan haben, konfigurieren Sie Ihr Syslog so, dass Sie so viele relevante Informationen wie möglich erhalten.

AndrewX192
quelle
Hallo, ich mag deine Antwort ... aber könntest du bitte ein bisschen mehr Details darüber mitteilen, wie das geht? Das Durchspielen von Konfigurationen kann besonders für unerfahrene Benutzer schwierig sein. Aber ich würde mich freuen, wenn Sie mir einen ausführlichen Leitfaden dafür geben könnten. Vielen Dank.
irenicus09
@ irenicus09 Ich denke, dies sollte ausreichen: So richten Sie Logwatch auf Ubuntu-basierten Systemen ein
AndrewX192
Vielen Dank für die Anleitung, ich habe Logwatch erfolgreich eingerichtet und es gefällt mir. Für Port-Scan-Monitor habe ich auch Portsentry eingerichtet und ich werde andere Tools und Sachen ausprobieren, bevor ich feststelle, welche für mich die beste ist :)
irenicus09
1

Intrusion Detection ist auf jeden Fall erforderlich, wenn Sie Dienste (FTP, Web, NFS, SSH usw.) in Ihrem Netzwerk ausführen. Dies liegt daran, dass sie im Internet ausgesetzt sind und aufgrund von:

  • Fehlkonfiguration
  • Software-Schwachstellen

Sie müssen täglich von einem erfahrenen Netzwerkadministrator überwacht werden. Wenn Sie diesen Dienst ausführen, verfügen Sie wahrscheinlich bereits über die Mindestkenntnisse, um diese Probleme zu vermeiden.

Wenn Sie keinen dieser Dienste ausführen, hat die Firewall Ihres Internet-Routers bereits eingehende Verbindungen an den Ports blockiert. So scannen Sie Ihren Netzwerkrouter

Wenn Sie alle grün sind, dann sind Sie alle gut.

Zu guter Letzt verfügt Ihr Router wahrscheinlich über ein integriertes Intrusion Detection-System (da 99% aller Router über einen gestreiften Linux-Server verfügen). Hierfür müssen Sie das Handbuch Ihres Routerherstellers lesen.

Salih Emin
quelle
Hallo, danke für deine Antwort. Es ist ziemlich aufschlussreich und mir ist alles bewusst, wovon du sprichst. Angenommen, ich führe verschiedene Dienste auf meinem System aus. Wie genau verfolge ich Aktivitäten unter Sicherheitsgesichtspunkten? Ich brauche eine einfache, leicht zu bedienende Lösung als Heimanwender und ich denke, Sie haben diesen Teil vermieden :)
irenicus09