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