Ist es normal, Hunderte von Einbruchsversuchen pro Tag zu erhalten?

196

Ich habe gerade meinen Server überprüft /var/log/auth.logund festgestellt, dass ich mehr als 500 Benachrichtigungen über fehlgeschlagene Kennwort- / Einbruchsversuche pro Tag erhalte! Meine Website ist klein und ihre URL ist dunkel. Ist das normal? Sollte ich irgendwelche Maßnahmen ergreifen?

Kyle
quelle
2
Bis wir alle unnötigen externen Ports gesperrt haben, habe ich nicht nur viele Hackversuche unternommen, sondern es war eines Tages so schlimm, dass wir aus zwei verschiedenen Ländern gehackt wurden - zur gleichen Zeit! Also ja, 100 Einlaufversuche sind völlig normal.
Django Reinhardt
91
Wir haben Server, die alle 16 Sekunden eine neue "Angriffssequenz" erfahren. Eine einzelne Sequenz besteht normalerweise aus einem Stapel von ca. 100 Versuchen über verschiedene Ports. Nur zum Spaß habe ich eines Tages einen nicht gepatchten Server außerhalb unserer Firewall eingeschaltet. Ab dem Zeitpunkt, an dem das Gerät eingeschaltet wurde, dauerte es weniger als 10 Minuten, bis es pwnd wurde. Punkt ist das Internet ist wirklich ein Dschungel; versuche nicht gegessen zu werden.
NotMe
2
Ich kann sehen, dass ich meine Frage auf der falschen Seite gepostet habe: superuser.com/questions/200896/…
Justin C
6
Während ich mit anderen übereinstimme, ist dies normal, wenn gemeinsame Ports erforderlich sind (80, 443). Ich habe diese Versuche gegen meinen SSH-Port praktisch beseitigt, indem ich einfach den Standard-Port von 22 in etwas Dunkles wie 6022 geändert habe. Allein schon dadurch wurden 99% dieser Angriffsart beseitigt.
Kilo
2
Wenn Sie Ihren SSH-Port ändern möchten, gibt es Sicherheitsgründe, ihn unter Port 1024 zu belassen (nur Root kann Ports <1024 öffnen, sodass Sie vor anderen Benutzern geschützt sind, die SSH missbrauchen).
Brendan Long

Antworten:

207

Im heutigen Internet ist das leider ganz normal. Es gibt Horden von Botnetzen, die versuchen, sich bei jedem Server anzumelden, den sie in ganzen IP-Netzwerken finden. In der Regel verwenden sie einfache Wörterbuchangriffe auf bekannte Konten (z. B. Root-Konten oder bestimmte Anwendungskonten).

Die Angriffsziele werden nicht über Google- oder DNS-Einträge gefunden, sondern die Angreifer versuchen einfach jede IP-Adresse in einem bestimmten Subnetz (z. B. von bekannten Root-Server-Hosting-Unternehmen). Es spielt also keine Rolle, dass Ihre URL (daher der DNS-Eintrag) ziemlich dunkel ist.

Deshalb ist es so wichtig:

  • root-Login in SSH nicht zulassen ( howto )
  • Verwenden Sie überall sichere Passwörter (auch in Ihren Webanwendungen)
  • Verwenden Sie für SSH nach Möglichkeit die Authentifizierung mit öffentlichem Schlüssel und deaktivieren Sie die Kennwortauthentifizierung vollständig ( howto ).

Zusätzlich können Sie fail2ban installieren, das das Authlog scannt. Wenn es eine bestimmte Anzahl fehlgeschlagener Anmeldeversuche von einer IP-Adresse findet, wird diese IP-Adresse zu /etc/hosts.denyoder iptables / netfilter hinzugefügt, um den Angreifer für einige Minuten zu sperren.

Zusätzlich zu den SSH-Angriffen wird Ihr Webserver immer häufiger nach anfälligen Webanwendungen durchsucht (einige Blogging-Apps, CMSs, phpmyadmin usw.). Halten Sie diese also stets auf dem neuesten Stand und konfigurieren Sie sie auch sicher!

