Configurar un servidor FTP virtual basado en IP

20 01 2010

A continuación vamos a explicar como configurar un servidor FTP virtual basado en IP. Los pasos serán los siguientes:

1. Editaremos el archivo de configuración de ProFTPd, que es proftpd.conf, que se encuentra en la ruta /etc/proftpd/.

  • sudo gedit /etc/proftpd/proftpd.conf

Como hemos comentado anteriormente, vamos a configurar un servidor FTP virtual basado en IP, entonces tenemos que añadir la siguiente directiva:

<VirtualHost IP>

#Directivas y parametros de configuración

</VirtualHost>

Vamos a utilizar la configuración del archivo proftpd.conf de los tutoriales anteriores, simplemente habrá que modificar algunas líneas y nada más. El contenido deberá quedar de la siguiente manera:

<VirtualHost 172.16.100.20>

RequireValidShell on

<Limit LOGIN>

AllowAll

</Limit>

<Anonymous /var/ftp/pub>

User ftp

UserAlias anonymous ftp

<Limit LOGIN>
AllowAll

</Limit>

<Limit WRITE>

DenyAll

</Limit>

RequireValidShell off

</Anonymous>

DefaultRoot ~

TransferLog /var/log/proftpd/transferencia.log

</VirtualHost>

NOTA: Las líneas en negrita son las líneas nuevas que hemos añadido.

A continuación vamos a explicar las directivas que hemos puesto en la imagen anterior:

Como solamente queremos que accedan los usuarios con una shell válida, pondremos el “RequireValidShell” en on.

La directiva LOGIN sirve para limitar a los usuarios, como queremos que accedan al FTP todos los usuarios, pondremos AllowAll.

La directiva Anonymous sirve para acceder de forma anónima, y indicamos el directorio ráiz. Cuando entremos en un sitio anónimo, realmente estaremos usando un usuario del sistema. Ese usuario suele ser ftp. Entonces pondremos “User ftp“.

Por convenio, es mejor usar como usuario “anonymous” para acceder al FTP de forma anónima. Entonces al usuario ftp le pondremos el alias “anonymous“.

Como el usuario ftp no tiene una shell válida, es necesario poner RequireValidShell off. Y por último para que puedan acceder los usuarios anónimos hay que poner la directiva LOGIN y como parámetro AllowAll para que puedan acceder.

Para que el usuario “anonymous” solamente se pueda mover por su home, pondremos DefaultRoot ~

Y por último para que las transferencias de archivos queden guardadas en un log, es necesario indicar una directiva, la ruta, y el archivo donde se guardará dicha información. Pondremos esto:

TransferLog /var/log/proftpd/transferencia.log

3. Para que los usuarios con shell falsa no puedan entrar hay que modificar un archivo, dicho archivo se llama shells.

  • sudo gedit /etc/shells

Como se puede observar en la siguiente imagen, hay que comentar la última línea. Para comentarla se le pone delante la almoadilla, #.

4. Comprobaremos las tarjetas de red que tenemos instalada en nuestro pc. Mediante el siguiente comando te muestra las tarjetas de red instalas en tu ordenador:

  • sudo ifconfig

5. Como se muestra en la imagen anterior, solamente tenemos instalada en nuestro ordenador una tarjeta de red, eth2. Entonces con el siguiente comando, crearemos una tarjeta de red virtual a partir de la tarjeta eth2. Pondremos una IP cualquiera y una máscara de subred predeterminada.

  • sudo ifconfig eth2:1 172.16.100.20 netmask 255.255.0.0

Ahora comprobaremos si se ha creado correctamente la tarjeta de red virtual.

  • sudo ifconfig

6. Reiniciamos ProFTPd.

  • sudo service proftpd restart

7. Abrimos el cliente FTP Filezilla.

Intentamos entrar con el usuario “anonymous“, y accedemos correctamente como se muestra en la siguiente imagen.

En la siguiente imagen, se muestra como intentamos acceder con un usuario con shell falsa, en este caso, jreina no puede acceder porque hemos configurado el FTP para que solo puedan acceder mediante usuario anónimo o bien como usuario real del sistema.

En la siguiente imagen, accedemos con el usuario real del sistema, tardes, y accedemos correctamente. Y en la segunda imagen subimos un archivo txt con dicho usuario, osea, tardes.

NOTA: El usuario jreina fue creado ya, en tutoriales anteriores.

8. En este paso pondremos las capturas del log de ProFTPD.

  • sudo less /var/log/proftpd/proftpd.log

Como se muestra en la siguiente imagen el primer recuadro en rojo, muestra como accede tardes. El segundo recuadro muestra como accede anonymous, y el tercer recuadro muestra como el usuario jreina, con shell falsa,intenta acceder. Estas acciones las hemos echo en el paso anterior, el paso 7.

9. Por último, vamos a ver mediante el log de proftpd el archivo que hemos subido al FTP, con el usuario real del sistema, tardes.

  • sudo less /var/log/proftpd/transferencia.log

NOTA: Para que se puedan ver las subida y bajada de archivos mediante el log, hay que poner esta directiva en el archivo proftpd.conf.

TransferLog /var/log/proftpd/archivo.log

Dicha directiva, la pusimos anteriormente en el archivo proftpd.

Anuncios

Acciones

Information

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: