Está en la página 1de 125

Seguridad Bsica en GNU / LINUX

Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

Seguridad Bsica
La seguridad informatica debe verse de manera integral entre dispositivos, protocolos, polticas, tecnologas y herramientas. El fin ltimo de la seguridad informtica, debe ser la seguridad de la informacin, al mismo tiempo que se cumple con confiabilidad, integridad y disponibilidad.

Seguridad Bsica

Seguridad Bsica
A que nos enfrentamos: errores de software errores de hardware errores de usuario software malicioso siniestros ataques etc

Seguridad Bsica
Seguridad fsica:

Acceso fsico Condiciones climticas Condiciones elctricas Iluminacin

Seguridad Bsica
Seguridad lgica: Autenticacin Autorizacin Registros y bitacoras

Seguridad Bsica
Seguridad de informacin: Integridad Confidencialidad Respaldos Restablecimientos de respaldos

Ciclo de Vida de la Seguridad


Control. Implantacin de polticas. Reunir requerimientos y reglas. Estructuracin de la seguridad. Definicin de responsables. Reportes. Estandarizacin de reportes.

Ciclo de Vida de la Seguridad


Plan. Creacin de SLA (Acuerdos de Niveles de Servicio). Creacin de contratos de soporte. Creacin de Acuerdos de Niveles de Operacin. Reportes. Generacin de reportes de la etapa.

Ciclo de Vida de la Seguridad


Implementacin. Clasificacin y administracin de aplicaciones de TI. Designacin de personal de seguridad. Implementacin de administracin de seguridad. Implementacin de controles de acceso. Reportes. Generacin de reportes de la etapa.

Ciclo de Vida de la Seguridad


Evaluacin. Autovaloracin. Auditoria Interna. Auditoria Externa. Evaluacin basada en incidentes de seguridad. Reportes. Generacin de reportes de la etapa.

Ciclo de Vida de la Seguridad


Mantenimiento. Mantenimiento o ajustes a SLA. Mantenimiento o ajustes a los Acuerdos de Niveles de Operacin. Requerimientos de cambios de SLA y/o OLA. Reportes. Generacin de reportes de la etapa.

GNU / Linux en el Mundo TI

GNU desde 1983. Richard M. Stallman Linux, desde 25 de Agosto de 1991. Linus Torvalds.

GNU / Linux en el Mundo TI

GNU / Linux en el Mundo TI


Servidores web
Fuente Fecha W3Techs 2011-08 Security Space 2009-07 Linux Windows 63.90% 36.10% 79.64% 20.36%

GNU / Linux en el Mundo TI

GNU / Linux en el Mundo TI

GNU / Linux en el Mundo TI

GNU / Linux en el Mundo TI

PREGUNTAS

Seguridad Bsica en GNU / LINUX


Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

Redes de Computadoras
La forma ms frecuente de abordar el estudio de Redes de Computadoras es a travs de modelos de capas, es decir, siguiendo puntos de demarcacin definidos claramente, con funciones especficas y formas de manejo de la informacin. El seguimiento de modelos de capas proporciona una serie de pasos estandar para el estudio, diseo y mantenimiento de redes, incluso para la fabricacin de Hardware y creacin de sistemas, facilitando la interoperabilidad entre diferentes fabricantes y modelos.

Modelo de Capas OSI


El modelo de capas OSI (Sistema de Interconeccin Abierto) fue propuesto durante la dcada de los 80's y aunque no existe ninguna implementacin real del mismo, es tomado como referencia (principalmente en estudios) incluso hoy en da. Este modelo divide la comunicacin de informacin en siete capas, secuenciales y dependientes entre si. Al ser procesada por cada una de las capas, la informacin es agrupada en unidades ms pequeas, conocidas como Unidades de Datos de Protocolo (PDU), adems, se le agrega informacin sobre el origen y destino, y en algunos casos informacin para el chequeo de la integridad del resto de la PDU.

Modelo de Capas OSI


APLICACIN PRESENTACIN SESIN TRANSPORTE RED ENLACE DE DATOS FSICA SEGMENTOS PAQUETES TRAMAS BITS DATOS

Modelo de Capas OSI


Capa de Aplicacin. Provee al usuario un acceso a la informacin y comunicacin, usualmente a travs de programas, tales como navegadores web, programas de correo electrnico, acceso remoto, ftp, etc. Capa de Presentacin. Da formato a la informacin de tal forma que sea presentada por la Capa de Aplicacin de manera correcta. En esta capa se situan procesos como encriptacin, compresin, interpretacin de archivos XML, tipo de codificacin MIME (ASCII y Unicode entre otros), etc. Capa de Sesin. Administra la comunicacin entre aplicaciones origen y destino (local y remota). Se negocia el tipo de control entre las aplicaciones. En esta capa, al igual que en las anteriores la informacin que se administra es conocida como Datos, es decir que el PDU es Datos.

Modelo de Capas OSI


Capa de Transporte. Provee la comunicacin entre equipos finales, es decir de computadora origen a destino. Adems proporciona control de flujo y revisin y correccin de errores. Es durante esta etapa que la informacin se parte en Segmentos, para poder ser procesados por la siguiente capa. Para la identificacin de la aplicacin o servicio origen y destino, se utiliza un identificador conocido como puerto. Los nmeros de puerto son decimales enteros entre 1 y 65535, siendo los primeros 1024 definidos para usos estndares, mientras que los restantes pueden ser usados de manera aleatoria. Capa de Red. Proporciona a cada equipo de un identificador lgico nico en la red (direccin IP), adems de la estructura jerrquica que permite la comunicacin entre redes diferentes. Los segmentos con convertidos en Paquetes y se enrutan desde el equipo origen al destino, adems de agregar la direccin de origen y destino de la capa de red (direccin lgica) a cada paquete. Existe en esta capa un mecanismo de deteccin de errores, pero no correccin, es decir que la correcin de posibles errores recae a capas de niveles superiores.

Modelo de Capas OSI


Capa de Enlace de Datos. Los paquetes de la capa de red son encapsulados en Tramas. Fsicamente, cada dispositivo de red posee una direccin MAC (representado por 6 pares de nmeros hexadecimales), el cual es proporcionado por el fabricante. Esta capa proporciona protocolos para estandarizar la comunicacin antes de la capa fsica, al mismo tiempo que genera un mecanismo para la deteccin de errores. Las tramas poseen un encabezado con la direccin de origen y destino de capa de enlace de datos (direccin fsica), adems de una cola con informacin de chequeo de integridad de las tramas. Capa Fsica. Aqu se definen los niveles de voltaje, estados de luz, formatos de onda, etc., con la que se llevar a cabo la comunicacin. La informacin que originalmente era Data en las primeras capas, en esta capa es tratada como bits.

Configuracin de Red en GNU / Linux


Ifconfig Ifdown Ifup Route Arp : configura una interfaz de red : desactiva una interfaz de red : activa una interfaz de red : muestra / manipula la tabla de enrutamiento IP : manipula el sistema de cache ARP

