Documente Academic
Documente Profesional
Documente Cultură
5
VSFTPD (Very Secure FTP server)
SERVICIOS DE RED
COLOMBIA (MEDELLIN)
2010
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
INDICE
Objetivo ............................................................................................................................... 3
Topología ............................................................................................................................. 4
Tabla de direccionamiento .................................................................................................... 6
VSFTPD ................................................................................................................................. 7
VSFTPD & Usuarios virtuales ................................................................................................. 8
VSFTPD ....................................................................................................................................................... 8
Bibliografía ......................................................................................................................... 29
MiNdWiDe - Group 2
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Objetivo
MiNdWiDe - Group 3
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Topología
A continuación se muestra por medio de una imagen la topología que se implementara para la
realización de este proyecto.
MiNdWiDe - Group 4
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Tabla de direccionamiento
Mascara de Gateway
Dispositivo Interfaz Dirección IP
subred predeterminada
SVR-WEB-FTP-01 NIC 192.168.1.253 255.255.255.0 192.168.1.254
PCCLIENTE NIC 192.168.1.1 255.255.255.0 192.168.1.254
MiNdWiDe - Group 6
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
VSFTPD
vsftpd, que significa "muy Secure FTP Daemon", es un servidor FTP para sistemas Unix, incluyendo
Linux. Es licenciado bajo la GNU General Public License. Es compatible con IPv6 y SSL.
vsftpd es el servidor FTP por defecto en Ubuntu, CentOS, Fedora, y distribuciones de Red Hat
Enterprise Linux NimbleX Linux.
MiNdWiDe - Group 7
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
En esta sección veremos cómo instalar y configurar los servicios de FTP para que utilice cuentas
virtuales para el inicio de secciones, esto con el fin de tener una administración de las cuentas que
se utilicen para el servicio de FTP de un amanera centralizada y flexible.
VSFTPD
yum update
Si nuestro servidor hace tiempito que lo tenemos se recomienda actualizar el kernel e iptables, lo
hacemos de la siguiente manera
Debemos tener presente que en CentOS no se inicia automáticamente los servicios, ni tampoco se
inician cuando inicia el sistema, entonces con los siguientes comandos solucionaremos esto.
chkconfig vsftpd on
El primer comando es para que el servicio de ftp se inicie durante el inicio del sistema, el segundo
comando se debe utilizar para reiniciar el servicio si estamos trabajando en CentOS en modo
grafico, y el tercer comando se utiliza si estamos trabajando con CentOS en modo CLI (Interfaz de
Línea de Comandos).
MiNdWiDe - Group 8
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
El comando chkconfig --list | grep vsftpd nos permite visualizar si el servicio realmente si iniciara
durante el inicio del sistema.
MiNdWiDe - Group 9
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
El comando netstat -tan nos confirma que el servicio está en escucha en el puerto predeterminado
21 de tcp.
Con el siguiente comando crearemos el directorio donde alojaremos todos los archivos de
configuración de todos los usuarios virtuales que iremos creando para el servicio de FTP.
Posteriormente a la instalación del paquete db4-utils crearemos el archivo a partir del cual se
creara la base de datos y la cual contendrá los usuarios virtuales que usaremos para el servicio de
FTP.
MiNdWiDe - Group 10
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Observemos que el comando pwd nos ratifica que estamos en la ubicación /etc/vsftpd.
Creamos el archivo virtual-users.txt, en el cual agregaremos los usuarios y passwords los usuarios
deben ir en una linea y los password en otra, ejemplo:
Usuario1
passwordusuario1
usuario2
passwordusuario2
Y asi sucesivamente con todos los uaurios que queramos agregar a la base de datos para que se
puedan loguear en el servicio de FTP.
MiNdWiDe - Group 11
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Nota: si deseamos en un futuro agregar más usuarios para permitir en FTP debemos crear
nuevamente el archivo virtual-users.txt con los usuarios existentes y los nuevos que se permitirán
y generar nuevamente el archivo virtual-users.db con el comando anterior.
MiNdWiDe - Group 12
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
A continuación crearemos un archivo PAM, en el cual especificaremos el archivo que contendrá los
usuarios que se permitirán loguear en el servicio de FTP.
nano /etc/pam.d/vsftpd-virtual
MiNdWiDe - Group 13
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
cp -v vsftpd.conf vsftpd.conf-orig
MiNdWiDe - Group 14
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Ejecutaremos el comando:
> /etc/vsftpd/vsftpd.conf
Esto con el fin de limpiar todo la información que contenga el archivo vsftpd.conf y empezar a
agregar las directivas que requerimos.
MiNdWiDe - Group 15
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
background=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
virtual_use_local_privs=YES
write_enable=YES
pam_service_name=vsftpd-virtual
user_sub_token=$USER
local_root=/var/www/html/$USER
anon_root=/var/www/ftp
chroot_local_user=YES
hide_ids=YES
listen=YES
listen_port=21
pasv_min_port=65500
pasv_max_port=65535
connect_from_port_20=YES
local_umask=022
max_clients=20
max_per_ip=10
secure_chroot_dir=/usr/share/empty
Si observamos el directorio root del servicio FTP será /var/www/html, y que en el cual se irán
creando los directorios root para cada sitio web que demos de alta en Apache. Y que el nombre
del servicio de PAM que vamos a utilizar es el archivo que creamos vsftpd-virtual.
MiNdWiDe - Group 16
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
chkconfig httpd on
mkdir -p /usr/share/empty
mkdir -p /var/www/ftp
A continuación crearemos los directorios raíz para cada usuario que agregamos en el archivo de
base de datos de usuarios virtual-users.txt y que lo pasamos a una base de datos anteriormente.
mkdir /var/www/html/adminjoomla
mkdir /var/www/html/adminjoomla
chown ftp:ftp /var/www/html
MiNdWiDe - Group 17
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Con esto estamos creando los directorios, igualmente estamos especificando que el directorio
/var/www/html pertenece a el usuario ftp e igualmente a el grupo ftp, el usuario ftp y grupo ftp
se creó cuando instalamos el servicio de vsftpd.
NOTA: es importantísimo que los nombres de los directorios sean los mismos que los nombres
de usuarios que se definieron en el archivo virtual-users.txt, muy importante.
Con la ejecución de este comando estamos especificando que el nuevo directorio del usuario ftp
será /var/www.
MiNdWiDe - Group 18
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Y podemos observar con el comando ls –la /var/www que efectivamente el nuevo propietario de
la carpeta html es ftp y que el grupo es ftp.
MiNdWiDe - Group 19
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
MiNdWiDe - Group 20
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Observemos que nos saca un error que es 500 OOPS cannot change directory /var/www, esto es
porque el selinux de CentOS nos está prohibiendo cambiar de directorio para solucionar esto
ejecutamos el siguiente comando:
setsebool -P ftp_home_dir=1
MiNdWiDe - Group 21
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
MiNdWiDe - Group 22
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Y de momento observamos que no nos conecta con el servidor, esto es porque debemos abrir el
puerto 20 y 21 en el firewall de CentOS que es iptables.
iptables -L
MiNdWiDe - Group 23
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
MiNdWiDe - Group 24
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Observemos que ya nos conecta pero se queda en LIST o sea se queda listando y no se obtiene
ninguna respuesta por parte del servidor, NUEVAMENTE TENEMOS QUE EDITAR EL Firewall.
Y modificaremos la directiva:
Por
MiNdWiDe - Group 25
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
NOTA: no se pueden dejar saltos de línea ya que si se dejan nos generaría un error y no iniciaría
nuestro Firewall.
iptables -L
MiNdWiDe - Group 26
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
MiNdWiDe - Group 27
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
setsebool -P ftpd_disable_trans 1
Y reiniciamos el equipo.
MiNdWiDe - Group 28
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Bibliografía
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
http://en.wikipedia.org/wiki/Vsftpd
http://xyzvn.com/linuxunix/setup-of-vsftpd-virtual-users.html
MiNdWiDe - Group 29
Mind Wide Open™
BLOG – http://jfherrera.wordpress.com
VSFTPD & Virtual Users | CentOS 5.5
GROUP | “???”
Gracias…
Jhon Fredy Herrera Osorno
MiNdWiDe - Group 30