Holger Just
quelle
21
Anwendungen wie fail2ban können viel dazu beitragen, diese Bots 'vorübergehend' daran zu hindern, Ihren Server zu dummen Zeiten am Morgen zu treffen :-) Ich habe mich so eingerichtet, dass 3 falsche Versuche für 24 Stunden gesperrt werden.
Mittwoch,
46
Und verschieben Sie den Port von ssh von 22 auf 222. Das funktioniert ganz gut.
Tom O'Connor
40
+1, nur Authentifizierung mit öffentlichem Schlüssel :)
0xC0000022L
3
@STATUS_ACCESS_DENIED: Die Aktionen, die fail2ban ausführt, sind nur Listen der auszuführenden Shell-Befehle. Es ist also sehr flexibel und einfach, mit jeder benutzerdefinierten Konfiguration richtig zu arbeiten. Die beste Referenz ist es, sie herunterzuladen und anzusehen action.d/iptables.conf.
Mattdm
4
Das Blockieren von Angreifern ist Zeitverschwendung. Wenn Sie die Root-Anmeldung deaktivieren, besteht eine gute Chance, dass niemand Ihren korrekten Anmeldenamen errät, geschweige denn das Passwort. SSH selbst ist bereits eine Rate, die Passwortanfragen beschränkt. Selbst wenn sie Ihren Benutzernamen kennen (zufällige Bots nicht), werden sie ihn niemals erraten, wenn Sie ein anständiges Passwort haben.
Brendan Long
58

Ein paar 100 sind in Ordnung ... Letzten Monat stellte ich fest, dass einer meiner Server 40.000 fehlgeschlagene Versuche hatte. Ich habe mir die Mühe gemacht, sie zu zeichnen: Karte

Nachdem ich den ssh-Port geändert und Port Knocking implementiert hatte, ging die Zahl auf 0 zurück :-)

Bart De Vos
quelle
2
Schöne Karte. Ich würde gerne wissen, wie das geht!
Jftuga
9
@jftuga Ich habe zuerst alle IP's aus den Logs bekommen. grep 'Failed password' /var/log/secure* | grep sshd | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq(Entfernen Sie das | uniq am Ende, wenn Sie Duplikate zulassen möchten.) Sie können sie dann in eine CSV-Datei einfügen und auf zeemaps.com hochladen. Ich habe bessere Karten gesehen als meine, bei denen sie die Anzahl zum Färben der Karte verwendeten (grün bis rot für die Anzahl der Versuche pro Grafschaft), aber ich habe das nicht herausgefunden
Bart De Vos
3
Was meinst du mit 'implementiertem Port Knocking'? Gibt es eine App, die ich über apt-get installieren kann, um dies zu tun? Die Zahl auf 0 fallen hört sich nett an
18
Sicherheit durch Unbekanntheit wird schlecht verpackt. Es ist vollkommen in Ordnung, solange es Teil der Gesamtstrategie und nicht der gesamten Strategie ist. Was ist ein anderes Passwort als eine dunkle Zeichenfolge?
Joel Coel
5
@Joel Coel, es ist eine geheime Zeichenfolge, im Gegensatz zu den meisten Sicherheitsaspekten aufgrund von Unklarheiten - ein dunkler, aber nicht notwendigerweise geheimer Prozess.
tobyodavies
29

Ich benutze zum einen ein "Tarpit" und erlaube nur die Authentifizierung mit öffentlichen Schlüsseln und verbiete Root-Logins.

In netfiltergibt es ein recentModul, das Sie mit ( INPUTchain) verwenden können:

iptables -A INPUT -i if0 -p tcp --dport 22 -m state --state NEW -m recent --set --name tarpit --rsource
iptables -A INPUT -i if0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 6 --name tarpit --rsource -j DROP
iptables -A INPUT -i if0 -p tcp --dport 22 -j ACCEPT

Das bedeutet, dass jeder Versuch, eine Verbindung zu Port 22 herzustellen, vom recentModul mit IP und einigen anderen Informationen unter dem Namen "tarpit" aufgelistet wird (wenn Sie neugierig sind, schauen Sie sich das an /proc/net/xt_recent/tarpit). Natürlich können Sie auch andere Namen verwenden.

