Wie kann man Brute-Force-Angriffe auf SSH verhindern?

2980
slycat

Ich laufe Centos. Wie kann ich einen Brute-Force-Angriff auf meinem SSH-Server am besten vermeiden?

Ich habe diese Liste gefunden:

DenyHosts is a Python based security tool for SSH servers. It is intended to prevent brute force attacks on SSH servers by monitoring invalid login attempts in the authentication log and blocking the originating IP addresses. Explains how to setup DenyHosts under RHEL / Fedora and CentOS Linux. Fail2ban is a similar program that prevents brute force attacks against SSH. security/sshguard-pf protect hosts from brute force attacks against ssh and other services using pf. security/sshguard-ipfw protect hosts from brute force attacks against ssh and other services using ipfw. security/sshguard-ipfilter protect hosts from brute force attacks against ssh and other services using ipfilter. security/sshblock block abusive SSH login attempts. security/sshit checks for SSH/FTP bruteforce and blocks given IPs. BlockHosts Automatic blocking of abusive IP hosts. Blacklist Get rid of those bruteforce attempts. Brute Force Detection A modular shell script for parsing application logs and checking for authentication failures. It does this using a rules system where application specific options are stored including regular expressions for each unique auth format. IPQ BDB filter May be considered as a fail2ban lite. 

hat jemand Erfahrung mit irgendwelchen davon?

0
Vielleicht möchten Sie den SSH-Tag unter Server Fault anschauen. Sie haben solche Fragen abgedeckt. Bobby vor 12 Jahren 0
Ich würde empfehlen, dass Sie ** iptables ** wie in diesem Link http://hostingfu.com/article/ssh-dictionary-attack-prevention-with-iptables verwenden. Der Artikel zeigt ein schönes Beispiel, wie der Zugriff auf SSH alle 60 Sekunden auf 3 Verbindungsversuche beschränkt werden kann, andernfalls wird die IP 60 Sekunden lang auf die IP-Liste gesetzt. Passen Sie das Beispiel Ihren Bedürfnissen an. jaume vor 12 Jahren 0
http://security.stackexchange.com/ faintsignal vor 7 Jahren 0

3 Antworten auf die Frage

2
dset0x

Fail2Ban is great for automatically banning hosts that make multiple failed attempts to access some service with the use of iptables. Even if you do end up banning yourself somehow you can still get a new IP (a phone with an ssh client will work fine) and un-ban yourself.

Guides found via a search engine like Google should help you set it up quickly.

As HayekSplosives noted in his answer, switching to a non standard, high port helps a lot, since most attackers run basic port scans to save time when scanning a large IP range. I've seen huge drops in access attempts switching to port 40000+ from 22.

Mit fail2ban können Sie auch ein Timeout angeben, sodass Verbindungsversuche von einer IP-Adresse für X Minuten blockiert werden. Wenn Sie sich versehentlich aussperren, können Sie es nach X Minuten erneut versuchen - 10 Zeit ist genug mach einen kuppel. FreudianSlip vor 12 Jahren 0
1
HayekSplosives

CentOS hat iptables.

http://wiki.centos.org/HowTos/Network/IPTables

1.) Sie können CentOS so konfigurieren, dass Pakete von Personen außer einer vertrauenswürdigen (Ihrer) IP-Adresse gelöscht werden.

2.) Sie können ssh so konfigurieren, dass ein nicht standardmäßiger Port abgehört wird. Die meisten Angriffe stammen von automatisierten Skripts auf anderen gefährdeten Systemen. Bearbeiten Sie dies in / etc / ssh / sshd_config

3.) Sie können die Kennwortauthentifizierung auf "Nein" setzen und den SSH-Schlüssel Ihres Computers auf dem Server installieren.

Was passiert, wenn ich Nummer 3 (NUR ssh keys) benutze und meinen Schlüssel vergesse? Müsste ich meinen Host dazu bringen, tatsächlich zum Rechner zu gehen und ihn manuell zurückzusetzen? slycat vor 12 Jahren 0
Ja. Wenn Sie Ihr privates Schlüsselkennwort vergessen (wenn Sie eines festgelegt haben) oder einen der beiden Schlüssel verloren haben (und es nicht wiederherstellen können), müssen Sie auf Ihrem Computer ein neues Schlüsselpaar generieren und Ihren öffentlichen Schlüssel auf dem Server manuell ersetzen. jaume vor 12 Jahren 0
0
Petr Pudlák

Schauen Sie sich pam_shield an . Es blockiert vollständig IP-Adressen, von denen es zu viele erfolglose Anmeldeversuche gibt.