FTP es un protocolo muy inseguro porque todas las contraseñas y todos los datos se transfieren en texto claro. Mediante el uso de TLS, toda la comunicación se puede cifrar, lo que hace que el FTP sea mucho más seguro. Este artículo explica cómo configurar ProFTPd con TLS en un servidor Debian Squeeze.
¡No emito ninguna garantía de que esto funcione para usted!
1 nota preliminar
En este tutorial utilizo el nombre de host server1.example.com con la dirección IP 192.168.0.100. Estas configuraciones pueden diferir para usted, por lo que debe reemplazarlas cuando corresponda.
2 Instalación de ProFTPd y OpenSSL
TLS necesita OpenSSL; para instalar ProFTPd y OpenSSL, simplemente ejecutamos:
apt-get install proftpd openssl
Se le hará una pregunta:
Ejecute proftpd:<-- independiente
Por razones de seguridad, puede agregar las siguientes líneas a /etc/proftpd/proftpd.conf (gracias a Reinaldo Carvalho; puede encontrar más información aquí:http://proftpd.org/localsite/Userguide/linked/userguide.html):
vi /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...] |
3 Creando el certificado SSL para TLS
Para usar TLS, debemos crear un certificado SSL. Lo creo en /etc/proftpd/ssl, por lo tanto, primero creo ese directorio:
mkdir /etc/proftpd/ssl
Posteriormente, podemos generar el certificado SSL de la siguiente manera:
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
Nombre del país (código de 2 letras) [AU]:<-- Ingrese el nombre de su país (por ejemplo, "DE").
Nombre del estado o provincia (nombre completo) [Algún estado]:<-- Ingrese su estado o nombre de la provincia.
Nombre de la localidad (p. ej., ciudad) []:<-- Ingrese su ciudad.
Nombre de la organización (p. ej., empresa) [Internet Widgits Pty Ltd]:<-- Ingrese el nombre de su organización (p. ej., el nombre de su empresa).
Nombre de la unidad organizativa (p. ej., sección) []:<-- Ingrese el nombre de su unidad organizativa (p. ej., "Departamento de TI").
Nombre común (p. ej., SU nombre) []:<-- Ingrese el nombre de dominio completo del sistema (por ejemplo, "servidor1.ejemplo.com").
Dirección de correo electrónico []:<-- Ingrese su dirección de correo electrónico.
4 Habilitación de TLS en ProFTPd
Para habilitar TLS en ProFTPd, abra /etc/proftpd/proftpd.conf...
vi /etc/proftpd/proftpd.conf
... y descomente la línea Incluir /etc/proftpd/tls.conf:
[...]
#
# This is used for FTPS connections
#
Include /etc/proftpd/tls.conf
[...] |
Luego abra /etc/proftpd/tls.conf y haga que se vea de la siguiente manera:
cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
cat /dev/null > /etc/proftpd/tls.conf
vi /etc/proftpd/tls.conf
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
</IfModule> |
Si usa TLSRequired activado, solo se permiten las conexiones TLS (esto bloquea a los usuarios con clientes FTP antiguos que no tienen soporte TLS); al comentar esa línea o usar TLSRequired, se permiten conexiones TLS y no TLS, según lo que admita el cliente FTP.
Reinicie ProFTPd después:
/etc/init.d/proftpd restart
Eso es todo. Ahora puede intentar conectarse usando su cliente FTP; sin embargo, debe configurar su cliente FTP para usar TLS (esto es obligatorio si usa TLSRequired en) - vea el siguiente capítulo sobre cómo hacer esto con FileZilla.
Si tiene problemas con TLS, puede consultar el archivo de registro de TLS /var/log/proftpd/tls.log.
5 Configuración de FileZilla para TLS
Para usar FTP con TLS, necesita un cliente FTP que admita TLS, como FileZilla.
En FileZilla, abra el Administrador del servidor:
Seleccione el servidor que utiliza ProFTPd con TLS; en el menú desplegable Tipo de servidor, seleccione FTPES en lugar de FTP normal:
Ahora puede conectarse al servidor. Si hace esto por primera vez, debe aceptar el nuevo certificado SSL del servidor:
Si todo va bien, ahora debería iniciar sesión en el servidor:
6 Enlaces
- ProFTPd:http://www.proftpd.org/
- FileZilla:http://filezilla-project.org/
- Debian:http://www.debian.org/