Servidor Perfecto · 3 min read · Feb 10, 2026
El Servidor Perfecto - Ubuntu 14.04 (nginx, BIND, MySQL, PHP, Postfix, Dovecot e ISPConfig 3) - Página 5
16 Instalar PureFTPd Y Cuota
PureFTPd y cuota se pueden instalar con el siguiente comando:
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatoolEdita el archivo /etc/default/pure-ftpd-common…
vi /etc/default/pure-ftpd-common… y asegúrate de que el modo de inicio esté configurado como standalone y establece VIRTUALCHROOT=true:
| [...] STANDALONE_OR_INETD=standalone [...] VIRTUALCHROOT=true [...] |
Ahora configuramos PureFTPd para permitir sesiones FTP y TLS. FTP es un protocolo muy inseguro porque todas las contraseñas y todos los datos se transfieren en texto claro. Al usar TLS, toda la comunicación puede ser cifrada, haciendo que FTP sea mucho más seguro.
Si deseas permitir sesiones FTP y TLS, ejecuta
echo 1 > /etc/pure-ftpd/conf/TLSPara usar TLS, debemos crear un certificado SSL. Lo creo en /etc/ssl/private/, por lo tanto, primero creo ese directorio:
mkdir -p /etc/ssl/private/Después, podemos generar el certificado SSL de la siguiente manera:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pemNombre del país (código de 2 letras) [AU]: <– Ingresa el nombre de tu país (por ejemplo, “DE”).
Nombre del estado o provincia (nombre completo) [Some-State]: <– Ingresa el nombre de tu estado o provincia.
Nombre de la localidad (por ejemplo, ciudad) []: <– Ingresa tu ciudad.
Nombre de la organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <– Ingresa el nombre de tu organización (por ejemplo, el nombre de tu empresa).
Nombre de la unidad organizativa (por ejemplo, sección) []: <– Ingresa el nombre de tu unidad organizativa (por ejemplo, “Departamento de TI”).
Nombre común (por ejemplo, TU nombre) []: <– Ingresa el nombre de dominio completamente calificado del sistema (por ejemplo, “server1.example.com”).
Dirección de correo electrónico []: <– Ingresa tu dirección de correo electrónico.
Cambia los permisos del certificado SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pemLuego reinicia PureFTPd:
service pure-ftpd-mysql restartEdita /etc/fstab. El mío se ve así (agregué,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 a la partición con el punto de montaje /):
vi /etc/fstab| # /etc/fstab: información estática del sistema de archivos. # # Usa 'blkid' para imprimir el identificador único universal para un devicio; esto puede usarse con UUID= como una forma más robusta de nombrar dispositivos que funciona incluso si se agregan y eliminan discos. Ver fstab(5). # # |
Para habilitar la cuota, ejecuta estos comandos:
mount -o remount /quotacheck -avugm
quotaon -avug17 Instalar el Servidor DNS BIND
BIND se puede instalar de la siguiente manera:
apt-get install bind9 dnsutils18 Instalar Vlogger, Webalizer Y AWstats
Vlogger, webalizer y AWstats se pueden instalar de la siguiente manera:
apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perlAbre /etc/cron.d/awstats después…
vi /etc/cron.d/awstats… y comenta todo en ese archivo:
| #MAILTO=root #*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh # Generar informes estáticos: #10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh |
19 Instalar Jailkit
Jailkit solo es necesario si deseas chroot usuarios SSH. Se puede instalar de la siguiente manera (importante: Jailkit debe instalarse antes de ISPConfig - ¡no se puede instalar después!):
apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-goldcd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz
tar xvfz jailkit-2.15.tar.gz
cd jailkit-2.15
./debian/rules binaryAhora puedes instalar el paquete Jailkit.deb de la siguiente manera:
cd ..
dpkg -i jailkit_2.15-1_*.deb
rm -rf jailkit-2.15*20 Instalar fail2ban
Esto es opcional pero recomendado, porque el monitor de ISPConfig intenta mostrar el registro:
apt-get install fail2banPara hacer que fail2ban monitoree PureFTPd y Dovecot, crea el archivo /etc/fail2ban/jail.local:
vi /etc/fail2ban/jail.local| [pureftpd] enabled = true port = ftp filter = pureftpd logpath = /var/log/syslog maxretry = 3 [dovecot-pop3imap] enabled = true filter = dovecot-pop3imap action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp] logpath = /var/log/mail.log maxretry = 5 [postfix-sasl] enabled = true port = smtp filter = postfix-sasl logpath = /var/log/mail.log maxretry = 3 |
Luego crea los siguientes dos archivos de filtro:
vi /etc/fail2ban/filter.d/pureftpd.conf| [Definition] failregex = .*pure-ftpd: \(.*@ |
vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf| [Definition] failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=(?P |
Agrega la línea ignoreregex que falta en el archivo postfix-sasl:
echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.confReinicia fail2ban después:
service fail2ban restartRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.