Wie Sie Ihr Parallels Plesk vor Brute-Force-Angriffen schützen

Created:

2016-11-16 12:55:46 UTC

Modified:

2017-08-08 13:23:31 UTC

0

Was this article helpful?


Have more questions?

Anfrage einreichen

Wie Sie Ihr Parallels Plesk vor Brute-Force-Angriffen schützen

Applicable to:

  • Plesk for Linux/Unix
  • Odin Business Automation Standard 4.5

Kennzeichen

Manchmal befinden sich in der sw-cp-server Protokolldatei von Parallels Plesk ( /var/log/sw-cp-server/error_log ) viele Einträge zu fehlgeschlagenen SSL-Handshakes:

2009-06-03 22:37:08: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure
2009-06-03 22:46:56: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure
2009-06-03 22:58:49: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure
2009-06-03 23:19:52: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure
2009-06-03 23:31:44: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure
2009-06-03 23:41:18: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure
2009-06-03 23:52:36: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure
2009-06-04 00:02:38: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure

Zusätzlich können sich die folgenden Einträge im Systemsicherheitsprotokoll befinden:

Jan 13 02:54:48 plesk9 sshd[9890]: Failed password for root from ::ffff:125.208.21.3 port 8880 ssh2
Jan 13 07:32:43 plesk9 sshd[11756]: Failed password for root from ::ffff:125.208.21.3 port 8880 ssh2

Ursache

Eine mögliche Ursache solcher Protokolleinträge ist ein Brute-Force-Angriff auf den Dienst "sw-cp-server" über Port 8880. Der Brute-Force-Angriff kann letztendlich dazu führen, dass die normale Leistung des Dienstes blockiert wird.

Lösung

Sie können dieses Problem mithilfe einer der unten aufgeführten Optionen beheben.

  1. Blockieren Sie den Host mittels Firewallregeln.

Beispiel 1 (Linux):

Sie müssen hierfür Regeln für die Firewall (iptables) mithilfe der folgenden Befehle konfigurieren:

#iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource

#iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --rttl --name SSH --rsource -j LOG --log-prefix "SSH_brute_force "

#iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --rttl --name SSH --rsource -j DROP

Beispiel 2 (FreeBSD):

a. Erstellen Sie ein Skript mit dem Namen ssh-fwscan.sh :

#!/bin/sh

if ipfw show | awk '{print $1}' | grep -q 20000 ; then
        ipfw delete 20000
fi
# This catches repeated attempts for both legal and illegal users
# No check for duplicate entries is performed, since the rule
# has been deleted.

awk '/sshd/ && (/Invalid user/ || /authentication error/) {try[$(NF)]++}

END {for (h in try) if (try[h] > 5) print h}' /var/log/auth.log |
while read ip
do
ipfw -q add 20000 deny tcp from $ip to any in
done

b. Fügen Sie das Skript in einen Cronjob ein:

*/10 * * * * root /operator/sshd-fwscan.sh

Beispiel 3 (FreeBSD):

Fügen Sie eine Regel in den PF-Filter ein:

pass in on $ext_if inet proto tcp from {192.168.1.0/24, 202.54.1.5/29} to $ssh_server_ip port ssh flags S/SA synproxy state

Achtung! Sie müssen die IP-Adressen (192.168.1.0/24 und 202.54.1.5/29) durch die erforderlichen Adressen ersetzen.

  1. Blockieren Sie den Host mittels TCP-Wrappern.

Beispiel :

Fügen Sie die folgende Zeile in die Datei /etc/hosts.allow ein:

sshd: <admin IP address>/<netmask> : allow
sshd: ALL : deny

Weitere Informationen

Es gibt noch einige weitere Methoden, mit denen die Betriebssystemsicherheit zum Schutz vor Angriffen von außen (einschließlich Brute-Force-Angriffe) erhöht werden kann:

  • Ändern Sie den Port des SSHD-Daemon von 22 auf eine andere Portnummer
  • Verwenden Sie nur schlüsselbasierte Authentifizierung
  • Schließen Sie den SSH-Zugang für den Benutzer "root"
  • Konfigurieren Sie die Kommunikation des SSHD-Daemon darauf, nur exklusive IP-Adressen zu verwenden

Natürlich gibt es zum selben Zweck auch eine Vielzahl von Drittanbieterlösungen:

DenyHosts - Scannt Protokolldateien und konfiguriert TCP-Wrapper-Regeln

Cryptknock - Öffnet den SSH-Port, falls erforderlich

BlockSshd - Analysiert Protokolldateien und konfiguriert Firewallregeln

SshGuard - Überwacht Protokolldateien und konfiguriert Firewalls

Haben Sie Fragen? Anfrage einreichen
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.