Um IPs aufzulisten oder zu löschen, verwenden Sie:

echo "+123.123.123.123" > /proc/net/xt_recent/tarpit
echo "-123.123.123.123" > /proc/net/xt_recent/tarpit

Diese Rate begrenzt die Versuche auf 5 in 300 Sekunden. Bitte beachten Sie, dass Benutzer mit einer bestehenden Verbindung von dieser Beschränkung nicht betroffen sind, da sie bereits über eine bestehende Verbindung verfügen und mehr Verbindungen erstellen dürfen (auch über der Gebührengrenze).

Passen Sie die Regeln nach Ihren Wünschen an, achten Sie jedoch darauf, dass sie in dieser Reihenfolge hinzugefügt werden (dh wenn Sie sie hinzufügen, verwenden Sie sie in dieser Reihenfolge, wenn Sie sie in umgekehrter Reihenfolge einfügen).

Dies reduziert den Lärm ungemein. Es bietet auch tatsächliche Sicherheit (gegen Brute-Forcing) im Gegensatz zur wahrgenommenen Sicherheit beim Ändern des Ports. Ich würde jedoch weiterhin empfehlen, den Port zu ändern, wenn dies in Ihrer Umgebung möglich ist. Es wird auch den Geräuschpegel reduzieren ...

Sie können dies immer noch mit fail2ban kombinieren, obwohl ich ohne es und nur mit den oben genannten Regeln gut lief.

BEARBEITEN:

Auf diese Weise können Sie sich selbst aussperren, sodass Sie Folgendes hinzufügen können, mit dem Sie das Sperren aufheben können, indem Sie an einen bestimmten Port klopfen:

iptables -A INPUT -i if0 -p tcp --dport <knockport> -m state --state NEW -m recent --name tarpit --remove
0xC0000022L
quelle
2
Ich benutze dies und schaffe es, mich gelegentlich zu blockieren, um einen anderen Port einzurichten, an dem Sie "anklopfen" können, um Ihr Verbot aufzuheben.
Benlumley
@benlumley: guter Punkt. Das Anklopfen von Ports kann ähnlich nützlich sein wie das Ändern des Standardports - oder sogar beider in Kombination ...
0xC0000022L
@benlumley: habe deinen Kommentar gesehen (jetzt von Sam entfernt). Ich habe absolut nichts dagegen, wenn die Antwort bearbeitet / verbessert wird;)
0xC0000022L
15

Sie könnten fail2ban oder ähnliche Methoden wie das Sperren von SSH auf Ihre IP implementieren . Leider versuchen Bots die ganze Zeit bruteforce zuzugreifen, so dass es ganz normal ist, dass Sie sicherstellen müssen, dass Sie ein gutes Passwort haben.

Jakob
quelle
3
Wenn Sie SSH verwenden, ziehen Sie die Authentifizierung mit öffentlichem Schlüssel in Betracht. Dies ist etwas sicherer als die Kennwortauthentifizierung.
Piskvor
12

Ja . Das ist heutzutage ganz normal.

Verwenden Sie nach Möglichkeit nur die Authentifizierung mit öffentlichem Schlüssel für Verwaltungszwecke. Generieren Sie einen privaten Schlüssel auf Ihrer Workstation:

$ ssh-keygen -t dsa

Kopieren Sie den Inhalt von ~ / .ssh / id_dsa.pub an Ihre Server ~ / .ssh / authorized_keys (und /root/.ssh/authorized_keys, falls Sie eine direkte Root-Anmeldung benötigen).

Konfigurieren Sie die Server / etc / ssh / sshd_config so , dass nur die Authentifizierung mit öffentlichen Schlüsseln akzeptiert wird:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin without-password

Wenn Sie zu viele Server haben, können Sie mit Puppet öffentliche Schlüssel und Konfigurationen für diese ausführen.

Sehen Sie sich Denyhosts und fail2ban an, um wiederholte SSH-Anmeldeversuche zu blockieren, und sehen Sie Snort, wenn Sie vollständige IDS / IPS benötigen.

