Ein stilisiertes Terminalfenster, das auf einem Linux-Laptop im Ubuntu-Stil ausgeführt wird.

Fatmawati Achmad Zaenuri/Shutterstock

Mit |_+_| blockiert Ihr Linux-Computer automatisch IP-Adressen mit zu vielen Verbindungsfehlern. Es ist eine selbstregulierende Sicherheit! Wir zeigen Ihnen, wie Sie es verwenden.



Sicherheit Sicherheit Sicherheit

Herzogin von Windsor, Wallis Simpson, sagte einmal berühmt: Du kannst nie zu reich oder zu dünn sein. Wir haben das für unsere moderne, vernetzte Welt aktualisiert: Man kann nie zu vorsichtig oder zu sicher sein.

Wenn Ihr Computer eingehende Verbindungsanfragen akzeptiert, wie z Sichere Hülle ( SSH )-Verbindungen oder fungiert als Web- oder E-Mail-Server, müssen Sie ihn vor Brute-Force-Angriffen und Passwort-Erraten schützen.

Dazu müssen Sie Verbindungsanfragen überwachen, die nicht in ein Konto eingehen. Wenn sie sich innerhalb kurzer Zeit wiederholt nicht authentifizieren, sollten ihnen weitere Versuche untersagt werden.

Dies ist praktisch nur durch die Automatisierung des gesamten Prozesses zu erreichen. Mit ein wenig einfacher Konfiguration kann |_+_| werde es schaffen Überwachung, Sperrung und Entsperrung für dich.

Anzeige

|_+_| integriert mit die Linux-Firewall |_+_|. Es erzwingt die Sperren der verdächtigen IP-Adressen, indem es der Firewall Regeln hinzufügt. Um diese Erklärung übersichtlich zu halten, verwenden wir |_+_| mit einem leeren Regelsatz.

Wenn Sie sich jedoch Sorgen um die Sicherheit machen, haben Sie wahrscheinlich eine Firewall mit einem gut gefüllten Regelsatz konfiguriert. |_+_| nur fügt eigene Regeln hinzu und entfernt sie – Ihre regulären Firewall-Funktionen bleiben unberührt.

Wir können unseren leeren Regelsatz mit diesem Befehl sehen:

fail2ban

VERBUNDEN: Der Anfängerleitfaden für iptables, die Linux-Firewall

Fail2ban installieren

Installation von |_+_| ist bei allen Distributionen, mit denen wir diesen Artikel recherchiert haben, einfach. Unter Ubuntu 20.04 lautet der Befehl wie folgt:

fail2ban

Geben Sie auf Fedora 32 Folgendes ein:

Energiesparmodus ausschalten
fail2ban

Auf Manjaro 20.0.1 haben wir |_+_| verwendet:

iptables

Fail2ban konfigurieren

Die |_+_| Die Installation enthält eine Standardkonfigurationsdatei namens jail.conf. Diese Datei wird überschrieben, wenn |_+_| wird aktualisiert, daher gehen unsere Änderungen verloren, wenn wir Anpassungen an dieser Datei vornehmen.

Stattdessen kopieren wir die Datei jail.conf in eine Datei namens jail.local. Indem Sie unsere Konfigurationsänderungen in jail.local ablegen, bleiben sie über Upgrades hinweg bestehen. Beide Dateien werden automatisch von |_+_| gelesen.

So kopieren Sie die Datei:

iptables

Öffnen Sie nun die Datei in Ihrem bevorzugten Editor. Wir verwenden |_+_|:

fail2banAnzeige

Wir suchen in der Datei nach zwei Abschnitten: [DEFAULT] und [sshd]. Achten Sie jedoch darauf, die tatsächlichen Abschnitte zu finden. Diese Labels erscheinen auch oben in einem Abschnitt, der sie beschreibt, aber das ist nicht das, was wir wollen.

/etc/fail2ban/jail.local in einem gedit-Fenster geöffnet.

Sie finden den Abschnitt [DEFAULT] irgendwo um Zeile 40. Es ist ein langer Abschnitt mit vielen Kommentaren und Erklärungen.

/etc/fail2ban/jail.local wurde in einem gedit-Fenster geöffnet und bis Zeile 89 gescrollt.

So öffnen Sie die Spotlight-Suche

