Mostrando entradas con la etiqueta TFTP. Mostrar todas las entradas
Mostrando entradas con la etiqueta TFTP. Mostrar todas las entradas

domingo, 1 de junio de 2008

TFTP Fácil

Servidor

En primer lugar instalaremos el servidor en una máquina Ubuntu, para ello ejecutaremos en consola el siguiente comando:

# aptitude install tftpd-hpa

Una vez instalado el servidor procedemos a configurar un fichero, para ello lo abriremos con un editor, el que mas os guste, aunque en mi caso utilizaré VIM.

# vim /etc/default/tftpd-hpa

Una vez abierto pondremos las dos opciones con los valores que indico a continuación.

RUN_DAEMON=”yes”

OPTIONS=”-l -c -s /srv/tftp”

Las opciones indican lo siguiente:

-l : es para que el servidor se ejecute como daemon.

-c : está opción nos permitirá poder escribir/enviar datos al servidor tftp.

-s : está opción indica el directorio que utilizaremos para bajarnos y subir cosas. En mi caso he utilizado el directorio /srv/tftp, que previamente he creado, pero se puede optar por cualquier otro. Hay que tener en cuenta que tiene que tener permiso para cualquiera que acceda, por lo que hay que asignarle correctamente los permisos.

Una vez modificado dicho fichero, procedemos a lanzar el servidor, para ello ejecutamos:

# /etc/init.d/tftpd-hpa start

Y ya tendriamos listo el servidor.

Cliente

Para conectarnos al servidor debemos instalar un cliente, como siempre utilizaremos la herramienta aptitude, esta vez será:

# aptitude install tftp-hpa

Una vez conectado procedemos ha realizar la conexión con el servidor, suponiendo que el servidor tiene la IP 192.168.1.100, realizaremos la conexión de la siguiente forma:

# tftp 192.168.1.100

Ahora nos aparecerá un prompt del tftp, en el cual podremos hacer put y get para enviar y recibir ficheros respectivamente. Para consultar los comandos que podemos ejecutar, utilizaremos el comando ? .

ABRIR LOS PUERTOS
iptables -A INPUT -p udp --sport :69 -j ACCEPT

sábado, 31 de mayo de 2008

TFTP

En un post anterior instalamos un servidor TFTP, en esta ocasión será FTP (File Transfer Protocol), el cual tiene prácticamente la misma funcionalidad, transferencia de archivos, aunque éste utiliza un conexión TCP por el puerto 20 o 21.

Aunque podemos encontrar más servidores de FTP para linux, desde hace un tiempo yo elegí Vsftpd, es sencillo de configurar y según dicen muy seguro, yo esto último no lo puedo confirmar ya que no he probado otro.

Servidor

En primer lugar instalaremos el servidor vsftpd; desde nuestra consola en Ubuntu, sistema GNU/Linux que yo utilizo, ejecutaremos el siguiente comando:

# aptitude install vsftpd

Una vez realizada la instalación configuraremos dicho servidor. El servidor vsftpd utiliza dos ficheros de configuración, al menos con la configuración que yo voy a realizar.

* /etc/vsftpd.conf –> fichero de configuración del servidor vsftpd
* /etc/vsftpd.chroot_list –> En este fichero se ubicarán los usuarios que se enjaulan en su directorio raíz.

1. El fichero /etc/vsftpd.conf

Cuando instalas el servidor vsftpd en Ubuntu, te genera este fichero de configuración con parámetros por defecto. Una posible configuración de este fichero sería la siguiente:

#Example config file /etc/vsftpd.conf

# Para que se ejecute vsftpd en modo independiente. No se puede utilizar en conjunto con listen_ipv6
listen=YES

# No permitimos que se conecten usuarios anónimos.

anonymous_enable=NO

# Permitimos que los usuario locales se puedan conectar.

local_enable=YES

# Permitimos poder hacer modificaciones.

write_enable=YES

# Muestra un mensaje cada vez que un usuario entra en un directorio.
dirmessage_enable=YES

# Vsftpd registra las conexiones y la información de transferencia, por defecto en /var/log/vsftpd.log

xferlog_enable=YES

# Se permite que el servidor vsftpd abra el puerto 20, para ponerse a la escucha de peticiones.

connect_from_port_20=YES

# Mensaje de bienvenida al conectarse mediante un cliente ftp

ftpd_banner=Bienvenidos al ftp de Redes de Area Local.

# Permitimos a los usuarios locales que puedan salir de su directorio.

chroot_local_user=NO

# Con esta opción los usuarios locales que se encuentren en el fichero indicado por chroot_list_file estarán enjaulados en su directorio.

chroot_list_enable=YES

# Especifica el fichero que contiene los usuarios a enjaular.

chroot_list_file=/etc/vsftpd.chroot_list

# Esta opcion especifica el nombre de un directorio vacio. También el directorio no tiene que tener privilegios para el usuario de ftp. Este es un directorio usado como una jaula segura chroot y aveces no requiere de aceso al sistema de ficheros.

secure_chroot_dir=/var/run/vsftpd

# Especifica el nombre de PAM (Pluggable Authentication Modules) para vsftpd

pam_service_name=vsftpd

# Esta opción especifica la localización del certificado RSA para usar conexiones SSL. Esta opción viene por defecto.

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

# Esta opción especifica la localización de la clave privada para las conexiones SSL.

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Una vez configurado nuestro fichero, ya tendriamos listo nuestro servidor vsftpd. Reiniciamos el servicio y listo, para ello:

# invoke-rc.d vsftpd restart

Ya podría conectarse cualquiera como los usuarios locales, pero vamos a hacer una restricción a uno que vamos a crear.

2. El fichero /etc/vsftpd.chroot_list

El fichero vsftpd.chroot_list va a contener el nombre del usuario que vamos a crear a continuación, para que cualquiera pueda conectarse a ese servidor, pero sólo teniendo acceso a el directorio de ftp.

Creamos el usuario mediante el siguiente comando:

# useradd amigo

Y ahora vamos a añadir este nombre al fichero; lo podemos hacer habriendo el fichero mediante cualquier editor o mediante el siguiente comando:

# echo amigo >> /etc/vsftpd.chroot_list

Y ahora ya podríamos decir que nuestro servidor ftp esta totalmente configurado. Para mas opciones se recomienda ver el man.

Cliente

Para conectarnos a nuestro ftp mediante una consola, únicamente devemos introducir el siguiente comando:

$ ftp

Posteriormente te pedirá usuario y password; y ya tendrás acceso a el servidor que anteriormente hemos configurado.

Referencias:

http://www.esdebian.org/article.php/20060407102022453

http://www.linuxparatodos.net/portal/staticpages/index.php?page=09-como-vsftpd

http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/es/ref-guide/s1-ftp-vsftpd-conf.html

http://www.esdebian.org/staticpages/index.php?page=20050424180613347