jkj
quelle
2
Ich würde nicht empfehlen, die Authentifizierung mit öffentlichem Schlüssel in SSH für den Shell-Zugriff auf Ihren Server zu verwenden. Wenn Ihre Workstation kompromittiert oder sogar gestohlen wird, kann jetzt jemand offen auf Ihre Server zugreifen, ohne dass ein Kennwort erforderlich ist. Die Authentifizierung mit öffentlichen Schlüsseln ist eher für Situationen gedacht, in denen Sie ein Skript oder Programm benötigen, um SSH-Zugriff auf ein anderes System zu erhalten, ohne ein Kennwort zu benötigen, sodass Sie keine Klartextkennwörter in Ihr Skript / Programm einbetten müssen.
Registrierter Benutzer
5
@ Gelöschter Account: Sie können eine Passphrase für den privaten SSH-Schlüssel festlegen.
Phil Cohen
2
Der Kommentar "Registrierter Benutzer" ist falsch. Zur Verdeutlichung: Legen Sie immer ein gutes Kennwort für Ihren privaten Schlüssel fest und speichern Sie den privaten Schlüssel nicht auf Servern. Behalten Sie den privaten Schlüssel auf Ihrer eigenen Workstation. Sobald Sie den Schlüssel zu einem ssh-agent-Programm hinzugefügt und Ihr Kennwort eingegeben haben, können Sie sich bei jedem System anmelden, auf dem der öffentliche Schlüssel installiert ist, ohne dass Sie Ihr Kennwort erneut eingeben müssen. Aktivieren Sie die Agentenweiterleitung in Ihrem ssh-Client, damit Sie sich von Server zu Server anmelden können. Es ist schlecht, Ihren privaten Schlüssel gestohlen zu bekommen, aber mit einem anständigen Passwort ist es nicht so schlecht wie ein gestohlenes Passwort.
Martijn Heemels
Denken Sie nicht einmal daran, die privaten Schlüssel des Administrators unverschlüsselt zu speichern.
Yrk
8

benutze http://denyhosts.sourceforge.net/

und ja, Sie sollten die Authentifizierung mit öffentlichem Schlüssel verwenden und die Kennwortauthentifizierung deaktivieren.

Nummer 5
quelle
Das Deaktivieren der Kennwortauthentifizierung ist nicht immer eine praktikable Lösung.
Publiccert
6

Die Versuche sind mechanisiert, daher scheinen die Zahlen in Ordnung zu sein (ja, sie sind hoch im Vergleich zu einigen Websites und niedrig im Vergleich zu anderen). Sie sollten die Schritte ausführen, die Sie normalerweise ausführen müssen: Sie betrachten Ihre Websites jeden Tag als Angriffsziele, auch wenn Sie keinen Angriff erkennen. Einen Angriff nicht zu erkennen, bedeutet nicht, dass er nicht existiert .

adamo
quelle
6

Ich würde sagen, nur 500 zu bekommen, ist ein bisschen niedrig.

Bei einem früheren Arbeitgeber nannte einer der Computer-Sicherheitsforscher den ständigen Strom von Einbruchsversuchen das "Internet-Äquivalent von kosmischem Rauschen ". Er beschrieb es als einen normalen, kontinuierlichen Fluss böswilligen Verkehrs, der im Internet nach Systemen suchte und automatisch Skripte ausnutzte, um zu versuchen, das System zu entführen. Bot-Netze und andere bösartige Systeme würden das Internet ständig nach anfälligen Systemen wie SETI durchsuchen und diese erneut durchsuchen.

James Schek
quelle
6

Ja,

das ist üblich, aber das heißt nicht, dass du nicht den guten Kampf führen sollst. Hier sind einige Schritte, wie Sie Ihren Server sicherer machen können.

Vermeiden Sie mit DNS verbundene IP-Adressen

Sie können diese Anzahl in gemeinsam genutzten Umgebungen oder Colocation-Umgebungen erheblich reduzieren, indem Sie den SSH-Zugriff auf IP-Adressen deaktivieren, die mit Domänennamen verknüpft sind. Nicht aufgeführte Nicht-Domain-IP-Adressen erhalten weniger von dieser Art von Datenverkehr. Kaufen Sie daher eine nicht aufgeführte IP und verwenden Sie diese IP nur für den SSH-Zugriff.

