Seguridad Servidor · 4 min read · Nov 29, 2025
Cómo asegurar su servidor ISPConfig 3 contra el ataque SSL poodle
Versión 1.2
Autor: Till Brehm
Sigue a howtoforge en Twitter
Publicado 2014-10-16
En la siguiente guía describiré los pasos para asegurar su servidor contra el reciente ataque SSL poodle. Utilizaré un servidor perfecto ISPConfig 3 en Debian 7 para mis ejemplos, pero los mismos pasos funcionarán en cualquier otra distribución de Linux. Un servidor de hosting ISPConfig por defecto ejecuta los siguientes servicios: Servidor Web (Nginx o apache), Servidor de Correo (Postfix y Dovecot / Courier), Servidor FTP (pure-ftpd) que ofrecen conexiones SSL / TLS y son objetivos potenciales para un ataque poodle.
Asumo que ha iniciado sesión en su servidor como usuario root. Si trabaja en Ubuntu y no ha iniciado sesión como root, entonces anteponga “sudo” a todos los comandos o ejecute “sudo -“ para convertirse en usuario root.
Servidor Web Apache
Para asegurar un servidor web apache, se debe agregar la línea
SSLProtocol all -SSLv2 -SSLv3
en cada vhost SSL en el servidor. Si la configuración de SSLProtocol no se establece explícitamente en un vhost, entonces se aplica la configuración global. En el caso de un servidor ISPConfig 3, la configuración de SSLProtocol se puede establecer globalmente ya que los vhosts no sobrescriben esa configuración. En un servidor Debian o Ubuntu, abra el archivo /etc/apache2/mods-available/ssl.conf en un editor
nano /etc/apache2/mods-available/ssl.conf
desplácese hacia abajo hasta que vea las líneas:
SSLProtocol all -SSLv2
y cámbielas a:
SSLProtocol all -SSLv2 -SSLv3
Luego reinicie apache
service apache2 restart
Servidor Web Nginx
Para un servidor web nginx, se debe agregar la línea
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
en cada sección SSL server { }. Si la configuración de SSLProtocol no se establece explícitamente en una sección server { }, entonces se aplica la configuración global de la sección http { }. En el caso de un servidor ISPConfig 3, la configuración de SSLProtocol se puede establecer globalmente en la sección http { } ya que las secciones server { } no sobrescriben esa configuración. En un servidor Debian o Ubuntu, abra el archivo /etc/nginx/nginx.conf en un editor
nano /etc/nginx/nginx.conf
y agregue la línea:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
despues de la línea:
http {
y luego reinicie nginx:
service nginx restart
Servidor de correo Postfix
Para forzar a postfix a no suministrar el protocolo SSLv2 y SSLv3, ejecute estos comandos:
postconf -e ‘smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3’
postconf -e ‘smtpd_tls_protocols=!SSLv2,!SSLv3’
postconf -e ‘smtp_tls_protocols=!SSLv2,!SSLv3’
Esto agregará las líneas:
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
smtpd_tls_protocols = !SSLv2,!SSLv3
smtp_tls_protocols = !SSLv2,!SSLv3
en el archivo /etc/postfix/main.cf. Luego ejecute este comando para aplicar la nueva configuración:
service postfix restart
Servidor Dovecot IMAP / POP3
Dovecot admite configuraciones de protocolo SSL en la versión 2.1 y posteriores. Así que el primer paso es averiguar qué versión de dovecot está utilizando. El comando es:
dovecot –version
en mi servidor obtuve el siguiente resultado:
root@server1:~# dovecot –version
2.1.7
root@server1:~#
lo que indica que mi servidor admite configuraciones ssl_protocol.
Edite el archivo de configuración de dovecot
nano /etc/dovecot/dovecot.conf
y agregue la línea
ssl_protocols = !SSLv2 !SSLv3
derecho después de la línea ssl_key, así que su archivo debería verse así:
ssl_key = ssl_protocols = !SSLv2 !SSLv3
y finalmente reinicie dovecot para aplicar los cambios:
service dovecot restart
Servidor Courier POP3 / IMAP
El servidor courier imap y pop3 ofrece conexiones a través del protocolo SSLv3 por defecto, así que también tenemos que reconfigurarlo. Los archivos de configuración de courier están en la carpeta /etc/courier/. Primero comenzamos con el archivo de configuración del demonio IMAP:
nano /etc/courier/imapd-ssl
Agregue o reemplace las siguientes líneas:
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
Luego edite el archivo de configuración del demonio POP3:
nano /etc/courier/pop3d-ssl
Agregue o reemplace las siguientes líneas:
POP3STARTTLS=YES
POP3_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
Finalmente reinicie los demonios de courier:
service courier-imap-ssl restart
service courier-pop-ssl restart
FTP con pure-ftpd
Asegurar pure-ftpd en Debian y Ubuntu es un poco más complicado ya que el script /usr/sbin/pure-ftpd-wrapper de Debian no admite la opción -J que se utiliza por pure-ftpd para establecer los protocolos ssl. Así que el primer paso es que agreguemos soporte para la opción -J en el script wrapper. Esto no funcionará en Debian 6 ya que la versión de pure-ftpd en Debian 6 es demasiado antigua y no tiene una configuración para los protocolos SSL. Así que la única opción para los usuarios de Debian 6 será actualizar a Debian 7. Abra el archivo
nano /usr/sbin/pure-ftpd-wrapper
y desplácese hacia abajo hasta la línea
‘TLS’ => [‘-Y %d’, \&parse_number_1],
y agregue esta nueva línea justo después:
‘TLSCipherSuite’ => [‘-J %s’, \&parse_string],
Finalmente creamos un archivo de configuración que contenga los protocolos SSL que queremos permitir:
echo ‘HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3’ > /etc/pure-ftpd/conf/TLSCipherSuite
para aplicar los cambios, reinicie pure-ftpd. En mi servidor, utilizo pure-ftpd con mysql, así que el nombre del demonio es pure-ftpd-mysql en lugar de solo pure-ftpd.
service pure-ftpd-mysql restart
el resultado debería ser similar a esto:
root@server1:~# service pure-ftpd-mysql restart
Reiniciando el servidor ftp: Ejecutando: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -Y 1 -8 UTF-8 -H -J HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3 -D -b -O clf:/var/log/pure-ftpd/transfer.log -E -u 1000 -A -B
root@server1:~#
así que la opción -J se ha agregado correctamente a la secuencia de inicio del demonio.
Enlaces
- Ataque SSL poodle
- ISPConfig
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.