Netstat : muestra las conexiones de red, tablas de enrutamiento, estadsticas de interfaces, conexiones enmascaradas y membresias multicast Ip : muestra / manipula enrutamiento, dispositivos, polticas de enrutamiento y tneles : enva paquetes ICMP ECHO_REQUEST a hosts vecinos

Ping

Traceroute : muestra la ruta trazada por paquetes hacia un host.

Configuracin de Red en GNU / Linux


1. Direccin IP actual de la comutadora 2. Listar las rutas conocidas por la computadora 3. Realizar un ping a algn equipo vecino 4. Listar las direcciones mac conocidas

Configuracin de Red en GNU / Linux


/etc/hostname /etc/network/interfaces /etc/resolf.conf /etc/hosts

Configuracin de Red en GNU / Linux


Adicin de una direccin IP: # ifconfig -v [interfaz]:[#] inet [nueva IP] Edicin de rutas: # route add -net [red] netmask [mscara] gw [puerta] metric [Mtrica] # route del -net [red] netmask [mscara] gw [puerta] metric [Mtrica]

Acceso Remoto CLI


Telnet. Es un protocolo de red que proporciona comunicacin bidireccional basada en texto, permitiendo acceder a una terminal virtual de manera remota. SSH. Secure Shell. Al igual que telnet, proporciona mecanismos de comunicacin hacia una terminal virtual remota, pero agregando mecanismos de seguridad a toda la transmisin de datos.

Acceso Remoto CLI


Servidor SSH. Para poder recibir conexiones remotas es necesario una aplicacin servidor, tal como opensshserver. La configuracin por defecto del daemon sshd, suele ser suficiente, pero puede ser reconfigurado en /etc/ssh/sshd_config.

Acceso Remoto a Archivos


Acceso a directorios remotos, sobre ssh. Es posible montar un directorio remoto sobre el sistema de archivos local, tal como unidades de disco, pero con la seguridad que la transmisin se hace con ssh. Sshfs (sistema de archivos basado en ssh) se encuentra en fuse-utils. $ sshfs [usuario]@[ip]:[ruta] [punto de montaje] $ fusermount -u [punto de montaje]

Acceso Remoto Grfico


Se puede contar con acceso a una interfaz grfica del servidor remoto de distintas formas. Una de ellas es con VNC (Virtual Network Computing). VINO y VNC4SERVER, son aplicaciones servidor de vnc. La primera esta integrada al entorno gnome, mientras que la segunda suele ser ms configurable e independiente. VINAGRE y TightVNC, son algunas aplicaciones clientes para accesar a servidores VNC

Acceso Remoto. Soluciones


Al igual que telnet, la comunicacin de vnc utiliza texto plano, por lo que puede ser inseguro. SSH puede servir como complemento para mejorar la seguridad, asi: Ssh -f -N -L 5901:localhost:5901 [usuario]@[servidor] Si un servidor utiliza una direccin IP que previamente perteneca a otro servidor, los clientes ssh impediran la comunicacin, ya que el certificado almacenado no coincidir con el equipo. Dicho certificado puede ser eliminado: Ssh-keygen -f .ssh/known_hosts -R [ip]

Seguridad en Acceso Remoto


Fail2ban, es un sistema de prevensin de intrusin, el cual monitorea accesos y bitcoras, para modificar las polticas de seguridad de firewall, de manera dinmica. La mayora de configuracin se encuentra en /etc/fail2ban/jail.conf

PREGUNTAS

Seguridad Bsica en GNU / LINUX


Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

Prctica. Configuracin de red


1. Identificar interfaz activa # ip addr 2. Generar un alias de la tarjeta de red # ifconfig -v ethX:0 inet 10.0.G.C netmask 255.255.255.0 Donde ethX es la interfaz activa, G es el grupo asignado por el instructor y C es el nmero de computadora dentro del grupo 3. Adicionar una ruta por defecto al sistema # route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.G.1 4. Indicar un servidor de nombres al sistema # echo nameserver 8.8.8.8 > /etc/resolv.conf

Instalacin de Paquetes
La forma ms simple de instalar aplicaciones en un sistema Debian, es utilizando el sistema de repositorios y paquetes, con el comando apt-get. apt-get update # actualiza listado de repositorios apt-get upgrade # actualiza todo paquete instalado que encuentre nuevas versiones en repositorios apt-get install [paquete] # instala el paquete indicado apt-get remove [paquete] # desinstala el paquete indicado Ver ms opciones con man apt-get

Instalacin de Paquetes
El sistema de repositorios, se basa en un listado de servidores y lugares donde se encuentran disponibles instaladores de aplicaciones. El listado de repositorios se encuentra en el archivo /etc/apt/sources.list. Durante el proceso de instalacin, los instaladores son almacenados en el directorio /var/cache/apt/archives/. El formado de los instaladores es archivos .deb, que pueden ser instalados manualmente as: dpkg -i [archivo].deb

Prctica. Instalacin de aplicaciones


Instalar las siguientes aplicaciones:

Openssh-server, servidor de ssh Fuse-utils y sshfs, herramientas complementarias a ssh Fail2ban, sistema de prevencin de intrusos

apt-get install openssh-server fuse-utils sshfs fail2ban -y

Prctica. Conexin remota


Conectarse a un sistema vecino ssh [ip vecina] ssh [ip vecina] -l [usuario remoto] Adems de conectarse a una lnea de comandos, es posible copiar archivos entre el sistema local y el remoto, sobre la plataforma de ssh: scp [origen] [destino] scp root@10.0.4.2:/var/cache/apt/archives/sshfs*.deb . NOTA: En caso de 3 fallos al conectarse al sistema remoto, fail2ban bloquear todo acceso desde la ip donde se generan los errores.

Prctica. Conexin de directorios remotos


Una mejor forma de accesar a documentos en un sistema remoto, es adicionando un directorio de dicho equipo al sistema de archivos local. sshfs [usuario remoto]@[ip vecina]:[directorio remoto] [directorio local] $ cd $ mkdir compartir; mkdir fs $ cd compartir $ touch [su nombre]; touch [su apellido]; ip addr > mi_ip $ su # sshfs usuario@[ip vecina]:/home/usuario/compartir fs # ls fs; cat fs/mi_ip # fusermount -u fs

Prctica. Acceso Remoto Grfico


Para realizar una conexin remota en un entorno grfico existen muchas opciones. Del lado del servidor se utilizar vino, y del lado del cliente vinagre. apt-get install vino vinagre -y Vino: Sistema / Administracin / Escritorio Remoto Vinagre: Aplicaciones / Internet / Visor de Escritorio Remoto

Prctica. Acceso Remoto Grfico


Agregar seguridad a la comunicacin entre cliente y servidor de acceso remoto grfico, desde el lado del cliente Ssh -f -N -L 5900:localhost:5900 [usuario]@[servidor] Vinagre: En lugar de proporcionar la direccin remota, conectarse a localhost:5900 Verificar el funcionamiento del tunel con netstat -tap