Verwenden Sie für alle SSH-Zugriffe ein VPN

Wenn Sie sich in einer Umgebung befinden, in der Sie IPsec / VPN in einem privaten Netzwerk in Ihrer Serverumgebung implementieren können, ist dies ideal. Deaktivieren Sie den gesamten SSH-Internetzugang und stellen Sie sicher, dass Sie über eine integrierte Lights-Out-Lösung verfügen. Richten Sie Ihr VPN ein und erlauben Sie nur den SSH-Zugriff von Ihrem VPN aus.

Implementieren Sie IP-Adressregeln für den SSH-Zugriff

Wenn das VLAN keine Option ist, konfigurieren Sie Ihren Router oder die Firewall-Regeln so, dass nur SSH-Verbindungen aus einem bekannten IP-Adressbereich zugelassen werden.

Wenn Sie diese Schritte ausführen, können Sie nachts viel besser schlafen, da Sie wissen, dass jemand das Netzwerk Ihres Hosting-Unternehmens gefährden muss, um über SSH auf den Server zuzugreifen.

Ben DeMott
quelle
5

Es ist ganz normal, Hunderte von fehlgeschlagenen SSH-Verbindungen zu sehen.

Wenn Sie die Option haben, ändere ich einfach meinen SSH-Port auf etwas, das nicht dem Standard entspricht. Es macht Ihren Server nicht unbedingt sicherer, bereinigt aber die Protokolle (und lässt Sie sehen, dass jemand absichtlich versucht, einzudringen!)

Adrian Macneil
quelle
5

Zusätzlich zur Verwendung eines automatischen Sperrmechanismus wie fail2ban haben Sie eine weitere Option: Wenden Sie sich tatsächlich an den ISP der Missbrauchsadresse des Angreifers. Es mag völlig sinnlos erscheinen, aber im Falle des Script-Kiddie ist der ISP mehr als bereit, Maßnahmen gegen sie zu ergreifen.

Um die Missbrauchsadresse zu finden, beginnen Sie mit arin.net und suchen Sie die IP-Adresse mit whois. Möglicherweise werden Sie zu einer anderen regionalen Registrierung umgeleitet, aber möglicherweise finden Sie den zuständigen ISP für den IP-Block, der die Adresse enthält. Suchen Sie nach der abuse @ -Adresse oder senden Sie einfach eine E-Mail an den technischen Kontakt.

Senden Sie ihnen eine höfliche Nachricht mit den entsprechenden Einträgen in der Protokolldatei (stellen Sie sicher, dass Sie alle privaten Informationen entfernen) und fordern Sie sie auf, gegen den betreffenden Host vorzugehen.

JRW
quelle
4
Früher haben wir das gemacht. Die aufgewendete Zeit im Vergleich zu der erhaltenen Leistung war jedoch so gering, dass es keine Rolle spielt.
NotMe
1
Eine Variante dieser Taktik, die effektiver, aber viel riskanter ist, besteht darin, den ISP an den Zwischenknoten zu melden. Aber Sie MÜSSEN einen soliden Nachweis für Ihren Bericht haben. Ich habe einmal einen ganzen ISP in ernsthafte Schwierigkeiten gebracht, weil sie ihre Missbrauchsmeldungen ignorierten.
Staticsan
1
Einmal erreichte die Missbrauchsmeldung den Hacker und nicht einen Verantwortlichen für die Server. Seitdem kümmere ich mich nicht mehr, nur zu viel Mühe.
wump
Dies wird in den meisten Fällen nicht wirklich helfen und kann zeitaufwändig sein
RichVel
4

Ich würde empfehlen, nicht fail2ban zu verwenden, sondern SSH (und andere) auf einem Nicht-Standard-Port auszuführen. Ich glaube nicht an Sicherheit durch Unbekanntheit, aber ich denke, dass dies eine hervorragende Möglichkeit ist, das Rauschen in Ihren Protokollen zu reduzieren.

