• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,148
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
16
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. SEGURIDAD EN SERVIDORES FTP ¿PORQUE USAR SFTP? RODRIGO A. CARREÑO V. Licencia: Bajo Creative Commons ©© Algunos Derechos Reservados http://www.unicauca.edu.co http://www.rocarreno.blogspot.com rocarreno@gmail.com rcarreno@unicauca.edu.co
  • 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:// ).
  • 9. Rápida inducción al FTP (5/5) Modelo FTP[1] http://www.unicauca.edu.co http://www.rocarreno.blogspot.com rocarreno@gmail.com rcarreno@unicauca.edu.co
  • 10. http://www.unicauca.edu.co http://www.rocarreno.blogspot.com rocarreno@gmail.com rcarreno@unicauca.edu.co
  • 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
  • 21. VELOCIDAD VS SEGURIDAD http://www.unicauca.edu.co http://www.rocarreno.blogspot.com rocarreno@gmail.com rcarreno@unicauca.edu.co
  • 22. INTROMISION EN PAGINAS WEB http://www.unicauca.edu.co http://www.rocarreno.blogspot.com rocarreno@gmail.com rcarreno@unicauca.edu.co
  • 23. INTROMISION A PAGINAS Miércoles 16 de Septiembre del 2009 – 8:49 am
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. DE LAS PALABRAS A LOS HECHOS
  • 29. CONCLUSIONES ¿PREGUNTAS? ¿COMENTARIOS?