Publicado el 14 de Mayo del 2020
408 visualizaciones desde el 14 de Mayo del 2020
60,9 KB
9 paginas
Creado hace 18a (05/04/2007)
HOWTO Proftpd - Gentoo Linux Wiki
http://es.gentoo-wiki.com/HOWTO_Proftpd
HOWTO Proftpd
De Gentoo Linux Wiki
Este articulo es parte de las series de HOWTO.
Kernel & Hardware • Red y Servicios • Portage • Relacionado con el Sistema • Servidor X • Juegos • Misceláneos
Tabla de contenidos
1 Introduccion
2 Instalacion
3 Configuracion
3.1 Fichero de configuracion proftpd.conf
3.2 Runlevel
3.3 Iptables
4 Uso del servidor Proftpd
4.1 Arranque/Parada/Rearranque
4.2 Creacion/Eliminacion de cuentas
4.3 Control sobre los usuarios
4.4 Cierre por mantenimiento
5 Documentacion extra
6 Créditos
Introduccion
Existen varios servidores de ftp para linux, la seleccion del proftpd ha sido debido a que nunca he tenido problemas
con él y su funcionamiento siempre ha sido el correcto. Debemos de tener en cuenta que el ftp realiza las conexiones
mediante texto plano y por tanto nuestras cuentas son enviadas en texto plano por la red y por tanto la seguridad de
estas es minima, por lo que, para informacion muy delicada seria conveniente que usen sftp(openssh). Una vez
comentado esto comenzaremos con la instalacion de este magnifico servidor ftp.
Instalacion
El proftpd se encuentra para la gran mayoria de plataformas, por lo que casi seguros que dispondremos de este gran
servidor en nuestro "portage":
# emerge proftpd
Configuracion
Fichero de configuracion proftpd.conf
Los ficheros de configuración del proftpd se encuentran en /etc/proftpd/, como veremos tendremos creado un fichero
llamado proftpd.conf.sample, el cual es un fichero de ejemplo para ayudarnos a configurar nuestro servidor. Nos
vamos a centrar en el fichero principal de configuración proftpd.conf, el cuál no estará creado, por lo que deberemos
crearlo:
# touch /etc/proftpd/proftpd.conf
1 de 9
05/04/2007 11:58
HOWTO Proftpd - Gentoo Linux Wiki
http://es.gentoo-wiki.com/HOWTO_Proftpd
Una vez creado comenzaremos la edición del fichero, este se divide en 3 partes. La primera trata de la configuración
del servidor, la segunda los directorios donde tendremos nuestro servidor ftp físico y por ultimo la creación de un
servidor anonymous(esta ultima parte se puede omitir si no es nuestro deseo):
1ªParte:
Indicaremos el nombre de nuestro servidor FTP
ServerName "Nombre_del_servidor"
Tipo de arranque del demonio, si deseamos standalone o inetd:
ServerType standalone
Mensaje de entrada que mostrara nuestro servidor, antes de la autentificacion, Tener en cuenta que en este tipo de
opciones, si eligimos off no deberemos de poner acontinuacion el texto que queremos mostrar("mensaje"), esto ocurre
con todas las opciones parecidas a esta.
DeferWelcome off/on "mensaje"
Nombre identificativo que aparecerá cuando accedamos al ftp
ServerIdent off/on "nombre"
Toma las opciones predeterminadas de un servidor ftp
DefaultServer off/on
Si queremos que muestre la dirección física de nuestro enlace dinamico. Si dicho enlace esta fuera del directorio
destinado al ftp, su acceso no sera posible.
ShowSymlinks off/on
Permite continuar una descarga o subida de un fichero, en la cual la transferencia no se completo. A esta opción se le
conoce como "resume"
AllowRetrieveRestart yes/no
Permite la continuación de una escritura que no se realizo completamente, va unida a la opción anterior
AllowStoreRestart yes/no
Permite la falsificacion del grupo de nuestros ficheros, para el cliente el grupo de los ficheros siempre sera el indicado
en esta opcion
DirFakeGroup on nombre_grupo_falso
Misma funcion que la opcion anterior pero para falsificar el usuario
DirFakeUser on nombre_usuario_falso
2 de 9
05/04/2007 11:58
HOWTO Proftpd - Gentoo Linux Wiki
http://es.gentoo-wiki.com/HOWTO_Proftpd
Falsifica los permisos de nuestros ficheros indicando que todos los ficheros tienen los permisos que le otorguemos,
sigue la nomenclatura numerica del chmod, 1 es ejecucion, 2 es escritura y 4 lectura para el 2bit(usuario), 3 bit(grupo
y 4bit(otros usuarios que no sean el propio dueño del fichero ni un usuario del grupo). El primer bit es un bit especial
que normalmente no se usa, esta relacionado con el bit pegajoso(valor 1) y valores referentes al "sudo", dejar en 0. El
valor X representa un numero dependiendo de nuestra eleccion.
DirFakeMode 0XXX
Numero maximo de segundos que puede estar un cliente sin realizar subida ni bajada de informacion en el ftp. Una
vez sobrepasado el limite cierra la conexion con el cliente.
TimeoutNoTransfer X
Rl numero maximo de segundos que puede estar cliente-servidor sin recibir informacion de una transferencia ya sea
subida o bajada. Es el tiempo limite que dejamos a una subida o bajada cuando se produce un corte y el servidor no
recibe informacion, una vez sobrepasado el limite cancela la operacion de transferencia
TimeoutStalled X
Numero maximo de segundos que puede estar un cliente en el ftp, sin realizar movimientos, ya sea desplazarse por el
ftp como subir o bajar informacion. Una vez sobrepasado el limite cierra la conexion con el cliente.
TimeoutIdle X
Pequeño plugin de filtro del propio proftpd
DenyFilter \*.*/
Indicamos el puerto donde queremos que escuche nuestro servidor(el 21 es el predeterminado)
Port X
Numero de conexiones al ftp que se pueden hacer a la vez(recomendable numero bajo)
MaxInstances X
Indicamos el mensaje de acceso realizado correctamente:
AccessGrantMsg "mensaje"
Indicamos el mensaje de acceso realizado incorrectamente:
AccessDenyMsg "mensaje"
Especificamo la manera que queremos que se "logueen" un tipo de conexion:
LogFormat nombreformatolog "forma de loguear"
Especificamos donde guardamos fisicamente los logs, ademas del TIPO que seleccionemos: WRITE(escritura),
READ(lectura), AUTH(accesos) y ALL(todos los anteriores)
3 de 9
05/04/2007 11:58
HOWTO Proftpd - Gentoo Linux Wiki
http://es.gentoo-wiki.com/HOWTO_Proftpd
ExtendedLog /directorio/fichero TIPO nombreformatolog
Existe un tipo de logueo que esta ya descrito con un LogFormat y TIPO predeterminado. Este tipo guarda todas las
transferencias realizadas:
TransferLog /directorio/fichero
Hacemos chroot en el directorio de nuestro ftp, es decir, no permitiremos que pueda subir a un directorio
gerarquicamente superior a él
DefaultRoot ~
Le indicamos donde esta el fichero donde tenemos guardados los usuarios que tienen acceso a nuestro ftp
AuthUserFile "/etc/passwd"
Le indicamos donde esta el fichero donde tenemos guardados los grupos que tienen acceso a nuestro ftp
AuthGroupFile "/etc/group"
Maximo numero de clientes que pueden estar a la vez en el servidor, ademas adjuntamos un mensage cuando
sobrepasamos el numero maximo
MaxClients X "mensaje"
Maximo numero de clientes con el mismo ip, ademas adjuntamos un mensage cuando sobrepasamos el numero
maximo
MaxClientsPerHost X "mensaje"
Maximo numero de clientes con la misma cuenta de usuario
MaxClientsPerUser X "mensaje"
Decimos si los usuarios necesitan tener una shell valida o no, aqui importante poner en off
RequireValidShell off/on
2ªParte:
En la segunda parte nos limitamos a indicar mediante etiquetas los directorios de nuestro ftp. Normalmente la
estrategia es indicar un directorio y darle unas propiedades. Los directorios inferiores jerarquicamente tomaran los
valores del padre, si no especificamos otra etiqueta dandole unas caracteristicas distintas a este.
<Directory /directorioftp>
Opciones del directorio
</Directory>
Las opciones del directorio debemos de tener en cuenta, que para dicho directorio estan por encima de las opciones
indicas en el principio del fichero(1ªparte), es decir, en la 1ª parte hemos indicado algunas opciones que son las
generales para todo el ftp, pero si queremos añadir alguna opcion especial, incluso una opcion que contradiga a una
expuesta en el principio, unicamente con añadirla dentro de la etiqueta Directory, ese directorio automaticamente
4 de 9
05/04/2007 11:58
HOWTO Proftpd - Gentoo Linux Wiki
http://es.gentoo-wiki.com/HOWTO_Proftpd
expuesta en el principio, unicamente con añadirla dentro de la etiqueta Directory, ese directorio automaticamente
tomara esas propiedades y no las indicadas en la 1ª parte. Podemos añadir las siguientes opciones:
-Limitar el TIPO de acceso al directorio, siendo TIPO la opcion READ(acceso lectura), WRITE(permite
modificaciones sobre directorios existentes), STORE(permite escribir nuevos datos) y por ultimo LOGIN(quien puede
acceder). Despues debemos de indicarles 'para quienes' tiene ese acceso de 2 formas muy faciles, AllowAll(acceso
todos) y DenyAll(deniegas a todos). Si deseamos una especificacion mayor seria con Allow/Deny from ip1,ip2,ip3.
Debemos de tener en cuenta que esta etiqueta tambien podemos usarla en la 1ª parte para impedir que cieras ip puedan
conectarse al ftp. Por ultimo indicar que la etiqueta Allow/DenyAll viene realmente de la opcion Allow/Deny from All
asi como podemos indicarle con la opcion Order primero,segundo el orden a seguir a la hora de leer que esta aceptado
o rechazado, por ejemplo Order deny,allow primero cargara las direcciones Deny y luego las de Allow:
<Limit TIPO>
para quienes
</Limit>
Hay que tener en cuenta, que si no indicamos nada, el toma como Limit READ WRITE STORE con el valor DenyAll
y la opción de LOGIN como AllowAll, encarga esta tarea al motor de comprobación de contraseña de nuestro usuario.
-La siguiente opción del directorio es la de indicarle si se permite sobreescribir ficheros existentes, debemos de tener
acceso de WRITE y STORE para ello:
AllowOverwrite off/on
El valor predeterminado es off.
-Por ultimo la opción que podemos añadir es indicarle nuestra mascara de permisos(funciona al contrario que la forma
típica de dar permisos del chroot)
Umask XXX
3ªParte:
El servidor anónimo es una etiqueta parecida a Directory pero con unas propiedades muy especificas. Estas son la de
permitr el acceso al ftp sin pa
Comentarios de: HOWTO Proftpd - Gentoo Linux Wiki (0)
No hay comentarios