Tipps zum Schutz Ihres Linux-Servers vor externen Angriffen

Ich denke die Leute, die fahren Linux-Server sie wissen und wissen über HOSTS verweigern y Fail2ban. Für diejenigen, die ihn nicht kennen, werde ich erklären ein wenig über diese beiden Anwendungen.

John Fredy Perez ist einer der Gewinner unseres wöchentlichen Wettbewerbs: «Teilen Sie mit, was Sie über Linux wissen«. Herzliche Glückwünsche! Ängstlich wegen teilnehmen und leisten Sie Ihren Beitrag zur Gemeinschaft, wie John?

Wir werden diese beiden Anwendungen installieren und konfigurieren, um spätere Kopfschmerzen zu vermeiden. Zunächst werden wir erklären, was diese beiden Anwendungen sind und welche Funktion sie haben:

Fail2Ban

Es ist ein Protokollanalysator, der nach fehlgeschlagenen Registrierungsversuchen sucht und die IPs blockiert, von denen diese Versuche stammen. Es wird unter der GNU-Lizenz vertrieben und funktioniert normalerweise auf allen Systemen, die mit einem Angriffskontrollsystem oder einer lokalen Firewall verbunden sind.

Fail2Ban hat eine großartige Konfiguration und kann auch Regeln für Programme erstellen
eigene oder Dritte.

HOSTS verweigern

Es ist ein in Python geschriebenes Sicherheitstool, das die Protokolle des Zugriffsservers überwacht, um Brute-Force-Angriffe auf einen virtuellen Server zu verhindern. Das Programm verbietet IP-Adressen, die eine bestimmte Anzahl fehlgeschlagener Verbindungsversuche überschreiten.

Diese Linux-Anwendungen - DenyHosts und Fail2ban - können separat oder zusammen verwendet werden. In meinem Fall arbeiten beide zusammen.

Die Installation und Konfiguration jedes einzelnen hängt von der von Ihnen verwendeten Distribution ab. Dieser Beitrag ist auf CentOS 6.3 ausgerichtet, obwohl die Unterschiede zwischen den anderen Distributionen nicht sehr ausgeprägt sind.

Dann machen wir uns an die Arbeit.

Installation und Konfiguration von Fail2Ban

Diese Anwendung generiert dynamische Regeln in der Linux-Firewall selbst und ist für die Erstellung von Live-Regeln in IpTables verantwortlich.

Übliche Installationen

Für die Installation a:

yum installiere fail2ban 

Wenn das Paket nicht angezeigt wird, müssen wir das erforderliche Repository hinzufügen:

rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm

Damit sollten Sie die Anwendung zusammen mit ihren Abhängigkeiten installieren.

Jetzt müssen wir Fail2Ban konfigurieren, um die gewünschten Protokolle zu analysieren und zu blockieren
IPs, die Benachrichtigungen per E-Mail senden. Dazu müssen wir die Datei jail.conf ändern, die wir in / etc / fail2ban finden

cd / etc / fail2ban
nanojail.conf

In dieser Datei sollte Folgendes ausgeführt werden:

  • Ändern ist der Bantime-Wert. Dieser Wert bestimmt die Zeit in Sekunden, in der die IP des Angreifers blockiert wird. Standardmäßig wird der Wert in 600 Sekunden angegeben.
  • Suchen Sie den maximalen Wiederholungswert, der angibt, wie oft eine IP eine fehlgeschlagene Authentifizierung aufweisen kann, bevor sie blockiert wird.
  • Fügen Sie unsere IPs im Ignorier-Parameter hinzu. Hier ignoriert die Anwendung unsere authentifizierten IPs in diesem Parameter.
[STANDARD]
# "ignoreip" kann eine IP-Adresse, eine CIDR-Maske oder ein DNS-Host sein. Fail2ban wird nicht
# Einen Host sperren, der einer Adresse in dieser Liste entspricht. Es können mehrere Adressen sein
# definiert mit Leerzeichen.
ignorieren = 127.0.0.1

# "Bantime" ist die Anzahl der Sekunden, die ein Host gesperrt ist.
Bantime = 600