PREGUNTAS

Seguridad Bsica en GNU / LINUX


Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

Iptables
Iptables es un programa que configura el firewall del Kernel de Linux. Por el hecho de modificar directamente elementos a nivel de kernel, unicamente debe ejecutarse como root Las iptables, son la configuracin de firewall en Linux, a partir del Kernel 2.4. Anteriormente, la herramienta presente en el Kernel 2.2 fue ipchain, pero el origen de firewall a nivel de Kernel, inicio en la versin 2.0 con ipfw, basado en el sistema del mismo nombre en BSD Una de las principales ventajas de iptables, sobre versiones anteriores, es la posibilidad de trabajar stateless y statefull

Prctica

Prctica
Agregar en /etc/network/interfaces Iface eth0:0 inet static Address 10.0.G.C Netmask 255.255.255.0 Gateway 10.0.G.254

Para activar / desactivar la configuracin: Ifup eth0:0 Ifdown eth0:0

Iptables
La configuracin de las iptables se basa en un conjunto de reglas secuenciales, que se asociarn a cada una de la interfaces, y analizarn los paquetes como miembros de un flujo de datos. Las listas de instrucciones (o cadenas) se asocian entre ellas en tablas, las cuales pueden ser de 4 tipos:

Filter NAT Mangle Raw

Iptables
Los flujos de datos reconocidos por las tablas pueden ser de 5 tipos: PREROUTING INPUT FORWARDING OUTPUT POSTROUTING

Iptables. Prctica
Configurar bloqueo del trafico generado por la siguiente computadora del grupo: Computadora 1 bloquea a computadora 2 Computadora 2 bloquea a computadora 3 Computadora 3 bloquea a computadora 1 # ping -c 10 10.0.0.2 # iptables -A OUTPUT -d 10.0.0.2 -j REJECT # ping -c 10 10.0.0.2

Iptables. Prctica
Las acciones bsicas a realizar en un paquete son ACCEPT, REJECT y DROP # ping -c 10 10.0.0.2 # iptables -D OUTPUT -d 10.0.0.2 -j REJECT # iptables -A OUTPUT -d 10.0.0.2 -j DROP # ping -c 10 10.0.0.2

Iptables. Prctica
Las instrucciones se analizan de forma secuencial, por lo que debe tomarse en cuenta que una vez un paquete es bloqueado por una instruccin, cualquier otra instruccin ser ignorada # ping -c 10 10.0.0.2 # iptables -A OUTPUT -d 10.0.0.0/24 -j ACCEPT # iptables -L # ping -c 10 10.0.0.2

Iptables. Prctica
Las opciones ms comunes de control de las instrucciones individuales son: -A Agregar, al final de la lista -D Eliminar una instruccin especfica -R Reemplazar una instruccin (solo acepta nmero dentro de la lista) -I Insertar una instruccin (acepta nmero dentro de la lista) -L Lista el contenido de una tabla.

Iptables. Prctica
Haciendo buen uso de los comandos de manejo de cadena, se tiene lo siguiente: Iptables -A OUTPUT -s 10.0.0.2 -j REJECT Iptables -D OUTPUT -s 10.0.0.2 -j REJECT Iptables -A OUTPUT -s 10.0.0.2 -j DROP Es equivalente a: Iptables -A OUTPUT -s 10.0.0.2 -j REJECT Iptables -R OUTPUT 1 -s 10.0.0.2 -j DROP

Configuracin Permanente de Iptables


Toda instruccin generada con el comando iptables, es ejecutado directamente en memoria y a nivel de kernel. Una desventaja de esto, es que no existe un archivo de configuracin de iptables que permita conservarla luego de apagar o reiniciar el equipo. Existen 2 comandos auxiliares asociados a iptables que facilitan el trabajo de guardar y cargar la configuracin del firewall y son iptables-save e iptables-restore.

Configuracin Permanente de Iptables


La forma de operacin de iptables-save e iptables-restore es de escritura directa en STDOUT, y lectura desde STDIN, por lo que redirecionando a archivos, se puede recopilar la configuracin y posteriormente ser restaurada. NOTA: La salida de iptables -L es diferente a iptables-save y no es compatible con iptables-restore # iptables-save > /etc/iptables.rules # iptables -F # iptables -X # iptables -L # iptables-restore < /etc/iptables.rules # iptables -L

Configuracin Permanente de Iptables


Una vez que se cuenta con la configuracin almacenada, es posible automatizar los procesos de salvar y restaurar, as: vi /etc/network/if-up.d/iptablesload #!/bin/sh If [ -f /etc/iptables.rules ]; then iptables-restore < /etc/iptables.rules fi exit 0 vi /etc/network/if-down.d/iptablessave #!/bin/sh Iptables-save > /etc/iptables.rules exit 0 chmod +x /etc/network/if-up.d/iptablesload chmod +x /etc/network/if-down.d/iptablessave

PREGUNTAS

clase 4 iptables para levantar la interfaz virutual automtica auto eth0:0 Tengo mi LAN, all mando yo Para las privadas puedo ponerlas a mi antojo Para las pblicas las solicito a mi proveedor los rangos son 10.0.0.0/8 172.16.0.0 /12 172.31.x.x 192.168.0.0/16 Yo tengo 10 15 o 20 hago un proceso de NAT hacia direccin publicas una para pymes y 5 para empresas o hasta 13 sustituyendo el encabeza de los paquetes una de MANGLE de manipulacin de manoseo lo mismo que NAT pero mas grosero Con una solo direccin a varios servidores. NAT se mete con direccin ip, mangle con todo hasta capa 4 Llega la peticin a puerto 80 lo redireccin y cambia la ip destino y puerto destino con route se puede manipular hasta direcciones MAC, se puede hacer practicamente de todo, aunque a veces no sirve. diferencia entre NAT y PROXY, basicamente los dos hacen los mismo NAT a nivel de direccin ip es tranparente para el cliente, el cliente no sabe que sus paquetes fueron nateados, Con el proxy se puede configurandolo en el cliente o bien dejandolo transparente tiene mayor conciencia de los puertos. El proxy se puedo poner especficamente par WEB, cualquier otra peticin no la podr hacer. EL proxy no esta solo sino que es un proxy cache, como tiene conomiento mayor es un paquete una aplicacin hacia otra aplicacin. Puede guardar informacin para ser reutilizada. Si trabajamos con NAT lleva todas la peticiones a internet con proxy si ya preguntamos algo responde de una vez HTTPS todo tipo de navegacion segura no se incluyen en el cache. porforwar es un mecanismos de mangle, las tablas tienen cada una funciones especficas todas tienen 5 tipos de flujos de datos prerouting. antes de identificar lo ve la direccin de origen, le hago algo si o no input: hay dos momentos de input uno dirigido hacia el dispostivo el que pasa se une al prerouting, puedo llegar a un nivel de detalle. forwarding, manipulacion o manoseo output, el dispositivo de seguridad ha generado un paquete va de salida

