2. AGENDA
Breve inducción a las características del FTP (Puertos, Acceso,
Modelo, Cliente-Servidor, etc...)
Problemas de seguridad en el protocolo FTP (Contraseñas, Texto
Plano, Sniffing).
SFTP (Protocolo SSH2, Puertos que usa: SSL explícito y SSL
implicito, etc).
Velocidad vs Seguridad (Tiempos de respuesta, Certificados, Tunel,
etc).
Intromisión en paginas web
Demostración: Intromisión por FTP en paginas web personales con
demasiados permisos
Conclusiones, Preguntas y Comentarios.
3. Grupo Linux Universidad del Cauca
El Grupo GNU/Linux de la Universidad del Cauca ( GLUC ) tiene
como misión promover el conocimiento, desarrollo, uso y
divulgación del Software Libre.
Además, trabaja para crear y mantener una comunidad dinámica
que conozca, use y divulgue esta tecnología.
Actividades del GLUC:
* Cursos.
* Artículos y Columnas.
* Charlas Técnicas.
* Grupos de Estudio...
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
4. CONTACTO CON EL GLUC
Pagina Web (Wiki): http://gluc.unicauca.edu.co
Lista de Correo: http://afrodita.unicauca.edu.co/mailman/listinfo/gluc
Chat IRC: http://gluc.unicauca.edu.co/cgi-bin/irc/irc.cgi
Foros de Ayuda: http://gluc.unicauca.edu.co/foro/
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
5. Rápida inducción al FTP (1/5)
FTP ( File Transfer Protocol - Protocolo de Transferencia de
Archivos) en informática, es un protocolo de red para la
transferencia de archivos entre sistemas conectados a una red
TCP, basado en la arquitectura cliente-servidor. Desde un equipo
cliente se puede conectar a un servidor para descargar archivos
desde él o para enviarle archivos, independientemente del sistema
operativo utilizado en cada equipo.
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
6. Rápida inducción al FTP (2/5)
El Servicio FTP es ofrecido por la capa de Aplicación del modelo
de capas de red TCP/IP al usuario, utilizando normalmente el
puerto de red 20 y el 21.
Servidor FTP
Un servidor FTP es un programa especial que se ejecuta en un
equipo servidor normalmente conectado a Internet (aunque
puede estar conectado a otros tipos de redes LAN, MAN, etc.).
Su función es permitir el intercambio de datos entre diferentes
servidores/ordenadores.
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
7. Rápida inducción al FTP (3/5)
Cliente FTP
Cuando un navegador no está equipado con la función FTP, o si se
quiere cargar archivos en un ordenador remoto, se necesitará utilizar
un programa cliente FTP. Un cliente FTP es un programa que se
instala en el ordenador del usuario, y que emplea el protocolo FTP
para conectarse a un servidor FTP y transferir archivos, ya sea para
descargarlos o para subirlos.
Para utilizar un cliente FTP, se necesita conocer el nombre del
archivo, el ordenador en que reside (servidor, en el caso de descarga
de archivos), el ordenador al que se quiere transferir el archivo (en
caso de querer subirlo nosotros al servidor), y la carpeta en la que se
encuentra.
8. Rápida inducción al FTP (4/5)
En 1985, quince años después de la primera propuesta, se termina el
desarrollo del aún vigente protocolo para la transmisión de archivos
en Internet (FTP), basado en la filosofía de cliente-servidor.
Con la llegada del World Wide Web, y de los navegadores , ya no es
necesario conocer los complejos comandos de FTP, este protocolo se
puede utilizar escribiendo la URL del servidor al que queramos
conectar en el navegador web, indicando con ftp:// que vamos a
contactar con un servidor ftp y no con un servidor web (que sería
http:// ).
11. Problemas de seguridad en el protocolo FTP
Un problema básico de FTP es que está pensado para ofrecer la
máxima velocidad en la conexión, pero no la máxima seguridad,
ya que todo el intercambio de información, desde el login y
password del usuario en el servidor hasta la transferencia de
cualquier archivo, se realiza en texto plano sin ningún tipo de
cifrado, con lo que un posible atacante puede capturar este tráfico,
acceder al servidor, o apropiarse de los archivos transferidos.
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
12. Problemas de seguridad en el protocolo FTP
El protocolo ftp no es seguro para su uso
con cuentas, ésto es debido a que no se
cifran los datos que se mandan por la red
(como las contraseñas) y pueden estar
sujeto a "sniffing"
Además hay que añadir que nada nos
garantiza que esa persona que se conecta
es quien dice ser.
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
13. Problemas de seguridad en el protocolo FTP
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
14. Uso de Sniffing
En informatica, un packet sniffer es un programa de captura de las
tramas de red.
Es algo común que, por topología de red y necesidad material, el
medio de transmisión (cable coaxial, UTP, fibra óptica etc.) sea
compartido por varias computadoras y dispositivos de red, lo que
hace posible que un ordenador capture las tramas de información
no destinadas a él. Para conseguir esto el sniffer pone la tarjeta de
red o NIC en un estado conocido como "modo promiscuo" en el
cual en la capa de enlace de datos (ver niveles OSI) no son
descartadas las tramas no destinadas a la MAC address de la tarjeta;
de esta manera se puede capturar (sniff, esnifar) todo el tráfico que
viaja por la red.
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
15. Uso de Sniffing
Los packet sniffers tienen diversos usos como monitorizar de
redes para detectar y analizar fallos o ingeniería inversa de
protocolos de red. También es habitual su uso para fines
maliciosos, como robar contraseñas, interceptar mensajes de
correo electrónico, espiar conversaciones de chat, etc.
Es importante remarcar el hecho de que los sniffers sólo tienen
efecto en redes que compartan el medio de transmisión como en
redes sobre cable coaxial, cables de par trenzado (UTP, FTP o
redes WiFi).
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
16. SFTP
SFTP (Secure File Transfert Protocol) es una versión segura de
acceso FTP (File Transfert Protocol).
El acceso al servidor se realiza a través del protocolo SSH2 (Secure
SHell 2), en el cual los datos del usuario (nombre y clave de acceso)
viajan de forma encriptada. Los ficheros que se suben al servidor
(upload) y los ficheros que se bajan (download) del servidor también
se transmiten de forma encriptada. Todo esto garantiza la privacidad
de las transmisiones.
17. SFTP
El diálogo con el servidor se realiza a través de su puerto 22 (el
empleado para SSH2) y no a través de los puertos 21 (control) y 20
(datos), normalmente empleados para FTP.
Hace falta no confundir SFTP con FTPS. Este último trabaja
empleando los protocolos TLS (Transfert Layer Security) o SSL
(Secure Socket Layer) en lugar de SSH 2. A la vez, FTPS emplea los
puertos 21 y 20 (igual que FTP) o bien los puertos 989 (control) y 990
(datos). Si usa los puertos 21 y 20 se dice que trabaja en SSL explícito
y cuando emplea los puertos 989 y 990 se habla de SSL implícito.
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
18. SFTP
Para poder hacer FTP seguro (SFTP) desde el nuestro ordenador
necesitaremos un programa que soporte este tipo de protocolo.
Desgraciadamente esta es una cuestión novedosa y las posibilidades de
conexión que nos dan los programas de edición de páginas web como
DreamWeaver o FrontPage no tienen esta opción. Tampoco lo ofrecen
la mayoría de programas FTP del mercado.
Afortunadamente disponemos de un programa FTP hecho en código
libre (uso gratuito), el cual soporta FTP, SFTP y FTPS. Este programa
se denomina FileZilla y es el que se puede instalar en nuestro
ordenador.
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
19. SFTP
En cuanto a la utilización o normalización del protocolo no es aún un
estándar de Internet. La última especificación que define la versión 6
del protocolo. En la actualidad, la versión más utilizada es la versión
3, ejecutada por el popular servidor de SFTP OpenSSH. Muchos
Windows basan sus implementaciones en servidores SFTP al utilizar
la versión 4 del protocolo, que redujo sus vínculos con la plataforma
Unix.
20. ALGUNAS CONFUSIONES
Un error muy común que suele ocurrir cuando se nombra SFTP es
pensar que el protocolo SFTP se obtiene al ejecutar FTP sobre SSH,
realmente estamos ante un nuevo protocolo diseñado por el grupo de
trabajo IETF SECSH. Otro error generalizado es la confusión de las
siglas SFTP ya que muchas veces es confundido con el Protocolo
Simple de Transferencia de Archivos, un programa de línea de
comando que el cliente ejecuta parte de este protocolo.
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
29. DEMOSTRACION:
Intromisión por FTP a paginas personales
Chroot: La finalidad del chroot es encerrar a los usuarios en un
directorio, es decir, evitar que puedan acceder al resto del
sistema de archivos. Debido a ésto necesitamos introducir en la
cárcel todo aquello que nuestros usuarios vayan a necesitar (binarios y
librerías por ejemplo).
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
30. DEMOSTRACION:
Un Script CHROOT para FTP
origen="/export/home/ftp/anonimo"
usuario=`pwd | awk -F/ '{print $NF}'`
echo El directorio fuente de la configuración es $origen
echo El nombre de usuario es $usuario
echo
umask 666
temp=`pwd`
echo Creando estructura de directorios en $temp
ln $origen/../actualizar_web ./actualizar_web
mkdir dev
mkdir usr
mkdir etc
mkdir usr/bin
mkdir usr/lib
ln -s usr/bin bin
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co
31. DEMOSTRACION:
lib=$origen/usr/lib
cd usr/lib
temp=`pwd`
echo Creando enlaces a las librerías compartidas en $temp
ln $lib/ld.so.1 ld.so.1
ln $lib/libc.so.1 libc.so.1
ln $lib/libdl.so.1 libdl.so.1
ln $lib/libintl.so.1 libintl.so.1
ln $lib/libnsl.so.1 libnsl.so.1
ln $lib/libsocket.so.1 libsocket.so.1
ln $lib/libw.so.1 libw.so.1
ln $lib/nss_dns.so.1 nss_dns.so.1
ln $lib/nss_files.so.1 nss_files.so.1
ln $lib/nss_nis.so.1 nss_nis.so.1
ln $lib/nss_nisplus.so.1 nss_nisplus.so.1
ln $lib/straddr.so.2 straddr.so.2
bin=$origen/usr/bin
cd ../bin
temp=`pwd`
echo Creando enlace a "/bin/ls" en $temp
ln $bin/ls ls
32. DEMOSTRACION:
Etc, ect, etc...
cd ..
temp=`pwd`
echo Creando directorio raíz de páginas WEB en $temp
echo Cambiando su propietario y grupo
umask 066
mkdir publico
chown $usuario publico
chgrp usuarios publico
echo
echo ¡¡FIN!!
Bla, bla, bla..
Todo esto para que los usuarios tengan
una carpeta denominada web en su
directorio personal :P
http://www.unicauca.edu.co http://www.rocarreno.blogspot.com
rocarreno@gmail.com rcarreno@unicauca.edu.co