Scrollen Sie nach unten zu etwa Zeile 90 und Sie finden die folgenden vier Einstellungen, die Sie kennen müssen:

    ignorieren:Eine Whitelist mit IP-Adressen, die niemals gesperrt werden. Sie haben eine dauerhafte Karte 'Get Out of Jail Free'. Der localhost-IP-Adresse (|_+_|) ist standardmäßig in der Liste enthalten, zusammen mit seinem IPv6-Äquivalent (|_+_|). Wenn es andere IP-Adressen gibt, von denen Sie wissen, dass sie niemals gesperrt werden sollten, fügen Sie sie dieser Liste hinzu und lassen Sie zwischen den einzelnen IP-Adressen ein Leerzeichen. Bantime:Die Dauer, für die eine IP-Adresse gesperrt ist (das m steht für Minuten). Wenn Sie einen Wert ohne m oder h (für Stunden) eingeben, wird er als Sekunden behandelt. Ein Wert von -1 sperrt eine IP-Adresse dauerhaft. Passen Sie auf, dass Sie sich nicht dauerhaft aussperren. finde Zeit:Die Zeitspanne, innerhalb derer zu viele fehlgeschlagene Verbindungsversuche dazu führen, dass eine IP-Adresse gesperrt wird. maxretry:Der Wert für zu viele fehlgeschlagene Versuche.

Wenn eine Verbindung von derselben IP-Adresse |_+_| fehlgeschlagene Verbindungsversuche innerhalb der |_+_| werden sie für die Dauer von |_+_| gesperrt. Einzige Ausnahmen sind die IP-Adressen im |_+_| aufführen.

|_+_| setzt die IP-Adressen für einen bestimmten Zeitraum ins Gefängnis. |_+_| unterstützt viele verschiedene Jails, und jeder stellt dar, dass die Einstellungen für einen einzelnen Verbindungstyp gelten. Dadurch können Sie unterschiedliche Einstellungen für verschiedene Verbindungstypen vornehmen. Oder du kannst |_+_| . haben nur einen ausgewählten Satz von Verbindungstypen überwachen.

Sie haben es vielleicht anhand des Abschnittsnamens [DEFAULT] erraten, aber die Einstellungen, die wir uns angesehen haben, sind die Standardeinstellungen. Schauen wir uns nun die Einstellungen für die SSH-Jail an.

VERBUNDEN: So bearbeiten Sie Textdateien unter Linux grafisch mit gedit

Konfigurieren eines Gefängnisses

Mit Jails können Sie Verbindungstypen in und aus |_+_| . verschieben Überwachung. Wenn die Standardeinstellungen nicht mit denen übereinstimmen, die Sie auf die Jail anwenden möchten, können Sie spezifische Werte für |_+_|, |_+_| und |_+_| festlegen.

Anzeige

Scrollen Sie nach unten zu Zeile 280, und Sie sehen den Abschnitt [sshd].

/etc/fail2ban/jail.local wurde in einem gedit-Fenster geöffnet und bis Zeile 280 gescrollt.

Hier können Sie Werte für die SSH-Verbindungsjail festlegen. Um dieses Gefängnis in die Überwachung und Sperrung einzubeziehen, müssen wir die folgende Zeile eingeben:

fail2ban

Wir tippen auch diese Zeile:

pacman

Die Standardeinstellung war fünf, aber wir möchten bei SSH-Verbindungen vorsichtiger sein. Wir haben es auf drei reduziert und dann die Datei gespeichert und geschlossen.

apple tv fernseher einschalten

Wir haben dieses Gefängnis zu |_+_| . hinzugefügt Überwachung, und überschreiben Sie eine der Standardeinstellungen. Ein Jail kann eine Kombination aus Standard- und Jail-spezifischen Einstellungen verwenden.

Fail2ban aktivieren

Bisher haben wir |_+_| . installiert und konfigurierte es. Jetzt müssen wir es aktivieren, damit es als Autostart-Dienst ausgeführt wird. Dann müssen wir es testen, um sicherzustellen, dass es wie erwartet funktioniert.

Anzeige

Um |_+_| . zu aktivieren Als Service nutzen wir die |_+_| Befehl :

fail2ban

Wir verwenden es auch, um den Dienst zu starten:

