Daniel E. Coletti CaFeLUG / LUGAr GNU/Linux y ``La Banda Ancha'' 1era Conferencia Abierta de GNU/Linux CaFeLUG – Capital Federal GNU/Linux Users Group
GNU/Linux y ``La Banda Ancha'' Agenda Terminología utilizada ppp y pppoe Tipos de Banda Ancha y Formas de configurarlas Ruteo de paquetes Filtrado de paquetes Una VPN simple y fácil
GNU/Linux y ``La Banda Ancha'' Terminología La ``banda ancha'' son las conexiones: !dial-up && !caño, que existen en la Argentina PPP (Point to Point Protocol) PPPOE (PPP Over Ethernet) VPN (Virtual Private Network)
GNU/Linux y ``La Banda Ancha'' Tipos de banda ancha (que yo conozco) y formas de configurarlas Cablemodem (Fibertel) via dhcp Comandos: pump o dhcpcd Ojo con la ruta por default Conviene especificar la interface DNS externo vs. DNS interno
GNU/Linux y ``La Banda Ancha'' [cont.] Tipos de banda... ADSL (Telcos) Roaring Penguin PPPOE (p/ RedHat e Hijos) apt-get install pppoeconf (Debian) Configuración: adsl-setup / pppoeconf Levantar: adsl-start / pon dsl- provider Bajar: adsl-stop / poff No todos los proveedores usan compresión en PPP
GNU/Linux y ``La Banda Ancha'' [cont.] Tipos de banda... Wireless rp-pppoe (Millicom) linux-wias – desarrollo argentino (Velocom) Configuración: adsl-setup Levantar: adsl-start Bajar: adsl-stop
GNU/Linux y ``La Banda Ancha'' Ruteo de paquetes ``ruteo'' palabra no encontrada en la RAE (buscar mejor ``encaminar'')... o sea, decirles por dónde tienen que ir los benditos paquetitos route add default gw ppp0 (enviar todos los paquetes no ``encaminables'' por la interface ppp0)
GNU/Linux y ``La Banda Ancha'' Encaminando paquetes [cont.] route add -net /24 eth0 (todos los paquetes que vayan a una dirección Nnn salen por la interface eth0) route add -host gw (enviar todos los paquetes a por el ``encaminador'' )
GNU/Linux y ``La Banda Ancha'' La encaminación [cont.] route -n (muestra todas las rutas definidas) Los paquetes intentan encontrar su ruta verificando las rutas de arriba hacia abajo Las primeras rutas del listado son las que integran la menor cantidad de equipos
GNU/Linux y ``La Banda Ancha'' Últimos detalles echo 1 > /proc/sys/net/ipv4/ip_forward (permite reenviar paquetes) echo 1 > /proc/sys/net/ipv4/conf/all/rp_f ilter (``prende'' la verificación de direcciones de origen de cada paquete – mejor método para evitar el spoofing)
GNU/Linux y ``La Banda Ancha'' Filtrado de paquetes iptables: cerrar INPUT y FORWARD, habilitar MASQUERADE en POSTROUTING y utilizar módulo de “state” ipchains: cerrar input, abrir paquetes “tcp” sin SYN y “udp” mayores a 1023, poner MASQ en forward
GNU/Linux y ``La Banda Ancha'' iptables ([cont.] filtrado...) iptables -P INPUT DROP iptables -P FORWARD DROP iptables -t nat -A POSTROUTING - s /24 -j MASQUERADE iptables -N OK iptables -I OK -i -j ACCEPT iptables -A OK -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -I INPUT -j OK iptables -I FORWARD -j OK iptables -I INPUT -i lo -j ACCEPT
GNU/Linux y ``La Banda Ancha'' ipchains ([cont.] filtrado...) ipchains -P input DENY iptables -A forward -s -j MASQ ipchains -A input -i lo -j ACCEPT ipchains -A input -s -j ACCEPT ipchains -A input -p tcp \! -y - j ACCEPT ipchains -A input -p udp -d 0/0 :1024 -j ACCEPT
GNU/Linux y ``La Banda Ancha'' Filtrado... [cont.] (bajando al piso) Debian update-rc.d iptables defaults /etc/init.d/iptables save active RedHat chkconfig –level 35 iptables on service iptables save active
GNU/Linux y ``La Banda Ancha'' Filtrado de paquetes [cont.] Un filtrado de paquetes puede dar una seguridad “aceptable”, pero dista mucho de una configuración “segura” Conviene agregar IDS (NIDS y HIDS) Siempre hay que tener las aplicaciones actualizadas al último parche estable Ser conciente de la seguridad
GNU/Linux y ``La Banda Ancha'' Una VPN “simple” (LinVPN) Solo funciona de Linux a Linux Hay que compilarlo Se genera un certificado de SSL y se lo agrega a la “base de datos” del servidor Se lo envía al cliente Se inicia la conexión desde el cliente al servidor No hace falta tener números de IP fijos en el cliente
GNU/Linux y ``La Banda Ancha'' LinVPN [cont.] Instalación (leer INSTALL) Levantar el demonio ( vpnd daemon ) Generar certificado ( vpnadd server katchatka : ) En el lado del cliente: Insertar el certificado ( vpnadd client katchatka cert.pem ) Conectar el cliente ( vpncd connect katchatka )
GNU/Linux y ``La Banda Ancha'' LinVPN [cont.] Agregado de “eventos” con vpnd event katchatka [conn|disco] Usar el vpnd-wrapper -e para ejecutar comandos como “root”
GNU/Linux y ``La Banda Ancha'' LinVPN [cont.] Ventajas: Es simple (bastante “plug & pray”) No hay que tocar el kernel El túnel se arma entre los equipos y con las rutas se hacen pasar los paquetes por el tunel Desventajas: No tan segura como freeswan Le falta algo de estabilidad No es código maduro
GNU/Linux y ``La Banda Ancha'' Referencias