viernes, 1 de mayo de 2015

Configuración protocolo ftp y ssh

Protocolo ftp
El acrónimo de FTP es protocolo de transferencia de ficheros (File Transfer Protocol) y es un software cliente/servidor que permite a usuarios transferir ficheros entre ordenadores en una red TCP/IP.
El funcionamiento es sencillo. Una persona desde su ordenador invoca un programa cliente FTP para conectar con otro ordenador, que a su vez tiene instalado el programa servidor FTP. Una vez establecida la conexión y debidamente autenticado el usuario con su contraseña, se pueden empezar a intercambiar archivos de todo tipo.
¿Por qué se sigue usando FTP?
Muy simple, el protocolo FTP es el sistema de transferir archivos más estable y fiable que hay en Internet. Esto significa que la descarga y subida de archivos que hagas tendrán más opciones de completarse si errores de transferencia, y quedarán intactos después del envío.
¿Por qué necesitamos un software de cliente FTP?
Un buen software cliente FTP te da más control sobre lo que haces. Los navegadores, aunque sirven para usar FTP, no son demasiado adecuados como clientes, y sus mecanismos para resumir descargas dejan algo que desear, si es que puede hacerlo. En los navegadores se suelen dar más errores. Por propia experiencia, no aconsejo utilizar navegadores para bajarse cosas de servidores FTP, sobre todo si son archivos grandes. Existen buenos programas FTP que evitarán problemas.
Características de FTP
• Se establece una conexión utilizada para transmitir órdenes FTP desde cualquier puerto superior al 1024 en el cliente hacía en puerto 21 del servidor.
• En esa conexión establecida se comunica al servidor qué puerto utiliza el cliente para la recepción de datos.
• El servidor abre su puerto 20 para realizar la transferencia solicitada por el cliente y abre también el puerto indicado en el cliente para la transmisión de datos.
Hay, pues, dos conexiones distintas:
1. Petición de transferencia por parte del cliente.
2. Atención a dicha petición, iniciada por el servidor.
Si el cliente está protegido por un cortafuego, deberá configurar para que permita esta petición de conexión entrante a través de un puerto que normalmente está cerrado por motivos de seguridad
Arquitectura cliente-servidor
El servidor FTP es el programa que se ejecuta en un equipo servidor que normalmente está conectado a Internet, permitiendo la transferencia de archivos entre diferentes ordenadores/servidores.
El cliente FTP es el programa que se ejecuta en el equipo del usuario y que se conecta al servidor para subir o descargar archivos.

Figura 1
Los clientes FTP pueden estar basados en web o en un programa cliente. Si son clientes web, tan solo nos hace falta un navegador web. Si por el contrario son programas cliente, tendremos que instalar el que creamos más adecuado. Estos últimos, pueden poseer un entorno gráfico o por el contrario, funcionar mediante la línea de comandos.
Configuración servidor ftp
·        Primeramente instalamos el servidor. Para ello, hacemos login como administradores en el terminal y ejecutamos:
# apt-get install vsftpd
·        Abrimos dicho archivo con un editor de textos, por ejemplo el vi:
# vi /etc/vsftpd/vsftpd.conf
·        Seguidamente vamos a modificar el mencionado archivo para configurar el funcionamiento de nuestro servidor.
Desactivaremos el login de usuarios anónimos:
# No anonymous login
anonymous_enable=NO
·        Habilitamos el login de usuarios locales y les otorgamos permisos de escritura:
local_enable=YES
# Write permissions
write_enable=YES
·        Para mejorar la seguridad de nuestro servidor, “enjaulamos” a los usuarios locales dentro de su directorio personal, de esta manera no tendrán ningún tipo de privilegio fuera del mismo:
chroot_local_user=YES
chroot_list_enable=NO
·        También podemos denegar (o admitir) el acceso al servidor a determinados usuarios. Para ello, añadimos al final del fichero las siguientes líneas:
userlist_deny=YES
userlist_file=/etc/vsftpd.denied_users
·        Al fichero /etc/vsftpd.denied_users hay que añadir el nombre del usuario al que le denegamos el acceso, siendo un nombre por línea.
·        Ahora ya solo nos queda aplicar los cambios. Esto lo conseguiremos reiniciando el servidor con el siguiente comando:
sudo /etc/init.d/vsftpd restart

 Protocolo ssh