postrouting. a un servidor de navegacin no le voy a permitir que navegue. Puede haber una correlacin de prerouting y postrouting y input y output. Vamos a minimizar estos casos BUENA PRACTICA EN MI RED INTERNA iptables -A INPUT -s 10.0.0.0/8 -j DROP iptables -A INPUT -s 172.16.0.0/12 -j DROP iptables -A INPUT -s 192.168.0.0/16 -j DROP para rechazar peticiones de internet From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable

From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable

From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable

From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable ^C --- 10.0.3.3 ping statistics --0 packets transmitted, 0 received, +23889 errors root@debian09:/etc/network# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable --- 10.0.3.3 ping statistics --0 packets transmitted, 0 received, +10 errors root@debian09:/etc/network# iptables -A OUTPUT -d 10.0.2.1 root@debian09:/etc/network# ping -c 10 10.0.2.1 PING 10.0.2.1 (10.0.2.1) 56(84) bytes of data. ^C --- 10.0.2.1 ping statistics --5 packets transmitted, 0 received, 100% packet loss, time 4033ms root@debian09:/etc/network# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable --- 10.0.3.3 ping statistics --0 packets transmitted, 0 received, +10 errors root@debian09:/etc/network# ping -c 10 10.0.2.3 PING 10.0.2.3 (10.0.2.3) 56(84) bytes of data. ^C --- 10.0.2.3 ping statistics --4 packets transmitted, 0 received, 100% packet loss, time 3024ms root@debian09:/etc/network# ping -c 10 10.0.1.3 PING 10.0.1.3 (10.0.1.3) 56(84) bytes of data. ^C --- 10.0.1.3 ping statistics --3 packets transmitted, 0 received, 100% packet loss, time 2016ms root@debian09:/etc/network# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable

From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable From 10.0.3.2 icmp_seq=1 Destination Port Unreachable --- 10.0.3.3 ping statistics --0 packets transmitted, 0 received, +10 errors root@debian09:/etc/network# iptables Bad argument `-' Try `iptables -h' or 'iptables --help' for more information. root@debian09:/etc/network# iptables Bad argument `-' Try `iptables -h' or 'iptables --help' for more information. root@debian09:/etc/network# iptables -D OUTPUT -d 10.0.3.3 -j REJECT root@debian09:/etc/network# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. ^C --- 10.0.3.3 ping statistics --9 packets transmitted, 0 received, 100% packet loss, time 8064ms root@debian09:/etc/network# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. ^C --- 10.0.3.3 ping statistics --2 packets transmitted, 0 received, 100% packet loss, time 1008ms root@debian09:/etc/network# iptables -A OUTPUT -d 10.0.3.3 -j DROP root@debian09:/etc/network# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ^C --- 10.0.3.3 ping statistics --7 packets transmitted, 0 received, 100% packet loss, time 6048ms root@debian09:/etc/network# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted --- 10.0.3.3 ping statistics --10 packets transmitted, 0 received, 100% packet loss, time 9072ms root@debian09:/etc/network# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted

ping: sendmsg: Operation not permitted --- 10.0.3.3 ping statistics --10 packets transmitted, 0 received, 100% packet loss, time 9073ms root@debian09:/etc/network# iptables -A OUTPUT -d 10.0.0.0/24 -j ACCEPT root@debian09:/etc/network# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh Chain FORWARD (policy ACCEPT) target prot opt source

destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination all -- anywhere 10.0.2.1 ^C root@debian09:/etc/network# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination fail2ban-ssh tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 22 Chain FORWARD (policy ACCEPT) target prot opt source

destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination all -- 0.0.0.0/0 10.0.2.1 DROP all -- 0.0.0.0/0 10.0.3.3 ACCEPT all -- 0.0.0.0/0 10.0.0.0/24 Chain fail2ban-ssh (1 references) target prot opt source destination RETURN all -- 0.0.0.0/0 0.0.0.0/0 root@debian09:/etc/network# iptables -D 1 iptables: Bad rule (does a matching rule exist in that chain?). root@debian09:/etc/network# iptables -D opt 1 iptables: No chain/target/match by that name. root@debian09:/etc/network# iptables -D output 1 iptables: No chain/target/match by that name. root@debian09:/etc/network# iptables -D OUTPUT 1 root@debian09:/etc/network# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination fail2ban-ssh tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 22 Chain FORWARD (policy ACCEPT) target prot opt source Chain OUTPUT (policy ACCEPT) target prot opt source DROP all -- 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0

destination

destination 10.0.3.3 10.0.0.0/24

Chain fail2ban-ssh (1 references) target prot opt source destination RETURN all -- 0.0.0.0/0 0.0.0.0/0 root@debian09:/etc/network# ping 10.0.2.1 PING 10.0.2.1 (10.0.2.1) 56(84) bytes of data. ^C --- 10.0.2.1 ping statistics --4 packets transmitted, 0 received, 100% packet loss, time 3024ms root@debian09:/etc/network# iptables -A OUTPUT -s 10.0.0.2 -j DROP root@debian09:/etc/network# iptables -R OUTPUT 1 -s 10.0.0.2 -j REJECT root@debian09:/etc/network# iptables -I OUTPUT 1 -s 10.0.0.0/24 -j ACCEPT root@debian09:/etc/network# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination

fail2ban-ssh tcp -- 0.0.0.0/0 Chain FORWARD (policy ACCEPT) target prot opt source Chain OUTPUT (policy ACCEPT) target prot opt source ACCEPT all -- 10.0.0.0/24 REJECT all -- 10.0.0.2 unreachable ACCEPT DROP all -- 0.0.0.0/0 all -- 10.0.0.2

0.0.0.0/0

multiport dports 22

destination

destination 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port10.0.0.0/24 0.0.0.0/0

