Article ID: 8119, created on Jun 1, 2012, last review on Mar 31, 2016

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

Síntomas

A veces pueden encontrarse muchos registros "ssl handshake failure" en el archivo de registro sw-cp-server de Parallels Panel (/var/log/sw-cp-server/error_log):

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


Además, los siguientes registros pueden estar presentes en el registro de seguridad del sistema:

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

Causa

Una posible causa de estas entradas en el registro es un ataque directo en sw-cp-server mediante el puerto 8880. Este ataque puede bloquear el rendimiento normal del servicio de forma eventual.

Resolución

Puede resolver esta incidencia realizando cualquiera de las siguientes opciones.

1. Bloquee el host usando reglas de firewall.

Ejemplo 1 (Linux):

Es necesario configurar reglas de firewall (iptables) mediante los siguientes comandos:

#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


Ejemplo 2 (FreeBSD):

a. Cree un script 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. Añada el script a cronjob:

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


Ejemplo 3 (FreeBSD):

Añada una regla al filtro pf:

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


Tenga en cuenta que es necesario cambiar las direcciones IP (192.168.1.0/24 and 202.54.1.5/29) por las requeridas.

2. Bloquee el host usando wrappers tcp.

Ejemplo:

Añada la siguiente regla al archivo /etc/hosts.allow:

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

Información adicional

Existen otros métodos que pueden resultarle útiles para mejorar la seguridad del SO frente a ataques externos, incluidos ataques directos:

- Cambiar el puerto del daemon sshd del puerto 22 a otro puerto
- Usar únicamente autenticación basada en claves
- Cerrar el acceso ssh para el usuario "root"
- Configurar la lista de daemon sshd para que sólo use IPs exclusivas

Obviamente, también existen muchas soluciones de terceros para la misma finalidad:

DenyHosts - analiza los archivos de registro y configura reglas wrapper tcp
Cryptknock - abre el puerto ssh si es necesario
BlockSshd - analiza los registros y configura reglas de firewall
SshGuard - monitoriza los registros y configura firewalls

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

Email subscription for changes to this article
Save as PDF