# Ein Host ist gesperrt, wenn er während der letzten "Findtime" "maxretry" generiert hat.
# Sekunden.
findtime = 600

# "maxretry" ist die Anzahl der Fehler, bevor ein Host gesperrt wird.
maxretry = 3

Ein Beispiel dafür ist wie folgt:

ignorieren = 127.0.0.1 190.25.242.75 192.168.1.0/24
Bantime = 800
maxretry = 2

Konfigurieren Sie Fail2Ban und SSH

Um nach fehlgeschlagenen SSH-Anmeldeversuchen zu suchen, ändern wir die Datei so lange, bis sie wie folgt aussieht:

[ssh-iptables] 
aktiviert = wahr
filter = sshd
action = iptables [name = SSH, port = 22, protocol = tcp] sendmail-whois [name = SSH, dest=FredySnake@outlook.com, sender = fail2ban @ localhost] logpath = / var / log / secure # Dies ist der Protokoll, das fail2ban analysiert
maxretry = 3 # Jede IP mit drei oder mehr fehlgeschlagenen Versuchen wird blockiert.
Bantime = 86400 # 24-Stunden-Sperrzeit in Sekunden

Vergessen Sie nicht, dass Sie beim Ändern des Ports, an dem SSH lauscht, auch den Port-Parameter ändern müssen.

Diese Anwendung funktioniert nicht nur für den nicht autorisierten Zugriff auf SSH, sondern auch für Apache, zum Lesen von Asterisk-Protokollen usw.

DenyHOSTS Installation und Konfiguration

Die Operation basiert auf der Verwendung der Datei /etc/hosts.deny, dh dem Blockieren der Adressen der "angreifenden" Hosts, wodurch eine Liste der verweigerten Hosts erstellt wird.

Die Installation aus den Repositorys kann mit dem folgenden Befehl abgerufen werden:

Yum installieren Denyhosts 

Die Konfigurationsdatei befindet sich in /etc/denyhosts.conf

Bevor wir fortfahren, können wir als Menschen Fehler machen und die typische "Schicht 8" ausführen, wenn wir auf einen der Dienste zugreifen und uns selbst blockieren. Um dies zu vermeiden, bearbeiten wir die Datei /etc/hosts.allow und fügen die IP-Adressen der Computer hinzu, von denen wir aufgrund eines Zugriffsfehlers nicht eingeschränkt werden möchten.

Ändern Sie die Datei verweigernhosts.conf

Um in den Einstellungen nicht so weit zu gehen, werden in dieser Datei nur einige Parameter bearbeitet und auskommentiert. Diese sind:

SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1h
SYNC_UPLOAD = ja
SYNC_DOWNLOAD = ja
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5 Std

Daher werden wir eine Konfiguration praktisch standardmäßig belassen, jedoch mit großer Sicherheit gegen SSH-Angriffe.

nano /etc/hosts.allow

Beispiel:

SSHD: 127.0.0.1 
SSHD: 192.168.1.10
sshd: 192.168.0. *

Danach starten wir den Dienst neu:

/etc/init.d/denyhosts neu starten

Damit erteilen wir eine Berechtigung für eine IP, einen IP-Bereich und natürlich für unsere Loopback-Schnittstelle. Etwas, das ich nicht versucht habe - daher weiß ich nicht, ob es funktioniert - ist das Hinzufügen von DNSs zu dieser Datei; das heißt, mit Diensten wie DynDNS. Wenn ich das tue, werde ich dir sagen, wie es gelaufen ist.

Mit bestimmten Optionen und Einstellungen stellen wir auch sicher, dass nach dem in der DenyHOSTS-Konfiguration angegebenen Zeitraum die gespeicherten Adressen bereinigt und mit anderen Listen aktualisiert werden, die von anderen erstellt wurden - sofern wir dies angeben - und die Zugriffsberechtigung erteilen der Server von DenyHOSTS.

Damit die gespeicherten Adressen wie konfiguriert von Zeit zu Zeit gelöscht werden, muss der Dämon mit dem Parameter –purge ausgeführt werden:

/etc/init.d/denyhosts start --purge

Darüber hinaus müssen wir es am Anfang des Systems einfügen:

chkconfig verweigert Hosts auf

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.