Chain fail2ban-ssh (1 references) target prot opt source destination RETURN all -- 0.0.0.0/0 0.0.0.0/0 root@debian09:/etc/network# ping 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. 64 bytes from 10.0.3.3: icmp_req=1 ttl=64 time=6.63 ms 64 bytes from 10.0.3.3: icmp_req=2 ttl=64 time=0.135 ms 64 bytes from 10.0.3.3: icmp_req=3 ttl=64 time=0.127 ms 64 bytes from 10.0.3.3: icmp_req=4 ttl=64 time=0.138 ms 64 bytes from 10.0.3.3: icmp_req=5 ttl=64 time=0.154 ms 64 bytes from 10.0.3.3: icmp_req=6 ttl=64 time=0.131 ms 64 bytes from 10.0.3.3: icmp_req=7 ttl=64 time=0.167 ms 64 bytes from 10.0.3.3: icmp_req=8 ttl=64 time=0.157 ms 64 bytes from 10.0.3.3: icmp_req=9 ttl=64 time=0.163 ms 64 bytes from 10.0.3.3: icmp_req=10 ttl=64 time=0.129 ms 64 bytes from 10.0.3.3: icmp_req=11 ttl=64 time=0.156 ms 64 bytes from 10.0.3.3: icmp_req=12 ttl=64 time=0.125 ms 64 bytes from 10.0.3.3: icmp_req=13 ttl=64 time=0.125 ms 64 bytes from 10.0.3.3: icmp_req=14 ttl=64 time=0.117 ms 64 bytes from 10.0.3.3: icmp_req=15 ttl=64 time=0.123 ms 64 bytes from 10.0.3.3: icmp_req=16 ttl=64 time=0.133 ms 64 bytes from 10.0.3.3: icmp_req=17 ttl=64 time=0.121 ms 64 bytes from 10.0.3.3: icmp_req=18 ttl=64 time=0.145 ms 64 bytes from 10.0.3.3: icmp_req=19 ttl=64 time=0.138 ms 64 bytes from 10.0.3.3: icmp_req=20 ttl=64 time=0.135 ms ^C --- 10.0.3.3 ping statistics --20 packets transmitted, 20 received, 0% packet loss, time 18998ms rtt min/avg/max/mdev = 0.117/0.462/6.639/1.417 ms root@debian09:/etc/network# iptables if-down.d/ if-post-down.d/ if-pre-up.d/ if-up.d/ interfaces root@debian09:/etc/network# iptables -save iptables v1.4.8: no command specified Try `iptables -h' or 'iptables --help' for more information. root@debian09:/etc/network# iptables-save # Generated by iptables-save v1.4.8 on Thu Aug 25 19:46:27 2011 *filter :INPUT ACCEPT [1528:146944] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [450:72439] :fail2ban-ssh - [0:0] -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh -A OUTPUT -s 10.0.0.0/24 -j ACCEPT -A OUTPUT -s 10.0.0.2/32 -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -d 10.0.0.0/24 -j ACCEPT -A OUTPUT -s 10.0.0.2/32 -j DROP -A fail2ban-ssh -j RETURN COMMIT # Completed on Thu Aug 25 19:46:27 2011 root@debian09:/etc/network# iptables-save > /etc/iptables.rules root@debian09:/etc/network# iptables -F root@debian09:/etc/network# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source

run/

destination

Chain OUTPUT (policy ACCEPT) target prot opt source

destination

Chain fail2ban-ssh (0 references) target prot opt source destination root@debian09:/etc/network# iptables-restore < /etc/iptables.rules root@debian09:/etc/network# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination fail2ban-ssh tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 22 Chain FORWARD (policy ACCEPT) target prot opt source Chain OUTPUT (policy ACCEPT) target prot opt source ACCEPT all -- 10.0.0.0/24 REJECT all -- 10.0.0.2 unreachable ACCEPT DROP all -- 0.0.0.0/0 all -- 10.0.0.2 10.0.0.0/24 0.0.0.0/0

destination

destination 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-

Chain fail2ban-ssh (1 references) target prot opt source destination RETURN all -- 0.0.0.0/0 0.0.0.0/0 root@debian09:/etc/network# ls if-down.d if-post-down.d if-pre-up.d if-up.d interfaces run root@debian09:/etc/network# nano interfaces root@debian09:/etc/network# ls if-down.d if-post-down.d if-pre-up.d if-up.d interfaces run root@debian09:/etc/network# vi /etc/network/if-up.d/iptablesload root@debian09:/etc/network# nano /etc/network/if-up.d/iptablesload root@debian09:/etc/network# nano /etc/network/if-up.d/iptablessave root@debian09:/etc/network# nano /etc/network/if-up.d/iptablesload root@debian09:/etc/network# ^C root@debian09:/etc/network#

clase 5 -m tipo de match que hace, puede hacerlo a uno o varios puerto sino se pone multiport se puede poner uno o varios

iptables -A INPUT -m multiport -dports 22:25 -j ACCEPT otro ejemplo: las instrucciones se pueden seguir agregando iptables -A INPUT -m multiport -dports 22:25 -j ACCEPT -s 10.0.0.0/8 -i eth0 -> de aqui en adelante se pueden poner los parmetros en orden que yo quiera acepta multipuertos segn match en un rango de puertos #iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT conntrack = conection tracking El estado de la conexin relacionados o establecidos. RELATED= icmp udp ESTABLESHED_= TCP PUEDE SER CLAVE PARA SABER QUIEN ESTA INICIANDO LA COMUNICACION, lo que estamos haciendo aqui es diciendole que me acepte paquetes establecidos, si soy yo quien me pregunta aceptame respuestas.

Mi computadora si responde pero yo no puedo hacer ping iptables -R OUTPUT 1 -d 10.0.0.0/8 -j REJECT iptables -I OUTPUT 1 -m conntrack --ctstate RELATE,ESTABLISHED -j ACCEPT PARA DESCOMPRIMIR # tar -zxvf apache.gz # dpkg -i *.deb /etc/servicess

asignaciones de puertos. less /etc/services que archivos reconoce por su nombre firewall simple http://www.pello.info/filez/IPTABLES_en_21_segundos.html

servidor web Limpiar iptables -L admitiendo conexiones iptables -A INPUT -s 10.0.0.2 -p tcp --dports 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP iptables -A INPUT -s !10.0.0.2 -p tcp --dports 22 -j DROP iptables -A INPUT -s !10.0.0.2/31 -p tcp --dports 22 -j DROP ! todo lo que sea distinto a esto me lo bloquea aceptar peticiones de estas redes iptables -A INPUT -p tcp --dports 80 -j ACCEPT -s 10.0.1.0/24 iptables -A INPUT -p tcp --dports 80 -j ACCEPT -s 10.0.2.0/24 iptables -A INPUT -p tcp --dports 80 -j ACCEPT -s 10.0.3.0/24 iptables -A INPUT -p tcp --dports 80 -j ACCEPT -s 10.0.4.0/24 iptables -A INPUT -p icmp -j ACCEPT -s 10.0.0.0/24 si no cae en la reglas botelo iptables -A INPUT -j DROP lo que otros me piden a mi y si la conexin esta establecida permitir que las respuestas entren. iptables -I INPUT 1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT eliminar una linea especfica iptables -D INPUT 4

caso 3 iptables -F conexiones que no sean de este me los bota iptables -A INPUT -p tcp --dport 22 -s 10.0.0.1 -j ACCEPT iptables -A INPUT -p icmp -s 10.0.1.0/24 -j REJECT iptables -A INPUT -p icmp -s 10.0.2.0/24 -j REJECT iptables -A INPUT -p icmp -s 10.0.3.0/24 -j REJECT iptables -A INPUT -p icmp -s 10.0.4.0/24 -j REJECT

iptables -R INPUT 8 -m multiport -p tcp --dports 80,443 -j ACCEPT

