Anda di halaman 1dari 28

TUTORIAL DE INSTALACION Y CONFIGURACION DEL SERVICIO FTP EN SUS 3

MODALIDADES FTP USUARIOS ANONIMOS, USUARIOS LOCALES Y AUTENTICACION DE


USUARIOS EN MYSLQ, EN DEBIAN LENNY 5.0

CONFIGURACION DE SERVIDORES

POR:

FELIPE PANIAGUA V.
CESAR COUTIN
JUAN GONZALEZ
LUCIANA VILLORINA

INSTRUCTOR:

LINA MCKOLL

TECNOLOGIA EN ADMINISTRACION DE REDES DE COMPUTADORES


CENTRO DE SERVICIOS Y GESTION EMPRESARIAL
MEDELLIN-ANTIOQUIA
2010
En este tutorial vamos a explicar paso a paso la configuración del servicio FTP en sus 3 modalidades,
FTP usuarios anonimos, FTP usuarios locales, FTP con autenticación de usuarios en mysql.

Especificaciones:

Sistema Operativo: Debian 5.0 Lenny

Configuración FTP usuarios anonimos.

Abrimos una terminal como root en Debian y actualizamos los repositorios con el comando apt-get
update.

Con el comando apt-get install vsftpd instalaremos el demonio que utilizaremos para nuestro servidor
ftp.
A continuación nos ubicamos en la carpeta /ect/.

En esta carpeta esta el archivo principal de configuración del demonio vsftpd, el cual editaremos de
forma que el servicio FTP nos acepte usuarios anonimos, esto lo haremos de la siguiente manera.

Hacemos una copia de seguridad del archivo de configuración principal vsftpd.conf con el comando
cp , manera que si borramos algo no debido, fácilmente podamos remplazar el archivo original:

Editamos el archivo vsftpd.conf con el editor de texto que ustedes deseen, en este caso lo hacemos con
el editor de texto nano.
Borramos las lineas que no necesitaremos y des comentamos las que no necesitamos

Configuramos el archivo de la siguiente manera.

Listen=YES
anonymous_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vstpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
Con estas lineas el servicio FTP solo dejara acceder a usuarios anonimos

guardamos los cambios y salimos del archivo

Cada vez que se realize un cambio en el archivo vsftpd.conf se debe reiniciar el servicio ftp.

Reiniciamos el servicio ftp, con el comando /etc/init.d/vsftpd restart:

con el comando ftp localhost entramos al ftp y nos logeamos con el usuario y el password por defecto
que son los siguientes:

usuario:ftp
password:ftp
Si intentamos acceder al servicio ftp con el usuario local nos mostrara el siguiente error:

ahora accedemos al servicio ftp desde un navegador web.

En la barra de dirección digitamos ftp://localhost

Ya tenemos instalado y configurado el servicio ftp con el demonio vsftpd, con acceso de usuarios
anonimos.
Servicio FTP con Usuarios Locales:

En la configuración del servicio FTP con usuarios locales no es muy diferentee a la del FTP con
usuarios anonimos, lo que varia es laconfiguraciónn del archivo pdeconfiguraciónn principal del
demonios vsftpd.

De esta forma debe quedar el archivo vsftpd.conf para que pueda acceder usuarios locales, enjaulados,
solo puede ver su propio directorio.

Con el editor de texto nano abrimos el archivo vsftpd.conf