Es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente.

Figura 2
Está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet, rlogin o rsh (Remote Shell)
Características de SSH
·        El protocolo SSH proporciona los siguientes tipos de protección:
·        Después de la conexión inicial, el cliente puede verificar que se está conectando al mismo servidor al que se conectó anteriormente.
·        El cliente transmite su información de autenticación al servidor usando una encriptación robusta de 128 bits.
·        Todos los datos enviados y recibidos durante la sesión se transfieren por medio de encriptación de 128 bits, lo cual los hacen extremamente difícil de descifrar y leer.
·        El cliente tiene la posibilidad de reenviar aplicaciones X11  desde el servidor. Esta técnica, llamada reenvío por X11, proporciona un medio seguro para usar aplicaciones gráficas sobre una red.
Llave pública
Cifrado de clave pública: un mensaje cifrado con la clave pública de un destinatario no puede ser descifrado por nadie (incluyendo al que lo cifró), excepto un poseedor de la clave privada correspondiente--presumiblemente, este será el propietario de esa clave y la persona asociada con la clave pública utilizada. Se utiliza para confidencialidad.
El protocolo SSH encripta todo lo que envía y recibe, se puede usar para asegurar protocolos inseguros. El servidor SSH puede convertirse en un conducto para convertir en seguros los protocolos inseguros mediante el uso de una técnica llamada reenvío por puerto, como por ejemplo POP, incrementando la seguridad del sistema en general y de los datos.
Configuración Protocolo ssh en centos
·        Para instalar el paquete openssh-server puedes utilizar el comando yum:
yum install openssh-server
Recuerda no basta con instalar el servicio, lo importante, es configurar el servidor ssh de forma segura. Para realizar esta tarea debes editar el archivo /etc/ssh/sshd_config y hay varias cosas a tener en cuenta.
·        Cambiar el puerto de SSH
La primera es cambiar el puerto por el cual escucha el servicio ssh, el puerto estándar es el TCP 22 y por lo general cualquier persona que intente tener acceso no autorizado a tu servidor va a probar este puerto, por lo que es importante que lo configures a que escuche por otro puesto por ejemplo por rl TCP 23o22 o el que tu prefieras.
Edita el archivo /etc/ssh/sshd_config y  cambia lo siguiente:
#Port 22
Port 23033
·        Otro punto importante es asegurarte que se utilice únicamente la versión 2 del protocolo con la siguiente línea:
#Protocol 2,1
Protocol 2
·        Debes evitar que se pueda ingresar al sistema con el usuario root, esto al igual que el puerto 22 es conocido por quienes intenten acceder al sistema y el nombre de usuario (conocido) y el más importante a probar es root, ya que con este usuario se puede tener total control sobre el servidor. Para evitar eso niega el acceso mediante ssh como el usuario root.
#PermitRootLogion yes
PermitRootLogion no
·        Reiniciar ssh y aplicar los cambios
Para que los cambios que ha realizado se apliquen, debes reiniciar el servicio sshd.
# service sshd restart
Parando sshd:       [  OK  ]
Iniciando sshd:     [  OK  ]       
Estos pasos son para configurar ssh de forma básica y mejorar la seguridad de tu servidor.
Conclusiones.
  • El protocolo ftp es muy seguro para la trasferencia de archivos ya que si alguna persona quiere acceder al medio no podrá ya que su clave es encriptada y solo puede acceder el usuario únicamente.
  • El protocolo ssh es el que permite conectarse remotamente a otro usuario de forma segura ya que tiene su información de autenticación al servidor usando una encriptación robusta de 128 bits.

Bibliografía

(s.f.). Obtenido de http://www3.gobiernodecanarias.org/medusa/ecoblog/frgonsan/files/2012/05/Presentaci%C3%B3n-U5.pdf
(s.f.). Obtenido de http://elgatoinquieto.net/2013/10/21/como-montar-un-servidor-ftp-en-gnulinux/
(s.f.). Obtenido de http://www.comoinstalarlinux.com/centos-ssh-para-acceder-a-tu-servidor-linux/
(s.f.). Obtenido de http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.htm
ordenadoresportatiles. (2014). Obtenido de ordenadoresportatiles: http://www.ordenadores-y-portatiles.com/ftp.html


No hay comentarios:

Publicar un comentario