comandos usuario@debian09:~$ su Contrasea: root@debian09:/home/usuario# iptables -f iptables v1.4.8: no command specified Try `iptables -h' or 'iptables --help' for more information. root@debian09:/home/usuario# iptables -F root@debian09:/home/usuario# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:19:d1:3b:b5:e6 brd ff:ff:ff:ff:ff:ff root@debian09:/home/usuario# ifup eth0 Ignoring unknown interface eth0=eth0. root@debian09:/home/usuario# cd/ bash: cd/: No existe el fichero o el directorio root@debian09:/home/usuario# ls clase 3 seguridad basica linux compartir Desktop Downloads fs root@debian09:/home/usuario# less Missing filename ("less --help" for help) root@debian09:/home/usuario# less /etc/network/interfaces root@debian09:/home/usuario# nano /etc/network/interfaces root@debian09:/home/usuario# nano /etc/network/interfaces root@debian09:/home/usuario# less /etc/network/interfaces root@debian09:/home/usuario# ifup eth0 Internet Systems Consortium DHCP Client 4.1.1-P1 Copyright 2004-2010 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/00:19:d1:3b:b5:e6 Sending on LPF/eth0/00:19:d1:3b:b5:e6 Sending on Socket/fallback DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7

DHCPOFFER from 192.168.1.1 DHCPREQUEST on eth0 to 255.255.255.255 port 67 DHCPACK from 192.168.1.1 bound to 192.168.1.141 -- renewal in 1366 seconds. root@debian09:/home/usuario# ping -c 10 10.0.3.3 connect: Network is unreachable root@debian09:/home/usuario# ifup eth0:0 root@debian09:/home/usuario# ping -c 10 10.0.3.3 PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. 64 bytes from 10.0.3.3: icmp_req=1 ttl=64 time=3.13 ms 64 bytes from 10.0.3.3: icmp_req=2 ttl=64 time=0.131 ms 64 bytes from 10.0.3.3: icmp_req=3 ttl=64 time=0.114 ms 64 bytes from 10.0.3.3: icmp_req=4 ttl=64 time=0.137 ms 64 bytes from 10.0.3.3: icmp_req=5 ttl=64 time=0.141 ms ^C --- 10.0.3.3 ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 3998ms rtt min/avg/max/mdev = 0.114/0.730/3.130/1.200 ms root@debian09:/home/usuario# ping 10.0.0.2 PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data. ^C --- 10.0.0.2 ping statistics --10 packets transmitted, 0 received, 100% packet loss, time 9073ms root@debian09:/home/usuario# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain fail2ban-ssh (0 references) target prot opt source destination root@debian09:/home/usuario# iptables -A OUTPUT -d 10.0.0.0/24 -j ACCEPT root@debian09:/home/usuario# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 10.0.0.0/24 Chain fail2ban-ssh (0 references) target prot opt source destination root@debian09:/home/usuario# ping 10.0.0.2 PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data. 64 bytes from 10.0.0.2: icmp_req=1 ttl=63 time=2.66 ms From 10.0.3.254: icmp_seq=2 Redirect Host(New nexthop: 10.0.0.2) 64 bytes from 10.0.0.2: icmp_req=2 ttl=63 time=2.51 ms From 10.0.3.254: icmp_seq=3 Redirect Host(New nexthop: 10.0.0.2) 64 bytes from 10.0.0.2: icmp_req=3 ttl=64 time=2.15 ms ^C --- 10.0.0.2 ping statistics --3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 2.150/2.445/2.669/0.217 ms root@debian09:/home/usuario# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 10.0.0.0/24 Chain fail2ban-ssh (0 references) target prot opt source destination root@debian09:/home/usuario# iptables -I OUTPUT 1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT root@debian09:/home/usuario# iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED root@debian09:/home/usuario# -j ACCEPT bash: -j: no se encontr la orden root@debian09:/home/usuario# iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT root@debian09:/home/usuario# ^C root@debian09:/home/usuario# ^C root@debian09:/home/usuario# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:19:d1:3b:b5:e6 brd ff:ff:ff:ff:ff:ff inet 192.168.1.141/22 brd 192.168.3.255 scope global eth0 inet 10.0.3.2/24 brd 10.0.3.255 scope global eth0:0 inet6 fe80::219:d1ff:fe3b:b5e6/64 scope link valid_lft forever preferred_lft forever root@debian09:/home/usuario# apt-get -f install Leyendo lista de paquetes... Hecho Creando rbol de dependencias Leyendo la informacin de estado... Hecho Corrigiendo dependencias... Listo Se instalarn los siguientes paquetes extras: apache2.2-bin libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap Se instalarn los siguientes paquetes NUEVOS: apache2.2-bin libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap 0 actualizados, 5 se instalarn, 0 para eliminar y 25 no actualizados. 4 no instalados del todo o eliminados. Necesito descargar 1570 kB de archivos. Se utilizarn 4153 kB de espacio de disco adicional despus de esta operacin. Desea continuar [S/n]? s AVISO: No se han podido autenticar los siguientes paquetes! libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap apache2.2-bin Instalar estos paquetes sin verificacin [s/N]? s Des:1 http://debian.ues.edu.sv/debian/ squeeze/main libapr1 i386 1.4.2-6+squeeze3 [86.1 kB] Des:2 http://debian.ues.edu.sv/debian/ squeeze/main libaprutil1 i386 1.3.9+dfsg-5 [87.0 kB] Des:3 http://debian.ues.edu.sv/debian/ squeeze/main libaprutil1-dbd-sqlite3 i386 1.3.9+dfsg-5 [27.2 kB] Des:4 http://debian.ues.edu.sv/debian/ squeeze/main libaprutil1-ldap i386 1.3.9+dfsg-5 [25.3 kB] Des:5 http://debian.ues.edu.sv/debian/ squeeze/main apache2.2-bin i386 2.2.16-6+squeeze1 [1345 kB] Descargados 1570 kB en 3seg. (513 kB/s) Seleccionando el paquete libapr1 previamente no seleccionado. (Leyendo la base de datos ... 56762 ficheros o directorios instalados actualmente.) Desempaquetando libapr1 (de .../libapr1_1.4.2-6+squeeze3_i386.deb) ... Seleccionando el paquete libaprutil1 previamente no seleccionado. Desempaquetando libaprutil1 (de .../libaprutil1_1.3.9+dfsg-5_i386.deb) ... Seleccionando el paquete libaprutil1-dbd-sqlite3 previamente no seleccionado. Desempaquetando libaprutil1-dbd-sqlite3 (de .../libaprutil1-dbd-sqlite3_1.3.9+dfsg-5_i386.deb) ...