Fehlgeschlagene Anmeldungen an Nicht-Standard-Ports sind selten und können auch auf gezieltere Angriffe hinweisen.

Sie könnten sogar noch einen Schritt weiter gehen und ein SSH-Honeypot wie Kippo installieren , um die Bruteforcer einzulassen und zu sehen, was sie tun würden, wenn die Chance dazu besteht.

Andy Smith
quelle
Haha, Kippo sieht sehr gut aus. Ich werde es auf einem Server installieren, nur um zu sehen, was sie versuchen zu tun.
wump
4

Ja es ist normal Was ich Kunden in Ihrer Situation mit kleinen Websites erzähle.

Sei immer bereit, gehackt zu werden.

Haben Sie eine Kopie Ihrer Website auf einem Entwickler-Server. Dies kann Ihr Windows-Desktop mit XAMPP sein, den Sie kostenlos erhalten können.

Nehmen Sie IMMER Änderungen an Ihrem Entwickler-Server vor und laden Sie sie dann auf Ihre Live-Website hoch. Wenn es sich um ein CMS wie Wordpress handelt, erstellen Sie Ihre Beiträge auf dem Entwickler-Server, kopieren Sie sie und fügen Sie sie in den Live-Server ein.

Laden Sie NIEMALS etwas von Ihrer Live-Website auf Ihren Entwickler-Server herunter.

Überwachen Sie Ihre Webseiten regelmäßig auf Änderungen, die Sie nicht vorgenommen haben. Insbesondere versteckte Links zu Drogen oder "Enhancement" -Produkten. Sie können viele Browser-Add-Ins und Programme finden, die dies für Sie tun.

Wenn Sie kompromittiert sind. Benachrichtigen Sie Ihren Host, löschen Sie alles, ändern Sie alle Passwörter und laden Sie Ihren sauberen Dev-Server auf den jetzt leeren Webserver hoch. Arbeiten Sie mit Ihrem Host zusammen, um eine Wiederholung zu verhindern.

Sie sollten kein Sicherheitsteam für eine kleine Site benötigen. Das soll Ihr Gastgeber bieten. Wenn dies nicht der Fall ist, besorgen Sie sich einen anderen Host, was viel einfacher ist, wenn Sie einen Entwicklungsserver haben, als den Live-Server zu verschieben.

Hoffe das hilft.

J Litten
quelle
2
+1 für "Sei immer bereit, gehackt zu werden."
user78940
3

Eine andere Möglichkeit, dies zu stoppen (da ich persönlich den SSH-Port nicht gerne verschiebe): Entscheiden Sie, ob Sie alle Netzwerke auflisten können, über die Sie sich jemals anmelden möchten, und lassen Sie dann nur diesen den Zugriff auf Ihren SSH-Port zu.

Mithilfe von WHOIS-Einträgen lokaler ISPs konnte ich die Anzahl der Angriffe auf 1-2 Anmeldeversuche pro Monat reduzieren (damals waren es etwa 1 KB pro Tag). Ich entdeckte sie, indem ich immer noch Denyhosts verwendete .

weh
quelle
3

Zusätzlich zu den anderen hervorragenden Vorschlägen, die Sie bereits erhalten haben, verwende ich gerne die AllowUsers- Direktive, falls dies für den angegebenen Server angemessen ist. Auf diese Weise können sich nur bestimmte Benutzer über SSH anmelden, wodurch die Möglichkeit, über ein nicht sicher konfiguriertes Gast- / Dienst- / Systemkonto Zugriff zu erhalten, erheblich verringert wird.

Beispiel:

AllowUsers admin jsmith jdoe

Die Option AllowUsers gibt an und steuert, welche Benutzer auf ssh-Dienste zugreifen können. Es können mehrere Benutzer angegeben werden, die durch Leerzeichen getrennt sind.

Jay
quelle
3

Ja es ist normal Du kannst :

  • Reduzieren Sie die Angriffsmöglichkeiten mit fwknop

