GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo proteger su servidor ISPConfig 3 contra el ataque SSL de caniche

Versión 1.2 
Autor:Till Brehm 
 Sigue a howtoforge en Twitter
Publicado   el 16 de octubre de 2014

En la siguiente guía, describiré los pasos para asegurar su servidor contra el reciente ataque SSL de poodle. Usaré un servidor perfecto ISPConfig 3 en Debian 7 para mis ejemplos, pero los mismos pasos también funcionarán en cualquier otra distribución de Linux. Un servidor de alojamiento ISPConfig predeterminado ejecuta los siguientes servicios:Servidor web (Nginx o apache), servidor de correo (Postfix y Dovecot / Courier), Servidor FTP (puro-ftpd) que ofrecen conexiones SSL/TLS y son objetivos potenciales para un ataque de caniche.

Supongo que ha iniciado sesión en su servidor como usuario root. Si trabaja en Ubuntu y no ha iniciado sesión como root, anteponga "sudo" a todos los comandos o ejecute "sudo -" para convertirse en usuario root.

Servidor web Apache

Para proteger un servidor web apache, la línea

Protocolo SSL todos -SSLv2 -SSLv3

debe agregarse en cada host virtual SSL en el servidor. Si la configuración de SSLProtocol no se establece explícitamente en un host virtual, se aplica la configuración global. En el caso de un servidor ISPConfig 3, la configuración de SSLProtocol se puede configurar globalmente ya que los vhosts no anulan esa configuración. En un servidor Debian o Ubuntu, abra el archivo /etc/apache2/mods-disponible/ssl.conf en un editor

nano /etc/apache2/mods-disponible/ssl.conf

desplácese hacia abajo hasta que vea las líneas:

# habilitar solo protocolos seguros:SSLv3 y TLSv1, pero no SSLv2
Protocolo SSL todos -SSLv2

y cámbielos a:

# habilitar solo protocolos seguros:pero no SSLv2 y SSLv3
Protocolo SSL todos -SSLv2 -SSLv3

Luego reinicie apache

reiniciar servicio apache2

Servidor web Nginx

Para un servidor web nginx, la línea

protocolos_ssl TLSv1 TLSv1.1 TLSv1.2;

debe agregarse en cada servidor SSL { } serción. Si la configuración de SSLProtocol no se establece explícitamente en una sección del servidor { }, 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 configurar globalmente en la sección http { } ya que las secciones del servidor { } no anulan 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:

protocolos_ssl TLSv1 TLSv1.1 TLSv1.2;

después de la línea:

http {

luego reinicie nginx:

reiniciar el servicio nginx

Servidor de correo Postfix

Para forzar a postfix a no proporcionar 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:

reinicio de postfijo de servicio

Servidor IMAP / POP3 de Dovecot

Dovecot admite la configuración del protocolo SSL en la versión 2.1 y posteriores. Entonces, el primer paso es averiguar qué versión de palomar usas. El comando es:

palomar --versión

en mi servidor obtuve el siguiente resultado:

[correo electrónico protegido]:~# dovecot --version
2.1.7
[correo electrónico protegido]:~#

lo que indica que mi servidor admite la configuración de ssl_protocol.

Edite el archivo de configuración de dovecot

nano /etc/dovecot/dovecot.conf

y agrega la línea

ssl_protocols =!SSLv2 !SSLv3

justo después de la línea ssl_key, por lo que su archivo debería verse así:


ssl_key =ssl_protocols =!SSLv2 !SSLv3

y finalmente reinicie dovecot para aplicar los cambios:

reinicio del servicio dovecot

Servidor POP3 / IMAP de mensajería

El servidor courier imap y pop3 ofrece conexiones sobre el protocolo SSLv3 de forma predeterminada, por lo que también tenemos que reconfigurarlo. Los archivos de configuración de mensajería 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=SÍ
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1

Luego edite el archivo de configuración del POP3 Daemon:

nano /etc/courier/pop3d-ssl

Agregue o reemplace las siguientes líneas:

POP3STARTTLS=SÍ
POP3_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1

Finalmente, reinicie los demonios de mensajería:

reinicio de servicio courier-imap-ssl
reinicio de servicio courier-pop-ssl

FTP con puro-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 el modificador -J que pure-ftpd utiliza para establecer los protocolos ssl. Entonces, el primer paso es agregar soporte para la opción -J en el script contenedor. Esto no funcionará en Debian 6 ya que la versión de ftpd puro en Debian 6 es demasiado antigua y no tiene una configuración para los protocolos SSL. Entonces, la única opción para los usuarios de Debian 6 será actualizar a Debian 7. Abra el archivo

nano /usr/sbin/pure-ftpd-envoltorio

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 contiene los protocolos SSL que queremos permitir:

echo 'ALTO:MEDIO:+TLSv1:!SSLv2:!SSLv3'> /etc/pure-ftpd/conf/TLSCipherSuite

para aplicar los cambios, reinicie pure-ftpd. En mi servidor, uso pure-ftpd con mysql, por lo que el nombre del demonio es pure-ftpd-mysql en lugar de solo pure-ftpd.

reinicio de servicio pure-ftpd-mysql

el resultado debería ser similar a esto:

[email protected]:~# service pure-ftpd-mysql restart
Reiniciando servidor ftp:En ejecución:/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql .conf -l pam -Y 1 -8 UTF-8 -H -J ALTO:MEDIO:+TLSv1:!SSLv2:!SSLv3 -D -b -O clf:/var/log/pure-ftpd/transfer.log - E -u 1000 -A -B
[correo electrónico protegido]:~#

por lo que la opción -J se ha agregado con éxito a la secuencia de inicio del daemon.

Enlaces

  • Ataque de caniche SSL
  • ISPConfig

Linux
  1. Cómo proteger sus servicios de correo electrónico de Linux con SSL/TLS

  2. Cómo unir su servidor Linux al proyecto de grupo NTP

  3. Verifique el historial de inicio de sesión en su servidor

  4. Cómo quitar la contraseña de su clave SSL

  5. Cómo proteger su servidor Ubuntu con CSF Firewall

Cómo cambiar el nombre de host del servidor en Ubuntu

Cómo hacer una transferencia SSL de Tomcat a Tomcat en CentOS

Cómo proteger el servidor LEMP con Let's Encrypt Free SSL en Ubuntu 18.04 VPS

Cómo ocultar la versión de su servidor NGINX.

¿Cómo cambiar la zona horaria en Ubuntu 18.04 Server?

Cómo proteger SSH con Fail2Ban