Seleccionando el paquete libaprutil1-ldap previamente no seleccionado. Desempaquetando libaprutil1-ldap (de .../libaprutil1-ldap_1.3.9+dfsg-5_i386.deb) ... Seleccionando el paquete apache2.2-bin previamente no seleccionado. Desempaquetando apache2.2-bin (de .../apache2.2-bin_2.2.16-6+squeeze1_i386.deb) ... Procesando disparadores para man-db ... Configurando libapr1 (1.4.2-6+squeeze3) ... Configurando libaprutil1 (1.3.9+dfsg-5) ... Configurando libaprutil1-dbd-sqlite3 (1.3.9+dfsg-5) ... Configurando libaprutil1-ldap (1.3.9+dfsg-5) ... Configurando apache2.2-bin (2.2.16-6+squeeze1) ... Configurando apache2-utils (2.2.16-6+squeeze1) ... Configurando apache2.2-common (2.2.16-6+squeeze1) ... Enabling site default. Enabling module alias. Enabling module autoindex. Enabling module dir. Enabling module env. Enabling module mime. Enabling module negotiation. Enabling module setenvif. Enabling module status. Enabling module auth_basic. Enabling module deflate. Enabling module authz_default. Enabling module authz_user. Enabling module authz_groupfile. Enabling module authn_file. Enabling module authz_host. Enabling module reqtimeout. Configurando apache2-mpm-worker (2.2.16-6+squeeze1) ... Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName . Configurando apache2 (2.2.16-6+squeeze1) ... root@debian09:/home/usuario# iptables -A INPUT -d 10.0.3.1 ACCEPT -dport 22 Bad argument `ACCEPT' Try `iptables -h' or 'iptables --help' for more information. root@debian09:/home/usuario# iptables -A INPUT -d 10.0.3.1 -j ACCEPT -dport 22 iptables v1.4.8: multiple -d flags not allowed Try `iptables -h' or 'iptables --help' for more information. root@debian09:/home/usuario# iptables -A INPUT -d 10.0.3.1 -j ACCEPT -dports 22 iptables v1.4.8: multiple -d flags not allowed Try `iptables -h' or 'iptables --help' for more information. root@debian09:/home/usuario# iptables -A INPUT -d 10.0.3.1 -j ACCEPT --dports 22

iptables v1.4.8: unknown option `--dports' Try `iptables -h' or 'iptables --help' for more information. root@debian09:/home/usuario# iptables -A INPUT -s 10.0.3.1 -j ACCEPT -dports 22 Bad argument `22' Try `iptables -h' or 'iptables --help' for more information. root@debian09:/home/usuario# iptables -A INPUT -s 10.0.3.1 -j ACCEPT -dports ssh Bad argument `ssh' Try `iptables -h' or 'iptables --help' for more information. root@debian09:/home/usuario#

Seguridad Bsica en GNU / LINUX


Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

Iptables
Identificacin de flujos de datos, segn IP de origen o destino # iptables -A OUTPUT -d 10.0.0.2 -j REJECT # iptables -A OUTPUT -d 10.0.0.0/24 -j ACCEPT # iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP # iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP # iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP

Iptables
Identificacin de flujos de datos, segn protocolo: tcp, udp, icmp, sctp, esp, ah, udplite o all # iptables -A INPUT -s 10.0.0.3 -p icmp -j REJECT Identificacin de flujos de datos, segn puerto de origne o destino # iptables -A INPUT -m multiport dports 22:25 -j ACCEPT # iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Prctica

Prctica Desafo
PC 1: servidor web interno.

Admite conexiones ssh solo desde 2 y 3. La pgina web debe ser disponible solo para las redes de los 4 grupos Responde ping solo a su red y al grupo siguiente.

PC 2: servidor web externo


Admite conexiones ssh desde 1 Rechaza ping de redes de otros grupos, elimina peticiones de internet

PC 3: servidor de acceso remoto Acceso remoto con VINO exclusivamente sobre ssh Bloquea conexiones ssh desde las redes de los otros grupos

PREGUNTAS

Seguridad Bsica en GNU / LINUX


Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

Enrutamiento, NAT y Proxy


Enrutamiento : Mecanismo por el cual un paquete es trasladado de una red hacia otra, tomando en consideracin la IP destino. En Linux, el enrutamiento se realiza entre 2 interfaces, tomando en consideracin las rutas conocidas por el sistema. Los dispositivos ms frecuentes que realizan la tarea de enrutamiento son Routers, Switches (con capacidad capa 3) y Firewalls. El sistema operativo Linux puede realizar las funciones de Routers y Firewalls

Enrutamiento, NAT y Proxy


NAT : Traduccin de direcciones de red. Es el proceso de sustituir la direccin de origen de un paquete, por una direccin de otra red, generalmente asociada a la interfaz de salida en el dispositivo de enrutamiento. Existen 2 maneras de ejecutar el proceso de NAT: Esttico : Los servidores requieren ser accesibles desde redes distinta a la propia, siempre con la misma direccin IP pblica. Dinmico : Los clientes de la red pueden solicitar de forma temporal las direcciones pblicas, o bien, realizar una asociacin de direccin y puerto privado, por una combinacin privada.

Enrutamiento, NAT y Proxy


Proxy : Aplicacin que actua como intermediario entre una aplicacin cliente y servidores. Estas aplicaciones suelen procesar informacin de una unica aplicacin (ej. Navegadores Web) o una serie de aplicaciones de uso similar. Generalmente en Linux es posible realizar las funciones de proxy, unicamente con iptables, o bien, con aplicaciones que incluyen otras funcionalidades, tales como filtrado o cache por contenido, lmite de ancho de banda o autenticacin de usuarios.

Enrutamiento en Linux
Para permitir el flujo de paquetes entre multiples redes, es necesario lo siguiente: El origen debe conocer un dispositivo (enrutador) que lo conecte con la red destino o que tenga comunicacin con otros enrutadores. El destino debe conocer un dispositivo que permita el retorno de los paquetes. Los enrutadores deben conocer los caminos en ambas direcciones

Prctica

PREGUNTAS

Seguridad Bsica en GNU / LINUX


Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

NAT
Para la configuracin de NAT esttico, iptables ofrece un mecanismo de sustitucin de direcciones en el flujo de paquetes. Es importante tomar en consideracin los componentes bidireccionales de la comunicacin, por lo que la sustitucin suele hacerse tanto en el trfico entrante como en el saliente

NAT
Iptables -t nat -A PREROUTING [-i {if entrada}] -d {pblica} -j DNAT --to {privada} Iptables -t nat -A POSTROUTING [-o {if salida}] -s {privada} -j SNAT --to {pblica}

NAT
El problema del proceso anterior, es que aunque la direccin IP privada, esta protegida, el equipo estar disponible por cualquier puerto y cualquier protocolo, y depender del firewall local, todo el proceso de filtrado. Un mejor mecanismo, es proporcionar acceso unicamente a los puertos y protocolos que realmente se requieran, reduciendo la cantidad de posibles puertas a proteger o monitorear.

NAT
Iptables -t nat -A PREROUTING [-i {if entrada}] -d {pblica} -p {prot} --dport {puerto}-j DNAT --to {privada:puerto} Iptables -t nat -A POSTROUTING [-o {if salida}] -s {privada} -p {prot} --sport {puerto} -j SNAT --to {pblica}

