InicioLinuxInstalando un par de Servidores FTP



FTP, (File Transfer Protocol) es un programa especial que se ejecuta en un servidor conectado normalmente en Internet (aunque puede estar conectado en otros tipos de redes, LAN, MAN, etc.). La función del mismo es permitir el desplazamiento de datos entre diferentes servidores / ordenadores.

En una imagen sería algo así:

Observamos que intervienen tres elementos:

* El servidor FTP, donde subiremos / descargaremos los archivos.
* Usuario 1, es el usuario que en este ejemplo, sube un archivo al servidor FTP.
* Usuario 2, es el usuario que en este ejemplo, se descarga el archivo subido por el usuario 1 y a continuación sube otro archivo.

http://servidorftp.es/


En esta ocasión vamos a instalar un par de Servidores FTP, con distintas variantes y tipos de funcionamiento.

Empezaremos por uno de los más utilizados, Proftpd

ProFTPd es un servidor FTP bajo licencia GPL y multiplataforma, aunque no está para Microsoft Windows. ProFTPd puede ser fácilmente configurable, siendo sus archivos de configuración muy parecidos a los de Apache. Puede ser enjaulado independientemente del sistema de archivos sobre el que trabaje y soporta IPv6.

Lo primero, la instalación:

apt-get install proftpd

Listo, muy difícil de instalarlo hasta ahora eh ..

Ahora pasemos a la configuración..

nano /etc/proftpd/proftpd.conf

Al final del archivo vamos a agregar estas dos líneas:


AccessGrantMsg    "¡Bienvenido al Servidor FTP! "
AccessDenyMsg    "¡Acceso denegado!"


Claramente serán las líneas de bienvenida y de "no" bienvenida a los usuarios que se conecten.

Seguimos con nuestra instalación, ahora vamos a crear una shell falsa para los usuarios.
Creamos el primer usuario:

Creamos primeramente su home..

mkdir /home/dysloke

Y luego sí, su usuario:

useradd -d /home/dysloke -s /bin/false dysloke

Ahora lo hacemos dueño y amo de su home:

chown -R dysloke /home/dysloke

Le asignamos un password al usuario "dysloke"

passwd dysloke (repetir 2 veces la clave)

Listo, ya tenemos creado el primer usuario, repetimos los pasos y creamos otro usuario, ej: "dke"

Cuando tengamos los dos usuarios creados vamos a volver al archivo de configuración del proftpd.

nano /etc/proftpd/proftpd.conf

Y nuevamente al final del archivo añadiremos estas líneas:


<Limit LOGIN>
AllowUser dysloke
DenyAll

</Limit>
RequireValidShell  off

    



De esta manera sólo permitiremos el acceso al usuario "dysloke".

Reiniciamos el servicio:

/etc/init.d/proftpd restart

Y nos conectamos con cualquier cliente FTP como Filezilla o Fireftp para Firefox





Listo, ya lo tenemos funcionando. !



ProFTPd seguro con TLS

Ahora vamos a pasar a una cosa un poquito más segura, como muchos sabrán los datos hasta ahora se pasan en texto plano con la peligrosidad de poder ser sniffeados o robados.

Qué vamos a hacer? Vamos a utilizar un protocolo seguro para nuestro Proftpd (TLS)


Empecemos como si no hubíeramos instalado absolutamente nada..

Instalamos entonces ProFTPd y OpenSSL:

apt-get install protftpd openssl

Editamos el archivo de configuración del ProFTPd:

nano /etc/proftpd/proftpd.conf

Agregamos al final éstas líneas:


DefaultRoot ~
IdentLookups off
ServerIdent on "FTP listo."


Ahora vamos a crear el certificado SSL, para ello crearemos un directorio llamado ssl dentro de la carpeta del ProFTPd:

mkdir /etc/proftpd/ssl

Y luego sí, creamos el certificado con el siguiente comando:


openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem


Completamos los datos que nos pida y listo, tenemos certificado SSL
Ahora vamos a activar la opción del TLS en nuestra configuracion:

nano /etc/proftpd/proftpd.conf

Buscamos la línea "Include /etc/proftpd/tls.conf" y la descomentamos.

Finalmente configuramos el archivo tls.conf

nano /etc/proftpd/tls.conf/

Y seteamos los valores de las líneas que aparecen abajo de la misma manera:



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



Sólo nos quedaría reiniciar el servicio:

/etc/init.d/proftpd restart

Ahora, en el cliente seguiremos los siguientes pasos (Filezilla)






Listo, ya tenemos configurado y funcionando todo


Pasemos a otro servidor FTP, vsFTPd

Vsftpd (Very Secure FTP Daemon) es un equipamiento lógico utilizado para implementar servidores de archivos a través del protocolo FTP. Se distingue principalmente porque sus valores predeterminados son muy seguros y por su sencillez en la configuración, comparado con otras alternativas como ProFTPD y Wu-ftpd. Actualmente se presume que vsftpd es quizá el servidor FTP más seguro del mundo.


Empezamos como siempre por instalarlo!

apt-get install vsftpd

Luego vamos a instalar mysql-server, mysql-client y libpam-mysql:

apt-get install mysql-server, mysql-client libpam-mysql

Lo primero que vamos a hacer es hacer una copia del archivo de configuración de nuestro vsFTPd:

 cp /etc/vsftpd.conf /etc/vsftpd.conf_orig

Luego lo editamos:

 nano /etc/vsftpd.conf

Las líneas que vamos a ir descomentando son las siguientes:


listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem


Y al final de ese archivo agregamos éstas líneas:


guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf


Si son fiacas, pueden descargar el archivo desde acá: BAJAR ARCHIVO DE CONFIGURACION

Ahora vamos a empezar a configurar las cuentas que van a tener acceso a nuestro FTP, para ello utilizaremos MySQL.

mysql -u root -p

Nos logueamos y escribimos:

use mysql

Seguimos estos pasos:

Creamos el usuario en MySQL:


INSERT INTO user (Host, User, Password) VALUES ('localhost','vsftpd',password('123123'));


Le damos los privilegios:


INSERT INTO db (Host, Db, User, Select_priv) VALUES ('localhost','vsftpd','vsftpd','Y');


Actualizamos los privilegios:


FLUSH PRIVILEGES;


Creamos la base de datos vsftpd:


CREATE DATABASE vsftpd;



use vsftpd;



CREATE TABLE `usuarios` (
  `usuario` varchar(30) NOT NULL default '',
  `password` varchar(50) NOT NULL default ''
);


Agregamos el usuario "fantasma"


useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd


Ahora vamos a configurar el archivo vstpd dentro de /etc/pam.d
Borramos todo su contenido y copiamos estas líneas:

nano /etc/pam.d/vsftpd


auth required pam_mysql.so user=vsftpd passwd=123123 host=localhost db=vsftpd table=usuarios usercolumn=usuario passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=123123 host=localhost db=vsftpd table=usuarios usercolumn=usuario passwdcolumn=password crypt=2


Creamos un usuario para probar el FTP en nuestro MySQL:

mysql -u root -p


INSERT INTO usuarios (usuario, password) VALUES ('test',password('12345'));


Creamos un directorio para el usuario "test"


mkdir /home/vsftpd/test


Y cambiamos de grupo al usuario:

chown vsftpd:nogroup test

Ahora intentamos conectarnos con el usuario "test" y la clave "12345" a nuestro FTP



Datos archivados del Taringa! original
0puntos
1,488visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

d
dysloke🇦🇷
Usuario
Puntos0
Posts32
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.