CONFIGURACION DE SERVIDORES
POR:
FELIPE PANIAGUA V.
CESAR COUTIN
JUAN GONZALEZ
LUCIANA VILLORINA
INSTRUCTOR:
LINA MCKOLL
Especificaciones:
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
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
Cada vez que se realize un cambio en el archivo vsftpd.conf se debe reiniciar el servicio ftp.
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:
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.
listen=YES: Para que se ejecute vsftpd en modo independiente. No se puede utilizar en conjunto con
listen_ipv6
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
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.
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.
ususario: pacho
password:1234
Salimos del servicio ftp digitando exit
ususario: elitnetwork
password:123
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.
Para la configuración necesitaremos los paquetes vsftpd mysql-server libpam-mysql, para instalarlos
utilizamos el siguiente comando:
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;
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.
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.
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:
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.
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.