NAT
Finalmente, el mecanismo preferido para la traduccin de direcciones en servidores, es el redireccionamiento de puertos, con lo que se puede manejar con una sola direccin IP, mltiples aplicaciones en mltiples servidores, incluso al firewall mismo

NAT
Iptables -t nat -A PREROUTING [-i {if entrada}] -d {pblica} -p {prot} --dport {puerto} -j REDIRECT --to-port {privada:puerto}

MANGLE
La tabla mangle es usada para alterar algunos campos del encabezado del paquete, tales como el TTL, TOS (tipo de servicio), o generar marcado de paquetes para filtros posteriores. iptables -t mangle {identificacion del flujo} -j TTL --ttl-set {valor} iptables -j {TOS | TTL | MARK} --help

Prctica Desafo
PC 1: Servidor web interno. Servicio VINO externo PC 2: Servidor web externo. PC 3: Firewall con NAT Escenario 1. Utilizar rango de direcciones 172.16.G.0/24 como direcciones pblicas. Firewalls vecinos debern configurar ruta esttica a dichas redes, as: route add -net 172.16.vecino.0 netmask 255.255.255.0 gw 10.0.0.vecino

Prctica Desafo
PC 1: Servidor web interno. Servicio VINO externo PC 2: Servidor web externo. PC 3: Firewall con NAT Escenario 2. Resolver el mismo caso, utilizando redireccionamiento de puertos, segn convenga.

PREGUNTAS

Seguridad Bsica en GNU / LINUX


Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

Squid
Squid es un servidor proxy de alto desempeo, con mltiples funcionalidades, entre las que destacan cach de objetos ftp, gopher y http. Adems, squid consiste en varios programas, tales como DNS lookup, autenticacin, administracin y herramientas de clientes. La configuracin de squid se encuentra en /etc/squid/squid.conf

Squid.conf
Al igual que muchos programas en linux, el archivo de configuracin, trae opciones por defecto, adems de comentarios con ejemplos. Para ver la configuracin activa se puede ejecutar: grep ^[^#] /etc/squid/squid.conf | less

Squid.conf
Dentro de las estructura del archivo squid.conf, se reconocern 3 partes principales: 1. acl. Listas de control de acceso. Contra ellas se comparan los paquetes de usuarios, permitiendo identificar por origen, destino, hora, entre otros.

Squid.conf
2. http_access. Asignacin de acciones a tomar (permitir o denegar) a partir de la comparacin del flujo de datos de usuarios, con acl. 3. Otras configuraciones, tales como puerto de escucha (por defecto 3128), tamao y ubicacin de cach, opciones de autenticacin, etc.

Prctica
1. respaldar configuracin original de squid.conf en old.squid.conf 2. generar un nuevo archivo squid.conf con el siguiente contenido:
# acls acl all src all acl localnet src [red local / mascara] # acciones http_access allow localnet http_access deny all # configuracion general http_port 3128

Squid como filtro


Adems de la funcin de cach, squid puede utilizarse como herramienta de bloqueo de sitios. La forma ms simple, es con la creacin de listas negras y listas blancas 1. crear /etc/squid/blacklist.lst con el siguiente contenido .gmail.com mail.yahoo.com

Squid como filtro


2. modificar el archivo /etc/squid/squid.conf, agregando la acl y la accin de denegar (debe ir antes de permitir) acl blacklist dstdomain /etc/squid/blacklist.lst http_access deny blacklist

Squid como filtro horario


Dentro de las polticas de navegacin, suele ser frecuente flexibilizar las restricciones fuera de los horarios laborales. Para evitar que el administrador corra a modificar configuraciones, se pueden crear acl que dependan de la hora y/o da. acl horario_laboral time MTWHF 08:00-17:00 acl horario_laboral time A 08:00-12:00

Squid como filtro horario


Dentro de las polticas de navegacin, suele ser frecuente flexibilizar las restricciones fuera de los horarios laborales. Para evitar que el administrador corra a modificar configuraciones, se pueden crear acl que dependan de la hora y/o da. acl horario_laboral time MTWHF 08:00-17:00 acl horario_laboral time A 08:00-12:00

Squid. Filtros especiales


Auxiliandose de expresiones regulares, es posible identificar patrones especiales en el contenido de la informacin solicitada por el usuario, permitiendo generar filtros ms especficos : acl flashmime req_mime_type ^application/x-shockwave-flash acl flashgw url_regex -i swf acl msnmime req_mime_type ^application/x-msn-messenger acl msngw url_regex -i gateway.dll http_access deny flashmime http_access deny flashgw http_access deny msnmime http_access deny msngw

Personalizacin de mensajes
Los mensajes de error proporcionado por squid por defecto se presentarn en el idioma del sistema, pero es posible modificar el idioma, e incluso en contenido, de la siguiente manera: error_directory /usr/share/squid-langpack/es-sv

Tamao de memoria cach


El tamao de la memoria cach debe evaluarse a partir del trfico generado por los usuarios, ya que un cach excesivamente pequeo no ser de utilidad y uno demasiado grande, puede verse como desperdicio de recursos. cache_dir ufs /var/spool/squid [# en MB] [# de directorios] [# de subdirectorios] IMPORTANTE. Si se modifica la cantidad de directorios o subdirectorios se debe reconstruir la estructura con squid -z

PREGUNTAS

Seguridad Bsica en GNU / LINUX


Lic. Ren Alberto Aguilera raaguileraa@yahoo.com

Squid. Transparente
La configuracin estndar de squid, requiere que el navegador cliente est configurado para utilizar dicho servidor. Esta informacin debe ser proporcionada de manera manual, ya que el servicio de dhcp no cuenta con opcin para ello. Una mejor forma de configurar squid, es de manera transparente para el usuario, es decir, sin configuraciones extra en el o los navegadores.

Squid. Transparente
Para que squid pueda trabajar de manera transparente al usuario se necesitan 3 configuraciones: 1. Squid. /etc/squid/squid.conf http_port [ip serv:puerto] transparent 2. Enrutamiento. /etc/sysctl.conf net.ipv4.ip_forward=1 3. Iptables. Redireccionar el trfico iptables -t nat -A PREROUTING -s [red local] -p tcp --dport 80 -j DNAT --to [ip serv:puerto] Iptables -t nat -A POSTROUTING -s [red local] -j MASQUERADE

Monitoreo de squid
Las bitcoras de eventos de squid, como muchos programas, se almacenan en /var/log. Para visualizar en tiempo real las solicitudes procesadas por squid se puede ejecutar el comando tail -f /var/log/squid/access.log

Monitoreo de squid
Otras herramientas utiles para el monitoreo de squid son squidtaild y squidview. Ambos programas leen los log de squid y permiten realizar filtrados y generar reportes de la informacin del programa

Firewall Personal
La configuracin de firewall personal, para estaciones finales de usuarios, resulta extremadamente simple con iptables, si se considera que dichos equipos no contienen aplicaciones o servicios para otros: iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -P INPUT DROP

PREGUNTAS

También podría gustarte