¡Esta es una revisión vieja del documento!
Tabla de Contenidos
212.2 Securing FTP servers
Pertenece a Topic 212: System Security
- Weight: 2
- Description: Candidates should be able to configure an FTP server for anonymous downloads and uploads. This objective includes precautions to be taken if anonymous uploads are permitted and configuring user access.
- Key Knowledge Areas:
- Configuration files, tools and utilities for Pure-FTPd and vsftpd
- Awareness of ProFTPd
- Understanding of passive vs. active FTP connections
- Terms and Utilities:
vsftpd.conf- important Pure-FTPd command line options
FTP
FTP (File Transfer Protocol) es un protocolo cliente/servidor que permite compartir archivos entre ordenadores.
Tiene 2 modos de funcionamiento:
- Modo Activo
- Sesión se establece por el puerto 21/TCP.
- Transferencia de datos por el puerto 20/TCP.
- Modo Pasivo
- Sesión se establece por el puerto 21/TCP.
- Transferencia de datos se realiza por el puerto que anuncia el servidor. El cliente volverá a hacer otra conexión a ese nuevo puerto que indica el servidor y comenzará la transferencia.
Clientes
Comandos comunes:
| Comando | Descripción |
|---|---|
open | Abre una sesión FTP con el servidor al que se ha hará referencia. El cliente solicitará de manera interactiva la dirección del servidor. |
close | Cierra la sesión FTP en curso. |
ls | Muestra los archivos contenidos en el directorio remoto actual. |
cd | Cambia el directorio remoto actual. La sintaxis es la misma que la de un shell Linux. |
get | Descarga un archivo del directorio remoto actual en el directorio local actual. |
put | Sube (envía) un archivo del directorio local actual al directorio remoto actual. |
Servidores
Pure-FTPd
Servidor FTP simple, estable y eficaz.
Pure-FTPd se instala mediante el paquete pure-ftpd
Su objetivo es ser apto tanto para principiantes como para entornos de producción en el lugar de trabajo.
Puede ser iniciado fácilmente por línea de comandos sin necesitar un archivo de configuración.
Los usuarios dispondrán de una cuenta de usuario y un directorio personal, donde podrán acceder con su identificador y su contraseña habituales.
pure-ftpd: comando que inicia el servicio (generalmente trabaja sin fichero de configuración)
Opciones:
--help: muestra las opciones posibles--displaydotfile: también muestra los archivos escondidos a los clientes.--anonymousonly: funcionamiento del servidor solo en modo anónimo (si la cuenta ftp existe)--noanonymous: impide cualquier intento de conexión anónimo (incluso si la cuenta ftp existe)--maxidletime: tiempo máximo de inactividad antes de forzar la desconexión.--anonymouscantupload: impide a los usuarios anónimos transferir archivos al servidor--anonymouscancreatedirs: permite a los usuarios anónimos crear directorios.
Se puede activar el acceso anónimo si se ha creado una cuenta de usuario en el servidor llamada ftp en el servidor. Los clientes conectados en modo anónimo trabajarán entonces en el directorio /home/ftp.
Para que funcione el acceso anónimo también hay que lanzar Pure-FTPd de la siguiente manera: pure-ftpd --anonymousonly
Vsftpd
vsftpd (very secure FTP daemon) es un servidor FTP muy popular y sencillo para los sistemas Linux.
vsftpd está disponible en Linux a través del paquete vsftpd
El daemon del servicio es /etc/init.d/vsftpd
El fichero /etc/ftpuser contiene lista de usuarios que no pueden conectarse a través del demonio FTP. El formato es muy simple, se indica un nombre de cuenta (o nombre de usuario) por cada línea.
El fichero de configuración es /etc/vsftpd.conf (o /etc/vsftpd/vsftpd.conf en algunas distros) y su formato se especifica como:
<parámetro>=<valor>
| Parámetros | Descripción |
|---|---|
anonymous_enable | Autoriza o no el acceso anónimo. |
local_enable | Autoriza o no a los usuarios a acceder a su directorio personal |
write_enable | Autoriza o no la subida de archivos al servidor |
anon_upload_enable | Autoriza o no la subida de archivos al servidor a usuarios anónimos |
anon_mkdir_write_enable | Autoriza o no la creación de directorios a usuarios anónimos |
La mayoría de los parámetros tienen como posibles valores YES y NO.