fail2ban

Wir können den Status des Dienstes auch mit |_+_| überprüfen:

fail2ban

Alles sieht gut aus – wir haben grünes Licht, also ist alles gut.

Mal sehen, ob |_+_| stimmt zu:

gedit

Dies spiegelt wider, was wir eingerichtet haben. Wir haben ein einzelnes Gefängnis namens [sshd] aktiviert. Wenn wir den Namen des Gefängnisses in unseren vorherigen Befehl einschließen, können wir uns das genauer ansehen:

127.0.0.1

Diese listet die Anzahl der Fehler und gesperrten IP-Adressen auf. Natürlich sind alle Statistiken im Moment null.

Testen unseres Gefängnisses

Auf einem anderen Computer stellen wir eine SSH-Verbindungsanfrage an unseren Testcomputer und geben das Passwort absichtlich falsch ein. Sie erhalten bei jedem Verbindungsversuch drei Versuche, das Passwort richtig zu machen.

Anzeige

Die |_+_| Wert wird nach drei fehlgeschlagenen Verbindungsversuchen ausgelöst, nicht nach drei fehlgeschlagenen Passwortversuchen. Wir müssen also dreimal ein falsches Passwort eingeben, um den ersten Verbindungsversuch fehlschlagen zu lassen.

Wir werden dann einen weiteren Verbindungsversuch unternehmen und das Passwort noch dreimal falsch eingeben. Der erste falsche Passwortversuch der dritten Verbindungsanfrage sollte |_+_| . auslösen

Nach dem ersten falschen Passwort bei der dritten Verbindungsanfrage erhalten wir keine Antwort vom Remote-Rechner. Wir bekommen keine Erklärung; Wir bekommen nur die kalte Schulter.

Sie müssen Strg+C drücken, um zur Eingabeaufforderung zurückzukehren. Wenn wir es noch einmal versuchen, erhalten wir eine andere Antwort:

::1

Zuvor lautete die Fehlermeldung Berechtigung verweigert. Diesmal wird die Verbindung komplett abgelehnt. Wir sind persona non grata. Wir wurden gesperrt.

Schauen wir uns noch einmal die Details des [sshd]-Gefängnisses an:

maxretry

Anzeige

Es gab drei Fehler und eine IP-Adresse (192.168.4.25) wurde gesperrt.

Wie bereits erwähnt, |_+_| erzwingt Verbote, indem dem Firewall-Regelsatz Regeln hinzugefügt werden. Schauen wir uns den Regelsatz noch einmal an (vorher war er leer):

findtime

wie man powerpoints zusammenführt

Der INPUT-Richtlinie wurde eine Regel hinzugefügt, die SSH-Datenverkehr an |_+_| . sendet Kette. Die Regel im |_+_| Chain lehnt SSH-Verbindungen von 192.168.4.25 ab. Wir haben die Standardeinstellung für |_+_| nicht geändert, sodass diese IP-Adresse in 10 Minuten entsperrt wird und neue Verbindungsanfragen stellen kann.

Wenn Sie eine längere Sperrdauer festlegen (z. B. mehrere Stunden), aber einer IP-Adresse erlauben möchten, früher eine weitere Verbindungsanfrage zu stellen, können Sie diese vorzeitig entlassen.

Dazu geben wir Folgendes ein:

bantime

Wenn wir auf unserem Remote-Computer eine weitere SSH-Verbindungsanfrage stellen und das richtige Passwort eingeben, können wir eine Verbindung herstellen:

ignoreip

Einfach und effektiv

Einfacher ist normalerweise besser und |_+_| ist eine elegante Lösung für ein kniffliges Problem. Es erfordert nur sehr wenig Konfiguration und verursacht kaum Betriebskosten – für Sie oder Ihren Computer.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN
  • › Was ist MIL-SPEC Fallschutz?
  • › 5 Websites, die jeder Linux-Benutzer mit einem Lesezeichen versehen sollte
  • › So finden Sie Ihr Spotify Wrapped 2021
  • Cyber ​​Monday 2021: Die besten Tech-Deals
  • › Der Computerordner ist 40: Wie Xerox Star den Desktop erstellte
  • › Funktionen vs. Formeln in Microsoft Excel: Was ist der Unterschied?