Fwknop ist eine der besseren Port-Knock-Implementierungen, da es nicht fälschbar ist und tatsächlich authentifiziert, anstatt nur eine Verbindung zu autorisieren.

  • Sie können den von Openssh verwendeten Port ändern, die Sicherheit jedoch nicht wirklich verbessern.

  • Verstärken Sie die SSH-Authentifizierung mithilfe von Google-Authentifikator oder Wikid

Dies schützt passwortbasierte Angriffe und die Möglichkeit eines entschlossenen Angreifers / gezielten Angriffs, der Ihren Administratorcomputer angreift und Ihre Kombination aus SSH-Schlüssel und Passwort stiehlt.

Schauen Sie sich einfach die neueste pwn2own-Komposition an, um zu sehen, wie einfach es für einen erfahrenen Angreifer ist, Ihre vollständig gepatchte Admin-Box zu kompromittieren.

Hilton D
quelle
1

Leider ist das ganz normal. Sie sollten erwägen , Ihrem System so etwas wie fail2ban hinzuzufügen, um die Angreifer automatisch zu erkennen und zu bannen. Wenn Sie dies noch nicht getan haben, sollten Sie auch in Betracht ziehen, ssh nur mit öffentlichen Schlüsseln zu verwenden und keine Root-Anmeldung über ssh zuzulassen. Wenn Sie FTP zum Übertragen von Dateien auf das System verwenden, sollten Sie stattdessen scp / sftp verwenden.

user619714
quelle
1

Ich habe Port-Knocking implementiert und habe ein paar Probes pro Tag. Sie bekommen keine Verbindung, also gehen sie weg. Ich melde und melde alle Zugriffe auf die beteiligten Ports.

Ich habe auch fail2ban mit Shorewall als Firewall ausgeführt, um persistente Angreifer vorübergehend auf die schwarze Liste zu setzen.

Wenn Sie keinen Internetzugang für SSH benötigen, deaktivieren Sie ihn. Wenn Sie einige bekannte Adressen haben, für die Remotezugriff erforderlich ist, beschränken Sie den Zugriff auf diese Adressen.

Das Einschränken des Zugriffs auf autorisierte Schlüssel kann ebenfalls hilfreich sein.

BillThor
quelle
0

Ich benutze, pam_ablum vorübergehend Brute Forcer auf die schwarze Liste zu setzen, und es funktioniert großartig. Ich denke, es fühlt sich besser an, eine Autorisierung in PAM mithilfe einer eigenen Datenbank zu haben, als von hosts.denyoder abhängig zu sein iptables.

Ein weiteres Plus ist, dass pam_ables nicht darauf ankommt, Protokolldateien zu scannen.

Christoffer Hammarström
quelle
0

Das ist heutzutage völlig normal.
Sie können ein "Burst" -Limit für die Firewall für eingehende neue Verbindungen auf dem SSH-Port
einrichten oder einen der vielen Protokollparser installieren , um ein Fail2Ban-Problem zu beheben oder den SSH-Port zu ändern.

Der letzte ist der einfachste. Auf stark beladenen Maschinen können solche Einbruchsversuche das gesamte System stark beeinträchtigen.

-
Grüße,
Robert

Robert
quelle
0

Ja es ist normal

Ich habe gerade den SSH-Port vom Standard 22 entfernt. Mein Server, meine Regeln :) Bearbeite einfach / etc / ssh / sshd_config, ändere den Port und starte den Dienst neu. Der einzige Nachteil ist, dass Sie daran denken müssen, diesen Port zu jeder Konfiguration für jeden von Ihnen verwendeten ssh-Client hinzuzufügen.

John
quelle
0
  • Root-Anmeldung deaktivieren (In jedem Linux-System existieren Root-Benutzer, so dass Bots den Benutzernamen leicht erraten können.) Nachdem Sie sich als normaler Benutzer angemeldet haben, können Sie entweder über su oder sudo zu root wechseln.

  • Ändern Sie den Standardport von 22

  • Erlaube ssh-Zugriff nur von bekannten IP-Adressen

  • Verwenden Sie ein starkes alphanumerisches Kennwort für den Benutzer mit SSH-Zugriff

Kevin Parker
quelle