miércoles, 30 de octubre de 2013

Instalación de un Servidor FTP

Instalación
Vamos a panel superior -> Aplicaciones -> Accesorio -> Terminal y entramos como root luego procedemos a instalar los siguientes paquetes.

 # aptitude install proftpd-basic proftpd-doc

Durante la instalación, debe seleccionarse el modo de funcionamiento "standalone"

Configuración

Toda la configuración de ProFTPD queda almacenada en el archivo /etc/proftpd/proftpd.conf.

La instalación está predeterminada para activar el soporte IPV6 de ProFTPD. Como nuestro servidor apenas soporta IPV4, la opción IPV6 debe desactivarse, con el fin de evitar mensajes de error durante el arranque del servicio.

 #[...]
 # Set off to disable IPv6 support which is annoying on IPv4 only boxes.
 UseIPv6                         off
 #[...]

Verificar que el servidor esté configurado como standalone:

 #
 ServerName                      "Debian"
 ServerType                      standalone
 DeferWelcome                    off
 #

Finalmente, reiniciar el servidor ftp:

 # /etc/init.d/proftpd restart

Opciones de seguridad: restricción de accesos

De forma predeterminada, el servidor ProFTPD permite que el usuario navegue por todo el sistema de archivos al que normalmente tiene acceso. Sin embargo ProFTPD permite restringir el acceso a tan sólo una sección de las ramas del árbol de directorios. De esta forma, el cliente queda confinado a estas ramas, y por ende, no puede acceder a ningún recurso por fuera de este ámbito, lo que constituye una opción muy segura.

En el archivo de configuración de ProFTPD, el parámetro DefaultRoot debe indicar el directorio que permitirá el acceso del cliente vía ftp.
Acceso restringido al home del usuario

Para esto, basta con indicar ~ como DefaultRoot en el fichero /etc/proftpd/proftpd.conf:

 #

 # Use this to jail all users in their homes
 DefaultRoot                     ~

 #

Acceso restringido a un directorio específico

En este caso, se restringe el acceso a un solo directorio específico dentro del directorio home. Para esto, debe crearse primero el respectivo directorio, y después modificar la configuración del servidor en el archivo/etc/proftpd/proftpd.conf:

 #
 DefaultRoot                     ~/ftp
 #

En seguida, cada usuario que pretenda acceder vía ftp, debe crear un directorio llamado ftp, en su home:

 $ mkdir ~/ftp

Por último, debe reiniciar el servicio ftp para activar las alteraciones:

 # /etc/init.d/proftpd restart

Para utilizar se puede acceder desde el navegador colocando ftp://IP_Server_FTP y colocando la clave y el usuario de la maquina se puede acceder a la informacion colocada en la carpeta /ftp

Acceso ftp anónimo

Objetivo

El paquete ProFTPD puede configurarse de modo que permita el acceso a usuarios anónimos en nuestra área restringida. Para evitar usos abusivos, el acceso anónimo sólo debe permitir el acceso en modo lectura, prohibiendo cualquier escritura en el área anónima.

Por seguridad, el acceso también debe restringirse al directorio home de ProFTPD, situado en /home/ftp.
Configuración

Debe activarse la sección Anonymous del archivo /etc/proftpd/proftpd.conf:

 #

 # A basic anonymous configuration, no upload directories.

 <Anonymous ~ftp>
  User                          ftp
  Group                         nogroup
  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias                     anonymous ftp
  # Cosmetic changes, all files belongs to ftp user
  DirFakeUser   on ftp
  DirFakeGroup on ftp

  RequireValidShell             off

  # Limit the maximum number of anonymous logins
  MaxClients                    10

  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin                  welcome.msg
  DisplayChdir                  .message

  # Limit WRITE everywhere in the anonymous chroot
  <Directory *>
    <Limit WRITE>
      DenyAll
    </Limit>
  </Directory>

  # Uncomment this if you're brave.
  # <Directory incoming>
  #   # Umask 022 is a good standard umask to prevent new files and dirs
  #   # (second parm) from being group and world writable.
  #   Umask                             022  022
  #            <Limit READ WRITE>
  #            DenyAll
  #            </Limit>
  #            <Limit STOR>
  #            AllowAll
  #            </Limit>
  # </Directory>

 </Anonymous>

Luego, reiniciar el servicio ftp para activar las alteraciones:

 # /etc/init.d/proftpd restart

Podemos acceder Al servidor ftp a través de un simple navegador, o utilizando un cliente ftp, como Filezilla
usuario: anonymous
passw: 

Acceso seguro FTPS (TLS/SSL) 

Objetivo
El protocolo ftp se considera inseguro, porque los nombres de los usuarios y sus contraseñas se transmiten como simple texto, es decir, sin protección. Por esto, son fáciles de interceptar por terceros.

Sin embargo, el servidor ProFTPD puede ser configurado de modo que pueda exigir la autenticación a los usuarios, así como la transmisión de datos encriptados con la activación del soporte TLS (Transport Layer Security).

Configuración
De manera predeterminada, la configuración de ProFTPD (ver 4.2.1. ProFTPD), el soporte TLS (mod_tls.c) está desactivado. Su activación tiene dos etapas. Primero se debe configurar el módulo TLS en el archivo de configuración /etc/proftpd/tls.conf Segundo, esta configuración debe incluirse en el archivo principal /etc/proftpd/proftpd.conf.

La configuración del módulo TLS se hace en el fichero /etc/proftpd/tls.conf:
 # 

 <IfModule mod_tls.c>
 TLSEngine                               on
 TLSLog                                  /var/log/proftpd/tls.log
 TLSProtocol                             SSLv23

 #

 # Server SSL certificate. # [...]
 #
 TLSRSACertificateFile                    /etc/ssl/certs/server.crt
 TLSRSACertificateKeyFile                 /etc/ssl/private/server.key.insecure

 #

 # Are clients required to use FTP over TLS when talking to this server?
 #
 TLSRequired                             on

 #

Los certificados usados TLSRSACertificateFile y TLSRSACertificateKeyFile ya fueron generados previamente, en 3.5. Certificados Ssl. La opción TLSRequired on obliga a que los clientes ftp utilicen el protocolo TLS, en caso contrario, la conexión será rechazada. Si esta opción fuera desactivada (TLSRequired off), el servidor aceptará conexiones seguras e inseguras.

Esta configuración debe incluirse en el archivo de configuración principall /etc/proftpd/proftpd.conf:

 # 
  
 #
 # This is used for FTPS connections
 #
 Include /etc/proftpd/tls.conf
  
 # 

Por último, debe reiniciarse el servicio ftp para activar las alteraciones:

 # /etc/init.d/proftpd restart

Utilización

Al servidor ftp puede accederse a través de un cliente ftp que soporte el protocolo TLS, como Filezilla. Para esto, deberá indicarse explícitamente que pretendemos una conexión al servidor ftp explícitamente con TLS

Luego de que se establezca la conexión, aparecerá una ventana donde se muestra el certificado utilizado y se pide que se confirme:
Cuando se acepte el certificado, todas las comunicaciones entre el cliente y el servidor estarán encriptadas y seguras.

No hay comentarios:

Publicar un comentario en la entrada