viernes, 3 de agosto de 2007

Montando un servidor FTP en linux

Después de la primera entrega "Resucitando a mi pentium" (http://imstrangeandilikeit.blogspot.com/2007/07/resucitando-mi-pentium.html), donde nos enseñaba como darle cierta usabilidad a un ordenador viejo, en esta segunda entrega vamos a instalar un servicio en nuestra máquina, más concretamente instalaremos un servidor FTP en nuestro sistema linux.

El servidor FTP escogido es el proftpd, aunque bien hubiera podido ser vsftpd, wu-ftpd o cualquiera que exista para el sistema GNU\linux.

He elegido este servidor por ser un servidor seguro y fácil de utilizar. He aquí algunas de las características más reseñables de este demonio: es altamente configurable, soporta servidores virtuales de ftp, puede tener múltiples servidores brindando servicio de ftp anónimo, es modular (lo que permite extender su funcionalidad ampliamente), un usuario con acceso por ftp únicamente no requiere de una configuración especial, y su código es libre (esta licenciado bajo GPL).

Lo primero que tenemos que hacer es descagar el software con la "magnifica" instrucción "apt-get install proftpd". Una vez bajado e instalado el software se nos preguntará si queremos configurarlo como parte de inetd o stadalone. Instalarlo como parte de inted implica que el servidor FTP se ejecutara junto con un conjunto de procesos de red (telnet,tftp, IMAP...), siendo el inetd el supervisor de todos ellos (me comprometo a escribir un articulo aclarando que eso del inetd :)). Si lo instalamos como standalone lo instalamos como un proceso normal independiente a inetd. Yo personalmente probe la opción de instalarlo como parte de inetd y no me funcionó (una mala configuración por mi parte?, puede ser ;)). Así que os recomiendo que lo instales como standalone. Una vez instalado tenemos un bonito archivo de configuración en /etc/proftpd/proftpd.conf
Dentro de este archivo de configuración las opciones mas destacables son:
  • "ServerName" nombre del servidor que aparecerá cuando alguien se conecte
  • "ServerType" aquí podemos escoger entre inetd o standalone como hemos dicho mas arriba
  • "ShowSymlinks" mostrar enlaces simbólicos
  • "Port" puerto donde se realizará la conexión
  • "PassivePorts" define el rango para las conexiones pasivas con el servidor
  • "MaxInstances" Numero máximo de peticiones que el servidor atenderá. Dependiendo de la potencia del ordenador debería de ponerse un valor u otro.
  • "Umask" máscara para la creación de ficheros
  • "AllowOverwrite" permite la sobrescritura de ficheros
  • "User" y "Group" permisos sobre los que se ejecutara el servidor ftp. Dadle pocos permisos por si alguna vez sufris un ataque, que se ejecute una shell con permisos muy bajos
  • Podemos declarar directorios con sus respectivas opciones al estilo apache con la sintaxis
  • "MaxInstances" define el numero máximo de usuarios que pueden acceder al servidor.
  • "TransferLog" y "SistemLog" realiza los registros tanto de las transacciones como de las autentificaciones
  • Permite la entrada de usuarios antónimos.
  • podemos definir que usuarios podrán acceder al sistema y cuales no.
  • "DefaultRoot" definimos el directorio chroot
  • Y muchas opciones mas http://www.proftpd.org/docs/directives/linked/by-name.html
Estas son solo algunas opciones que yo he utilizado pero hay muchas más. Para verlas solo hay que entrar en la pagina del proyecto (http://www.proftpd.org/) y buscar la documentación asociada.

Recordad que para que surtan efecto los cambios debemos reiniciar el demonio con la siguiente orden:
/etc/init.d/proftpd restart

Otro tema a recalcar es el acceso a las carpetas y archivos. Estos siguen la política de permisos de GNU\Linux, es decir el sistema determina si un usuario o grupo tiene acceso o no a los archivos mediante la tripleta, ya conocida, -rwxrwxrwx. De esta manera se puede negar o permitir el acceso al usuario a cualquier recurso del sistema. El servidor FTP no utiliza un sistema adicional para gestionar los permisos y accesos.

Por último, decir que además de todo esto que hemos estado viendo, proftp tiene muchísimas cosas más como servidores virtuales (que yo personalmente todavía no he tocado).

En esta segunda entrega hemos instalado y configurado un potente servidor FTP. En la próxima entrega conectaremos este servidor la red exterior (Internet) mediante servicios gratuitos como DynDNS que nos facilitan la administración del dominio (vía web) y permiten asociar nuestra ip dicho domino. De esta forma tendréis vuestro servidor conectado a internet y accesible desde cualquier punto mediante un subdominio de la forma (dominio.dyndns.org).

Hasta la próxima entrega :)
Nos os olvidéis de visitar la pagina web del proyecto: http://www.proftpd.org/

3 comentarios:

Anónimo dijo...

Perdona por contestar fuera de sitio, aunque supongo que hablamos del mismo ordenador.

He visto tu post de la pila de la bios que has publicado en wadalbertia. (Pero no soy miembro)

Efectivamente se pueden hacer "inventos" de progarmas o batch que pongan la fecha al dia,
pero por lo que cuesta yo creo que es mejor hacer las cosas bien.

Se trata simplemente de retirar la cubierta del ordenador.
En la placa base verás una pila de tipo botón. (como la de los relojes pero mas gorda).
Actuas sobre la pequeña pestaña que tiene la base portapilas, la extraes y colocas la nueva.
Ya esta!. Ahora solo falta cerrar el ordenador y reprogramar la bios.

No ha sido tan dificil ¿no?.

Espero haberte ayudado.

SLaYeR dijo...

Hombre Newhack! tu por aqui!

Espero verte mas a menudo por aqui engrosando las listas de visitas!

Las buenas visitas siempre son bien recibidas!

Anónimo dijo...

El visitante misterioso ... :-D

Me paso de vez en cuando, ... cuando tengo tiempo.

Un saludo.