Borramos la lineas que no necesitemos y descomentamos las que necesitamos (borrar # ).

listen=YES: Para que se ejecute vsftpd en modo independiente. No se puede utilizar en conjunto con
listen_ipv6

anonymous_enable=NO: No permitimos que se conecten usuarios anónimos.

local_enable=YES: Permitimos que los usuario locales se puedan conectar.

write_enable=YES: Permitimos poder hacer modificaciones.

dirmessage_enable=YES: Muestra un mensaje cada vez que un usuario entra en un directorio.

xferlog_enable=YES: Vsftpd registra las conexiones y la información de transferencia, por defecto


en /var/log/vsftpd.log

connect_from_port_20=YES: Se permite que el servidor vsftpd abra el puerto 20, para ponerse a la
escucha de peticiones.
ftpd_banner=Welcome to ftp services: Mensaje de bienvenida al conectarse mediante un cliente ftp

chroot_local_user=NO: Permitimos a los usuarios locales que puedan salir de su directorio.


chroot_list_enable=YES: Con esta opción los usuarios locales que se encuentren en el fichero indicado
por chroot_list_file estarán enjaulados en su directorio.
chroot_list_file=/etc/vsftpd.chroot_list: Especifica el fichero que contiene los usuarios a enjaular.

secure_chroot_dir=/var/run/vsftpd: Esta opción especifica el nombre de un directorio vacío. También el


directorio no tiene que tener privilegios para el usuario de ftp. Este es un directorio usado como una
jaula segura chroot y aveces no requiere de acceso al sistema de ficheros.

pam_service_name=vsftpd: Especifica el nombre de PAM (Pluggable Authentication Modules) para


vsftpd

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem: Esta opción especifica la localización del certificado


RSA para usar conexiones SSL. Esta opción viene por defecto.

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key: Esta opción especifica la localización de la


clave privada para las conexiones SSL.

Creamos el archivo que contiene los usuarios que se van a autorizar para acceder al servicio, con el
editor de texto nano creamos el archivo vsftpd.chroot_list en la carpeta /etc:
En el archivo digitamos los nombres de los usuarios locales que les vamos a permitir acceder al
servicio ftp, aclaro que estos ususarios son usuarios del sistema previamente creados con su propio
directorio en /home, en este caso los usuarios del sistema que tengo creados en esta maquina son
elitnetwork y pacho.

Guardamos los cambios y salimos del archivo.

Reiniciamos el servicio con el comando /etc/ini.d/vsftp restart:


Procedemos a hacer las pruebas .

Con el comando ftp localhost acedemos al servicio ftp y nos logeamos con el usuario por defecto del
servicio ftp:

Usuario:ftp
Password:ftp

Podemos ver que nos sale un error Login incorrect eso es por que el servicio ftp ya no permite el acceso
a usuarios anonimos.

Con el comando ftp localhost nos logeamos con el usuario pacho

ususario: pacho
password:1234
Salimos del servicio ftp digitando exit

Con el comando ftp localhost nos logeamos con el usuario elitnetwork

ususario: elitnetwork
password:123

Ahora abrimos el explorador y en la barra de direcciones digitamos ftp://localhost

nos logeamos con el primer usuario:

Usuario: pacho
password:1234
Salimos del servicio ftp (ya sea cerrando el explorador web o abriendo otra pagina web) y borramos el
historial de navegación para acceder con el otro usuario.
Usuario: elitnetwork
password: 123

como podemos ver solo pueden acceder usuarios locales al servicio ftp y solo pueden ver su propio
directorio.
Servicio FTP con autenticacion de usuarios en MYSQL.

A continuación mostraremos la instalacion y configuración del servicio ftp con autenticacion de


usuarios en mysql.

Actualizamos los repositorios con el comando apt-get update:

Para la configuración necesitaremos los paquetes vsftpd mysql-server libpam-mysql, para instalarlos
utilizamos el siguiente comando:

apt-get install vsftpd myslq-server libpam-mysql

En el momento que se esta realizando la instalación del paquete mysql-server nos solicita que
ingresemos la contraseña de administración de mysql, esta contraseña nada tiene que ver con la
contraseña del root de la maquina, ingresa la contraseña, la confirma y le damos en aceptar para
continuar con la instalación del los paquetes.
Luego de tener completamente instalados los paquetes, ingresamos a mysql con el siguiente comando:

mysql -u root -p

Automáticamente nos pide que ingresemos la contraseña de administración de myslq, en ese momento
digitamos la contraseña que le asignamos en el momento de la instalación del paquete mysql-server.

Una ves tengamos acceso a mysql creamos el usuario principal de mysql, también creamos la base de
datos y le damos privilegios al usuario sobre la base de datos. Para esto utilizamos una serie de
comandos, vale recordar que los comando en mysql siempre deben estar terminados en punto y coma
( ; ). Los comandos que vamos a utilizar son los siguientes:

use mysql;
Insertamos el usuario principal:

insert into user (Host, User, Password) values ('localhost', 'ftp', password('ftp'));

insert into db (Host, User, Db, Select_priv) values ('localhost', 'ftp', 'vsftpd', 'Y');

Con esta linea relacionamos el usuario ftp con la base de datos vsftpd.

Le damos los privilegios al usuario ftp sobre la base de datos vsftpd con el siguiente comando:

flush privileges;

Visualizamos si el usuario si esta correctamente creado con el comando:


Select User from user;

creamos la base de datos vsftpd con el comando:

create database vsftpd;

Luego de crearla accedemos a ella:


creamos la tabla usuarios:

create table `usuarios` (`usuario` varchar(255) not null default '', `password` varchar(255) not null
default '');

Esta tabla es la que utilizaremos para almacenar los usuarios que vamos a asociar con el servidor ftp.

Insertamos el usuario con el que vamos a acceder al servicio ftp:

insert into usuarios (usuario, password) values ('felipe', password('felipe'));

Verificamos si el usuario si quedo registrado en la tabla usuarios:

Select * from usuarios;

salimos de mysql digitando exit.


Con el editor de texto nano, o el que ustedes deseen, vamos a configurar el archivo /etc/pam.d/vsftpd,
este archivo es el que permite la conexión de ftp y mysql-server.

Comentamos todas la lineas y agregamos agregamos las siguientes :

auth required /lib/security/pam_mysql.so user=ftp passwd=ftp host=localhost db=vsftpd


table=usuarios usercolumn=usuario passwdcolumn=password crypt=2

account required /lib/security/pam_mysql.so user=ftp passwd=ftp host=localhost db=vsftpd


table=usuarios usercolumn=usuario passwdcolumn=password crypt=2

session required /lib/security/pam_mysql.so user=ftp passwd=ftp host=localhost db=vsftpd


table=usuarios usercolumn=usuario passwdcolumn=password crypt=2

En este documento las lineas parecen ser 6 pero en realidad en el archivo de configuración son
solamente 3, por que la linea es muy extensa, es importante tener en cuenta eso a la hora de agregarlas
en el archivo /etc/pam.d/vsftpd.
Los parámetros resaltados en rojo es la contraseña que le dimos al usuario que insertamos para utilizar
el servicio ftp.

guardamos los cambios y salimos del documento.

Nos dirigimos a la carpeta /etc como ya lo hemos explicado antes en esta carpeta esta ubicado el
archivo de configuración principal de vsftpd, hacemos una copia de seguridad de este archivo con el
comando cp:

cp vsftpd.conf vsftpd.org

con el editor de texto que deseen en mi caso utilizo nano procedemos a editar el archivo vsftpd.conf:
Borramos las lineas que no necesitamos y des comentamos las que vamos a utilizar, las que no estén
las agregamos manualmente.

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
nopriv_user=ftp
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
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
Creamos el usuario en el sistema que se encargara de conectar con el demonio vsftpd cada vez que
accedamos al servicio.
Agregamos el usuario al grupo nogroup:

adduser vsftpd nogroup

Creamos la carpeta home para este usuario, ubicados en /home digitamos mkdir vsftpd

En esta carpeta vsftpd creamos la carpeta del usuario que agregamos para utilizar el servicio ftp.
Le damos permisos de usuario y de grupo de esta carpeta al usuario vsftpd con el comando chown
vsftpd.nogroup *; con esto la carpeta pertenece al usuario vsftpd y al grupo nogroup.

Reiniciamos el servicio con el comando /etc/init.d/vsftpd restart

Utilizamos el comando ftp localhost para acceder al servicio ftp, el servido ftp nos pregunta por el
nombre de usuario y la contraseña en este caso es el que agregamos anteriormente en la base de datos

name: felipe

password: felipe

y si el servicio esta correctamente configurado el servidor ftp nos muestra el mensaje login successful
como lo enseña la siguiente imagen.
Abrimos un navegador web y en la barra de dirección digitamos ftp://localhost para acceder al servicio
desde el navegador.

Nos logeamos con el mismo usuario que utilizamos en la prueba anterior ya que este es el único que
por ahora tenemos almacenado en la base de datos.

El directorio se muestra vacio por que aun no hemos subido nada al ftp.

En este punto terminamos la configuración del servicio FTP en sus 3 modalidades, FTP usuarios
anonimos, FTP usuarios locales y FTP con autenticación de usuarios en MYSQL, espero sea de su
agrado.
Reconocimiento - No comercial - Compartir igual: El material creado por un artista puede ser
distribuido, copiado y exhibido por terceros si se muestra en los créditos. No se puede obtener ningún
beneficio comercial y las obras derivadas tienen que estar bajo los mismos términos de licencia que el
trabajo original.

Anda mungkin juga menyukai