Article ID: 8119, created on Nov 26, 2012, last review on Mar 31, 2016

  • Applies to:
  • Odin Business Automation Standard 4.5
  • Plesk for Linux/Unix

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

a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c 400e18f6ede9f8be5575a475d2d6b0a6 caea8340e2d186a540518d08602aa065 624ca542e40215e6f1d39170d8e7ec75 70a5401e8b9354cd1d64d0346f2c4a3e

Email subscription for changes to this article
Save as PDF