Das Shell-Skript richtet die Zugriffskontrolle ein und die IP wird nach mehreren fehlgeschlagenen Anmeldungen blockiert, um Brute-Force-Cracking von SSH zu verhindern. Wenn festgestellt wird, dass ein Host eine SSH-Remoteverwaltung für den Server durchführt und innerhalb von 10 Minuten dreimal das falsche Kennwort eingegeben wird, wird Firewalld verwendet, um zu reagieren und eine erneute Verbindung dieser IP zu untersagen. Die Verbindung wird nach 6 Stunden wieder zugelassen. 1. System: Centos7.1 64-Bit 2. Methode: Lesen Sie /var/log/secure und suchen Sie nach dem Schlüsselwort Failed 4. Januar 16:29:01 centos7 sshd[1718]: Fehlgeschlagenes Passwort für Root von 192.168.120.1 Port 2171 ssh2 4. Januar 16:29:02 centos7 sshd[1718]: pam_succeed_if(sshd:auth): Anforderung „uid >= 1000“ vom Benutzer „root“ nicht erfüllt 4. Januar 16:29:04 centos7 sshd[1718]: Fehlgeschlagenes Passwort für Root von 192.168.120.1 Port 2171 ssh2 4. Januar 16:29:06 centos7 sshd[1718]: Fehler: Trennung von 192.168.120.1 Port 2171:0 empfangen: [preauth] 4. Januar 16:45:53 centos7 sshd[1758]: Fehlgeschlagenes Passwort für Root von 192.168.120.134 Port 40026 ssh2 3. Shell-Code, test.sh erstellen #!bin/bash #Illegale IP-Adressen abfangen Monat=$(LANG=C Datum +"%b") Tag=$(LANG=C Datum +"%e") jetzt=$(LANG=C Datum +"%T") zehn=$(LANG=C date -d "vor 10 Minuten" +"%T") cat /var/log/secure |awk '$1=="'$month'" && $2=='"$day"' && $3>="'$ten'" && $3<="'$now'" { print}' |grep 'Fehlgeschlagen'|awk -F'from' '{ print $2}' |awk '{ print $1}'|sort |uniq -c > baduser.txt #Anzahl der Berechnungen mal=`awk '{ print $1 }' baduser.txt` #verbotene IP-Adresse Folge = 1 für i in $times Tun ip=`sed -n ''$seq'p' baduser.txt |awk '{ print $2}'` wenn [ $i -ge 3 ] Dann Firewall-Befehl – add-rich-rule = „Regelfamilie = IPv4 Quelladresse = „$IP“ Port Port = 22 Protokoll = TCP Ablehnen“ – Timeout = 6h fi seq=`Ausdruck $seq + 1` Erledigt 4. Fügen Sie das Skript test.sh in die geplante Cron-Aufgabe ein und führen Sie es alle 60 Minuten aus. # crontab -e */60 * * * * sh /root/test.sh 5. Testen 1. Öffnen Sie ein Terminalfenster, stellen Sie per SSH eine Verbindung zum Server her und stellen Sie mehrmals mit dem falschen Kennwort eine Verbindung zum Server her. Die IP wurde zur Datei baduser.txt des Servers hinzugefügt, kann keine Verbindung zum Server herstellen und wird abgelehnt: Dies ist das Ende dieses Artikels über Shell-Skripteinstellungen, um Brute-Force-Cracking von SSH zu verhindern. Weitere relevante Inhalte zu Shell-Skripten zum Schutz vor Brute-Force-Cracking finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detailliertes Beispiel zum Einfügen benutzerdefinierter HTML-Datensätze im Quill-Editor
>>: Sechs mit CSS3 implementierte Randübergangseffekte
yum-Befehl Yum (vollständiger Name Yellow Dog Upd...
Die meisten Websites haben heutzutage lange Seite...
1. Grundlegende Implementierung des Limits Im All...
Finden Sie das Problem Nach dem Upgrade von MySQL...
Das 404-Problem tritt im Tomcat-Test auf. Die Pro...
Dieser Artikel beschreibt das Beispiel der MySQL-...
Centos7-Switch-Boot-Kernel Hinweis: Bei Bedarf wi...
Null, Hintergrund Ich habe diesen Donnerstag viel...
1. Grundlegende Umgebung 1. Betriebssystem: CentO...
Ich möchte die Installations- und Konfigurationsm...
Inhaltsverzeichnis 1. Was ist JSON 1.1 Array-Lite...
Schritt 1: Öffnen Sie mit dem Editor die Datei „m...
1. Hintergrund Vor kurzem stießen einige Freunde ...
Zuerst, bevor Sie posten! Nochmals vielen Dank an ...
1. Szenariobeschreibung: Unsere Umgebung verwende...