Configurar Debian

125
Seguridad Básica en GNU / LINUX Lic. René Alberto Aguilera [email protected]

Transcript of Configurar Debian

Page 1: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 2: Configurar Debian

Seguridad Básica

La seguridad informatica debe verse de manera integral entre dispositivos, protocolos, políticas, tecnologías y herramientas.

El fin último de la seguridad informática, debe ser la seguridad de la información, al mismo tiempo que se cumple con confiabilidad, integridad y disponibilidad.

Page 3: Configurar Debian

Seguridad Básica

Page 4: Configurar Debian

Seguridad Básica

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

Page 5: Configurar Debian

Seguridad Básica

Seguridad física:

Acceso físico Condiciones climáticas Condiciones eléctricas Iluminación

Page 6: Configurar Debian

Seguridad Básica

Seguridad lógica:

• Autenticación• Autorización• Registros y bitacoras

Page 7: Configurar Debian

Seguridad Básica

Seguridad de información:

• Integridad• Confidencialidad• Respaldos• Restablecimientos de respaldos

Page 8: Configurar Debian

Ciclo de Vida de la Seguridad

Control.• Implantación de políticas. Reunir

requerimientos y reglas.• Estructuración de la seguridad.

Definición de responsables.• Reportes. Estandarización de

reportes.

Page 9: Configurar Debian

Ciclo de Vida de la Seguridad

Plan.• Creación de SLA (Acuerdos de

Niveles de Servicio).• Creación de contratos de soporte.• Creación de Acuerdos de Niveles de

Operación.• Reportes. Generación de reportes de

la etapa.

Page 10: Configurar Debian

Ciclo de Vida de la Seguridad

Implementación.

• Clasificación y administración de aplicaciones de TI.

• Designación de personal de seguridad.

• Implementación de administración de seguridad.

• Implementación de controles de acceso.

• Reportes. Generación de reportes de la etapa.

Page 11: Configurar Debian

Ciclo de Vida de la Seguridad

Evaluación.• Autovaloración.• Auditoria Interna.• Auditoria Externa.• Evaluación basada en incidentes de

seguridad.• Reportes. Generación de reportes de

la etapa.

Page 12: Configurar Debian

Ciclo de Vida de la Seguridad

Mantenimiento.• Mantenimiento o ajustes a SLA.• Mantenimiento o ajustes a los

Acuerdos de Niveles de Operación.• Requerimientos de cambios de SLA

y/o OLA.• Reportes. Generación de reportes de

la etapa.

Page 13: Configurar Debian

GNU / Linux en el Mundo … TI

• GNU desde 1983. Richard M. Stallman

• Linux, desde 25 de Agosto de 1991. Linus Torvalds.

Page 14: Configurar Debian

GNU / Linux en el Mundo … TI

Page 15: Configurar Debian

GNU / Linux en el Mundo … TI

Servidores web

Fuente Fecha Linux Windows

W3Techs 2011-08 63.90% 36.10%

Security Space 2009-07 79.64% 20.36%

Page 16: Configurar Debian

GNU / Linux en el Mundo … TI

Page 17: Configurar Debian

GNU / Linux en el Mundo … TI

Page 18: Configurar Debian

GNU / Linux en el Mundo … TI

Page 19: Configurar Debian

GNU / Linux en el Mundo … TI

Page 20: Configurar Debian

PREGUNTAS

Page 21: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 22: Configurar Debian

Redes de Computadoras

La forma más frecuente de abordar el estudio de Redes de Computadoras es a través de modelos de capas, es decir, siguiendo “puntos de demarcación” definidos claramente, con funciones específicas y formas de manejo de la información. El seguimiento de modelos de capas proporciona una serie de pasos estandar para el estudio, diseño y mantenimiento de redes, incluso para la fabricación de Hardware y creación de sistemas, facilitando la interoperabilidad entre diferentes fabricantes y modelos.

Page 23: Configurar Debian

Modelo de Capas OSI

El modelo de capas OSI (Sistema de Interconección Abierto) fue propuesto durante la década de los 80's y aunque no existe ninguna implementación real del mismo, es tomado como referencia (principalmente en estudios) incluso hoy en día.

Este modelo divide la comunicación de información en siete capas, secuenciales y dependientes entre si. Al ser procesada por cada una de las capas, la información es agrupada en unidades más pequeñas, conocidas como Unidades de Datos de Protocolo (PDU), además, se le agrega información sobre el origen y destino, y en algunos casos información para el chequeo de la integridad del resto de la PDU.

Page 24: Configurar Debian

Modelo de Capas OSI

APLICACIÓNAPLICACIÓN

PRESENTACIÓNPRESENTACIÓN

SESIÓNSESIÓN

TRANSPORTETRANSPORTE

REDRED

ENLACE DE DATOSENLACE DE DATOS

FÍSICAFÍSICA

DATOSDATOS

SEGMENTOSSEGMENTOS

PAQUETESPAQUETES

TRAMASTRAMAS

BITSBITS

Page 25: Configurar Debian

Modelo de Capas OSI

Capa de Aplicación. Provee al usuario un acceso a la información y comunicación, usualmente a través de programas, tales como navegadores web, programas de correo electrónico, acceso remoto, ftp, etc.

Capa de Presentación. Da formato a la información de tal forma que sea presentada por la Capa de Aplicación de manera correcta. En esta capa se situan procesos como encriptación, compresión, interpretación de archivos XML, tipo de codificación MIME (ASCII y Unicode entre otros), etc.

Capa de Sesión. Administra la comunicación 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 información que se administra es conocida como “Datos”, es decir que el PDU es Datos.

Page 26: Configurar Debian

Modelo de Capas OSI

Capa de Transporte. Provee la comunicación entre equipos finales, es decir de computadora origen a destino. Además proporciona control de flujo y revisión y corrección de errores. Es durante esta etapa que la información se parte en “Segmentos”, para poder ser procesados por la siguiente capa. Para la identificación de la aplicación o servicio origen y destino, se utiliza un identificador conocido como puerto. Los números de puerto son decimales enteros entre 1 y 65535, siendo los primeros 1024 definidos para usos estándares, mientras que los restantes pueden ser usados de manera aleatoria.

Capa de Red. Proporciona a cada equipo de un identificador lógico único en la red (dirección IP), además de la estructura jerárquica que permite la comunicación entre redes diferentes. Los segmentos con convertidos en “Paquetes” y se “enrutan” desde el equipo origen al destino, además de agregar la dirección de origen y destino de la capa de red (dirección lógica) a cada paquete. Existe en esta capa un mecanismo de detección de errores, pero no corrección, es decir que la correción de posibles errores recae a capas de niveles superiores.

Page 27: Configurar Debian

Modelo de Capas OSI

Capa de Enlace de Datos. Los paquetes de la capa de red son encapsulados en Tramas. Físicamente, cada dispositivo de red posee una dirección MAC (representado por 6 pares de números hexadecimales), el cual es proporcionado por el fabricante. Esta capa proporciona protocolos para estandarizar la comunicación antes de la capa física, al mismo tiempo que genera un mecanismo para la detección de errores. Las tramas poseen un encabezado con la dirección de origen y destino de capa de enlace de datos (dirección física), además de una cola con información de chequeo de integridad de las tramas.

Capa Física. Aquí se definen los niveles de voltaje, estados de luz, formatos de onda, etc., con la que se llevará a cabo la comunicación. La información que originalmente era “Data” en las primeras capas, en esta capa es tratada como “bits”.

Page 28: Configurar Debian

Configuración de Red enGNU / Linux

Ifconfig : configura una interfaz de red

Ifdown : desactiva una interfaz de red

Ifup : activa una interfaz de red

Route : muestra / manipula la tabla de enrutamiento IP

Arp : manipula el sistema de cache ARP

Netstat : muestra las conexiones de red, tablas de enrutamiento, estadísticas de interfaces, conexiones enmascaradas y membresias multicast

Ip : muestra / manipula enrutamiento, dispositivos, políticas de enrutamiento y túneles

Ping : envía paquetes ICMP ECHO_REQUEST a hosts vecinos

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

Page 29: Configurar Debian

Configuración de Red enGNU / Linux

1. Dirección IP actual de la comutadora

2. Listar las rutas conocidas por la computadora

3. Realizar un “ping” a algún equipo vecino

4. Listar las direcciones mac conocidas

Page 30: Configurar Debian

Configuración de Red enGNU / Linux

/etc/hostname

/etc/network/interfaces

/etc/resolf.conf

/etc/hosts

Page 31: Configurar Debian

Configuración de Red enGNU / Linux

Adición de una dirección IP:

# ifconfig -v [interfaz]:[#] inet [nueva IP]

Edición de rutas:

# route add -net [red] netmask [máscara] gw [puerta] metric [Métrica]

# route del -net [red] netmask [máscara] gw [puerta] metric [Métrica]

Page 32: Configurar Debian

Acceso Remoto CLI

Telnet. Es un protocolo de red que proporciona comunicación bidireccional basada en texto, permitiendo acceder a una terminal virtual de manera remota.

SSH. Secure Shell. Al igual que telnet, proporciona mecanismos de comunicación hacia una terminal virtual remota, pero agregando mecanismos de seguridad a toda la transmisión de datos.

Page 33: Configurar Debian

Acceso Remoto CLI

Servidor SSH.

Para poder recibir conexiones remotas es necesario una aplicación servidor, tal como openssh-server. La configuración por defecto del daemon sshd, suele ser suficiente, pero puede ser reconfigurado en /etc/ssh/sshd_config.

Page 34: Configurar Debian

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 transmisión 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]

Page 35: Configurar Debian

Acceso Remoto Gráfico

Se puede contar con acceso a una interfaz gráfica 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 más configurable e independiente.

VINAGRE y TightVNC, son algunas aplicaciones clientes para accesar a servidores VNC

Page 36: Configurar Debian

Acceso Remoto. Soluciones

Al igual que telnet, la comunicación 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 dirección IP que previamente pertenecía a otro servidor, los clientes ssh impediran la comunicación, ya que el certificado almacenado no coincidirá con el equipo. Dicho certificado puede ser eliminado:

Ssh-keygen -f .ssh/known_hosts -R [ip]

Page 37: Configurar Debian

Seguridad en Acceso Remoto

Fail2ban, es un sistema de prevensión de intrusión, el cual monitorea accesos y bitácoras, para modificar las políticas de seguridad de firewall, de manera dinámica.

La mayoría de configuración se encuentra en /etc/fail2ban/jail.conf

Page 38: Configurar Debian

PREGUNTAS

Page 39: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 40: Configurar Debian

Práctica. Configuración 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 número 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

Page 41: Configurar Debian

Instalación de Paquetes

La forma más 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 repositoriosapt-get upgrade # actualiza todo paquete instalado que

encuentre nuevas versiones en repositoriosapt-get install [paquete] # instala el paquete indicadoapt-get remove [paquete] # desinstala el paquete indicado

Ver más opciones con man apt-get

Page 42: Configurar Debian

Instalación 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 instalación, 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

Page 43: Configurar Debian

Práctica. Instalación de aplicaciones

Instalar las siguientes aplicaciones:●Openssh-server, servidor de ssh●Fuse-utils y sshfs, herramientas complementarias a ssh●Fail2ban, sistema de prevención de intrusos

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

Page 44: Configurar Debian

Práctica. Conexión remota

Conectarse a un sistema vecino

ssh [ip vecina]

ssh [ip vecina] -l [usuario remoto]

Además de conectarse a una línea de comandos, es posible copiar archivos entre el sistema local y el remoto, sobre la plataforma de ssh:

scp [origen] [destino]

scp [email protected]:/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.

Page 45: Configurar Debian

Práctica. Conexión 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

Page 46: Configurar Debian

Práctica. Acceso Remoto Gráfico

Para realizar una conexión remota en un entorno gráfico existen muchas opciones. Del lado del servidor se utilizará vino, y del lado del cliente vinagre.

apt-get install vino vinagre -y

Vino: Sistema / Administración / Escritorio Remoto

Vinagre: Aplicaciones / Internet / Visor de Escritorio Remoto

Page 47: Configurar Debian

Práctica. Acceso Remoto Gráfico

Agregar seguridad a la comunicación entre cliente y servidor de acceso remoto gráfico, desde el lado del cliente

Ssh -f -N -L 5900:localhost:5900 [usuario]@[servidor]

Vinagre: En lugar de proporcionar la dirección remota, conectarse a “localhost:5900”

Verificar el funcionamiento del tunel con netstat -tap

Page 48: Configurar Debian

PREGUNTAS

Page 49: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 50: Configurar Debian

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 configuración 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 versión 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

Page 51: Configurar Debian

Práctica

Page 52: Configurar Debian

Práctica

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 configuración:

Ifup eth0:0

Ifdown eth0:0

Page 53: Configurar Debian

Iptables

La configuración de las iptables se basa en un conjunto de reglas secuenciales, que se asociarán a cada una de la interfaces, y analizarán 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

Page 54: Configurar Debian

Iptables

Los flujos de datos reconocidos por las tablas pueden ser de 5 tipos:

PREROUTING

INPUT

FORWARDING

OUTPUT

POSTROUTING

Page 55: Configurar Debian

Iptables. Práctica

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

Page 56: Configurar Debian

Iptables. Práctica

Las acciones básicas 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

Page 57: Configurar Debian

Iptables. Práctica

Las instrucciones se analizan de forma secuencial, por lo que debe tomarse en cuenta que una vez un paquete es bloqueado por una instrucción, cualquier otra instrucción 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

Page 58: Configurar Debian

Iptables. Práctica

Las opciones más comunes de control de las instrucciones individuales son:

-A Agregar, al final de la lista

-D Eliminar una instrucción específica

-R Reemplazar una instrucción (solo acepta número dentro de la lista)

-I Insertar una instrucción (acepta número dentro de la lista)

-L Lista el contenido de una tabla.

Page 59: Configurar Debian

Iptables. Práctica

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

Page 60: Configurar Debian

Configuración Permanente de Iptables

Toda instrucción 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 configuración 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 configuración del firewall y son iptables-save e iptables-restore.

Page 61: Configurar Debian

Configuración Permanente de Iptables

La forma de operación 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 configuración 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

Page 62: Configurar Debian

Configuración Permanente de Iptables

Una vez que se cuenta con la configuración 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

Page 63: Configurar Debian

PREGUNTAS

Page 64: Configurar Debian

clase 4 iptables para levantar la interfaz virutual automática auto eth0:0 Tengo mi LAN, allí mando yoPara las privadas puedo ponerlas a mi antojoPara las públicas las solicito a mi proveedor los rangos son10.0.0.0/8172.16.0.0 /12 172.31.x.x192.168.0.0/16 Yo tengo 10 15 o 20 hago un proceso de NAT hacia dirección publicasuna para pymes y 5 para empresas o hasta 13 sustituyendo el encabeza de los paquetes una de MANGLE de manipulación de manoseo lo mismo que NAT pero mas grosero Con una solo dirección a varios servidores. NAT se mete con dirección ip, mangle con todo hasta capa 4 Llega la petición a puerto 80 lo redirección 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 dirección 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 específicamente par WEB, cualquier otra petición no la podrá hacer. EL proxy no esta solo sino que es un proxy cache, como tiene conomiento mayor es un paquete una aplicación hacia otra aplicación. Puede guardar información 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 específicas todas tienen 5 tipos de flujos de datos prerouting. antes de identificar lo ve la dirección 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

Page 65: Configurar Debian

postrouting. a un servidor de navegación no le voy a permitir que navegue. Puede haber una correlación 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 DROPiptables -A INPUT -s 172.16.0.0/12 -j DROPiptables -A INPUT -s 192.168.0.0/16 -j DROPpara rechazar peticiones de internet

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

Page 66: Configurar Debian

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

Page 67: Configurar Debian

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

Page 68: Configurar Debian

From 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 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.3PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data.From 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 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.1root@debian09:/etc/network# ping -c 10 10.0.2.1PING 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.3PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data.From 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 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.3PING 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.3PING 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.3PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data.From 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port Unreachable

Page 69: Configurar Debian

From 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 10.0.3.2 icmp_seq=1 Destination Port UnreachableFrom 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 REJECTroot@debian09:/etc/network# ping -c 10 10.0.3.3PING 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.3PING 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 DROProot@debian09:/etc/network# ping -c 10 10.0.3.3PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data.ping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: 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.3PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data.ping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: 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.3PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data.ping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permittedping: sendmsg: Operation not permitted

Page 70: Configurar Debian

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 ACCEPTroot@debian09:/etc/network# iptables -LChain 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 ^Croot@debian09:/etc/network# iptables -L -nChain 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 1iptables: Bad rule (does a matching rule exist in that chain?).root@debian09:/etc/network# iptables -D opt 1iptables: No chain/target/match by that name.root@debian09:/etc/network# iptables -D output 1iptables: No chain/target/match by that name.root@debian09:/etc/network# iptables -D OUTPUT 1root@debian09:/etc/network# iptables -L -nChain 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 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# ping 10.0.2.1PING 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 DROProot@debian09:/etc/network# iptables -R OUTPUT 1 -s 10.0.0.2 -j REJECTroot@debian09:/etc/network# iptables -I OUTPUT 1 -s 10.0.0.0/24 -j ACCEPTroot@debian09:/etc/network# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination

Page 71: Configurar Debian

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 ACCEPT all -- 10.0.0.0/24 0.0.0.0/0 REJECT all -- 10.0.0.2 0.0.0.0/0 reject-with icmp-port-

unreachableACCEPT all -- 0.0.0.0/0 10.0.0.0/24 DROP all -- 10.0.0.2 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.3PING 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 ms64 bytes from 10.0.3.3: icmp_req=2 ttl=64 time=0.135 ms64 bytes from 10.0.3.3: icmp_req=3 ttl=64 time=0.127 ms64 bytes from 10.0.3.3: icmp_req=4 ttl=64 time=0.138 ms64 bytes from 10.0.3.3: icmp_req=5 ttl=64 time=0.154 ms64 bytes from 10.0.3.3: icmp_req=6 ttl=64 time=0.131 ms64 bytes from 10.0.3.3: icmp_req=7 ttl=64 time=0.167 ms64 bytes from 10.0.3.3: icmp_req=8 ttl=64 time=0.157 ms64 bytes from 10.0.3.3: icmp_req=9 ttl=64 time=0.163 ms64 bytes from 10.0.3.3: icmp_req=10 ttl=64 time=0.129 ms64 bytes from 10.0.3.3: icmp_req=11 ttl=64 time=0.156 ms64 bytes from 10.0.3.3: icmp_req=12 ttl=64 time=0.125 ms64 bytes from 10.0.3.3: icmp_req=13 ttl=64 time=0.125 ms64 bytes from 10.0.3.3: icmp_req=14 ttl=64 time=0.117 ms64 bytes from 10.0.3.3: icmp_req=15 ttl=64 time=0.123 ms64 bytes from 10.0.3.3: icmp_req=16 ttl=64 time=0.133 ms64 bytes from 10.0.3.3: icmp_req=17 ttl=64 time=0.121 ms64 bytes from 10.0.3.3: icmp_req=18 ttl=64 time=0.145 ms64 bytes from 10.0.3.3: icmp_req=19 ttl=64 time=0.138 ms64 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 18998msrtt min/avg/max/mdev = 0.117/0.462/6.639/1.417 msroot@debian09:/etc/network# iptablesif-down.d/ if-post-down.d/ if-pre-up.d/ if-up.d/ interfaces run/root@debian09:/etc/network# iptables -saveiptables v1.4.8: no command specifiedTry `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 RETURNCOMMIT# Completed on Thu Aug 25 19:46:27 2011root@debian09:/etc/network# iptables-save > /etc/iptables.rulesroot@debian09:/etc/network# iptables -Froot@debian09:/etc/network# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination Chain FORWARD (policy ACCEPT)target prot opt source destination

Page 72: Configurar Debian

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.rulesroot@debian09:/etc/network# iptables -L -nChain 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 ACCEPT all -- 10.0.0.0/24 0.0.0.0/0 REJECT all -- 10.0.0.2 0.0.0.0/0 reject-with icmp-port-

unreachableACCEPT all -- 0.0.0.0/0 10.0.0.0/24 DROP all -- 10.0.0.2 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# lsif-down.d if-post-down.d if-pre-up.d if-up.d interfaces runroot@debian09:/etc/network# nano interfacesroot@debian09:/etc/network# lsif-down.d if-post-down.d if-pre-up.d if-up.d interfaces runroot@debian09:/etc/network# vi /etc/network/if-up.d/iptablesloadroot@debian09:/etc/network# nano /etc/network/if-up.d/iptablesloadroot@debian09:/etc/network# nano /etc/network/if-up.d/iptablessaveroot@debian09:/etc/network# nano /etc/network/if-up.d/iptablesloadroot@debian09:/etc/network# ^Croot@debian09:/etc/network#

Page 73: Configurar Debian

clase 5 -m tipo de match que hace, puede hacerlo a uno o varios puertosino 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 agregandoiptables -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 parámetros en orden que yo quiera acepta multipuertos según match en un rango de puertos #iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT conntrack = conection trackingEl estado de la conexión relacionados o establecidos. RELATED= icmp udpESTABLESHED_= TCPPUEDE 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 pingiptables -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 simplehttp://www.pello.info/filez/IPTABLES_en_21_segundos.html

Page 74: Configurar Debian

servidor web Limpiariptables -Ladmitiendo conexionesiptables -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 DROPiptables -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 redesiptables -A INPUT -p tcp --dports 80 -j ACCEPT -s 10.0.1.0/24iptables -A INPUT -p tcp --dports 80 -j ACCEPT -s 10.0.2.0/24iptables -A INPUT -p tcp --dports 80 -j ACCEPT -s 10.0.3.0/24iptables -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 boteloiptables -A INPUT -j DROP lo que otros me piden a miy si la conexión esta establecida permitirá que las respuestas entren.iptables -I INPUT 1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT eliminar una linea específica iptables -D INPUT 4 caso 3 iptables -F conexiones que no sean de este me los botaiptables -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 REJECTiptables -A INPUT -p icmp -s 10.0.2.0/24 -j REJECTiptables -A INPUT -p icmp -s 10.0.3.0/24 -j REJECTiptables -A INPUT -p icmp -s 10.0.4.0/24 -j REJECT

Page 75: Configurar Debian

iptables -R INPUT 8 -m multiport -p tcp --dports 80,443 -j ACCEPT comandos usuario@debian09:~$ suContraseña:root@debian09:/home/usuario# iptables -fiptables v1.4.8: no command specifiedTry `iptables -h' or 'iptables --help' for more information.root@debian09:/home/usuario# iptables -Froot@debian09:/home/usuario# ip addr1: 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:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host

valid_lft forever preferred_lft forever2: 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:ffroot@debian09:/home/usuario# ifup eth0Ignoring unknown interface eth0=eth0.root@debian09:/home/usuario# cd/bash: cd/: No existe el fichero o el directorioroot@debian09:/home/usuario# lsclase 3 seguridad basica linux compartir Desktop Downloads fsroot@debian09:/home/usuario# lessMissing filename ("less --help" for help)root@debian09:/home/usuario# less /etc/network/interfacesroot@debian09:/home/usuario# nano /etc/network/interfacesroot@debian09:/home/usuario# nano /etc/network/interfacesroot@debian09:/home/usuario# less /etc/network/interfacesroot@debian09:/home/usuario# ifup eth0Internet Systems Consortium DHCP Client 4.1.1-P1Copyright 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:e6Sending on LPF/eth0/00:19:d1:3b:b5:e6Sending on Socket/fallbackDHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7

Page 76: Configurar Debian

DHCPOFFER from 192.168.1.1DHCPREQUEST on eth0 to 255.255.255.255 port 67DHCPACK from 192.168.1.1bound to 192.168.1.141 -- renewal in 1366 seconds.root@debian09:/home/usuario# ping -c 10 10.0.3.3connect: Network is unreachableroot@debian09:/home/usuario# ifup eth0:0root@debian09:/home/usuario# ping -c 10 10.0.3.3PING 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 ms64 bytes from 10.0.3.3: icmp_req=2 ttl=64 time=0.131 ms64 bytes from 10.0.3.3: icmp_req=3 ttl=64 time=0.114 ms64 bytes from 10.0.3.3: icmp_req=4 ttl=64 time=0.137 ms64 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 3998msrtt min/avg/max/mdev = 0.114/0.730/3.130/1.200 msroot@debian09:/home/usuario# ping 10.0.0.2PING 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 -nChain 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 ACCEPTroot@debian09:/home/usuario# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination Chain FORWARD (policy ACCEPT)target prot opt source destination

Page 77: Configurar Debian

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.2PING 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 msFrom 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 msFrom 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 2003msrtt min/avg/max/mdev = 2.150/2.445/2.669/0.217 msroot@debian09:/home/usuario# iptables -L -nChain 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 ACCEPTroot@debian09:/home/usuario# iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHEDroot@debian09:/home/usuario# -j ACCEPTbash: -j: no se encontró la ordenroot@debian09:/home/usuario# iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPTroot@debian09:/home/usuario# ^Croot@debian09:/home/usuario# ^Croot@debian09:/home/usuario# ip addr1: 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

Page 78: Configurar Debian

inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host

valid_lft forever preferred_lft forever2: 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:ffinet 192.168.1.141/22 brd 192.168.3.255 scope global eth0inet 10.0.3.2/24 brd 10.0.3.255 scope global eth0:0inet6 fe80::219:d1ff:fe3b:b5e6/64 scope link

valid_lft forever preferred_lft foreverroot@debian09:/home/usuario# apt-get -f installLeyendo lista de paquetes... HechoCreando árbol de dependencias Leyendo la información de estado... HechoCorrigiendo dependencias... ListoSe instalarán los siguientes paquetes extras: apache2.2-bin libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldapSe instalarán los siguientes paquetes NUEVOS: apache2.2-bin libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap0 actualizados, 5 se instalarán, 0 para eliminar y 25 no actualizados.4 no instalados del todo o eliminados.Necesito descargar 1570 kB de archivos.Se utilizarán 4153 kB de espacio de disco adicional después de esta operación.¿Desea continuar [S/n]? sAVISO: ¡No se han podido autenticar los siguientes paquetes! libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap apache2.2-bin¿Instalar estos paquetes sin verificación [s/N]? sDes: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) ...

Page 79: Configurar Debian

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 22Bad 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 22iptables v1.4.8: multiple -d flags not allowedTry `iptables -h' or 'iptables --help' for more information.root@debian09:/home/usuario# iptables -A INPUT -d 10.0.3.1 -j ACCEPT -dports 22iptables v1.4.8: multiple -d flags not allowedTry `iptables -h' or 'iptables --help' for more information.root@debian09:/home/usuario# iptables -A INPUT -d 10.0.3.1 -j ACCEPT --dports 22

Page 80: Configurar Debian

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 22Bad 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 sshBad argument `ssh'Try `iptables -h' or 'iptables --help' for more information.root@debian09:/home/usuario#

Page 81: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 82: Configurar Debian

Iptables

Identificación de flujos de datos, según 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

Page 83: Configurar Debian

Iptables

Identificación de flujos de datos, según protocolo: tcp, udp, icmp, sctp, esp, ah, udplite o all

# iptables -A INPUT -s 10.0.0.3 -p icmp -j REJECT

Identificación de flujos de datos, según 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

Page 84: Configurar Debian

Práctica

Page 85: Configurar Debian

Práctica Desafío

PC 1: servidor web interno.●Admite conexiones ssh solo desde 2 y 3.●La página 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

Page 86: Configurar Debian

PREGUNTAS

Page 87: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 88: Configurar Debian

Enrutamiento, NAT y Proxy

Enrutamiento : Mecanismo por el cual un paquete es trasladado de una red hacia otra, tomando en consideración la IP destino. En Linux, el enrutamiento se realiza entre 2 interfaces, tomando en consideración las rutas conocidas por el sistema.

Los dispositivos más 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

Page 89: Configurar Debian

Enrutamiento, NAT y Proxy

NAT : Traducción de direcciones de red. Es el proceso de sustituir la dirección de origen de un paquete, por una dirección de otra red, generalmente asociada a la interfaz de salida en el dispositivo de enrutamiento.

Existen 2 maneras de ejecutar el proceso de NAT:

Estático : Los servidores requieren ser accesibles desde redes distinta a la propia, siempre con la misma dirección IP pública.

Dinámico : Los clientes de la red pueden solicitar de forma temporal las direcciones públicas, o bien, realizar una asociación de dirección y puerto privado, por una combinación privada.

Page 90: Configurar Debian

Enrutamiento, NAT y Proxy

Proxy : Aplicación que actua como intermediario entre una aplicación cliente y servidores. Estas aplicaciones suelen procesar información de una unica aplicación (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, límite de ancho de banda o autenticación de usuarios.

Page 91: Configurar Debian

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 comunicación 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

Page 92: Configurar Debian

Práctica

Page 93: Configurar Debian

PREGUNTAS

Page 94: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 95: Configurar Debian

NAT

Para la configuración de NAT estático, iptables ofrece un mecanismo de sustitución de direcciones en el flujo de paquetes.

Es importante tomar en consideración los componentes bidireccionales de la comunicación, por lo que la sustitución suele hacerse tanto en el tráfico entrante como en el saliente

Page 96: Configurar Debian

NAT

Iptables -t nat -A PREROUTING [-i {if entrada}] -d {pública} -j DNAT --to {privada}

Iptables -t nat -A POSTROUTING [-o {if salida}] -s {privada} -j SNAT --to {pública}

Page 97: Configurar Debian

NAT

El problema del proceso anterior, es que aunque la dirección 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.

Page 98: Configurar Debian

NAT

Iptables -t nat -A PREROUTING [-i {if entrada}] -d {pública} -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 {pública}

Page 99: Configurar Debian

NAT

Finalmente, el mecanismo preferido para la traducción de direcciones en servidores, es el redireccionamiento de puertos, con lo que se puede manejar con una sola dirección IP, múltiples aplicaciones en múltiples servidores, incluso al firewall mismo

Page 100: Configurar Debian

NAT

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

Page 101: Configurar Debian

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

Page 102: Configurar Debian

Práctica Desafío

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 públicas. Firewalls vecinos deberán configurar ruta estática a dichas redes, así:

route add -net 172.16.vecino.0 netmask 255.255.255.0 gw 10.0.0.vecino

Page 103: Configurar Debian

Práctica Desafío

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, según convenga.

Page 104: Configurar Debian

PREGUNTAS

Page 105: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 106: Configurar Debian

Squid

Squid es un servidor proxy de alto desempeño, con múltiples funcionalidades, entre las que destacan caché de objetos ftp, gopher y http.

Además, squid consiste en varios programas, tales como DNS lookup, autenticación, administración y herramientas de clientes.

La configuración de squid se encuentra en /etc/squid/squid.conf

Page 107: Configurar Debian

Squid.conf

Al igual que muchos programas en linux, el archivo de configuración, trae opciones por defecto, además de comentarios con ejemplos.

Para ver la configuración activa se puede ejecutar:

grep “^[^#]” /etc/squid/squid.conf | less

Page 108: Configurar Debian

Squid.conf

Dentro de las estructura del archivo squid.conf, se reconocerán 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.

Page 109: Configurar Debian

Squid.conf

2. http_access. Asignación de acciones a tomar (permitir o denegar) a partir de la comparación del flujo de datos de usuarios, con acl.

3. Otras configuraciones, tales como puerto de escucha (por defecto 3128), tamaño y ubicación de caché, opciones de autenticación, etc.

Page 110: Configurar Debian

Práctica

1. respaldar configuración 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

Page 111: Configurar Debian

Squid como filtro

Además de la función de caché, squid puede utilizarse como herramienta de bloqueo de sitios. La forma más simple, es con la creación de listas negras y listas blancas

1. crear /etc/squid/blacklist.lst con el siguiente contenido

.gmail.commail.yahoo.com

Page 112: Configurar Debian

Squid como filtro

2. modificar el archivo /etc/squid/squid.conf, agregando la acl y la acción de denegar (debe ir antes de permitir)

acl blacklist dstdomain “/etc/squid/blacklist.lst”http_access deny blacklist

Page 113: Configurar Debian

Squid como filtro horario

Dentro de las políticas de navegación, 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 día.

acl horario_laboral time MTWHF 08:00-17:00acl horario_laboral time A 08:00-12:00

Page 114: Configurar Debian

Squid como filtro horario

Dentro de las políticas de navegación, 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 día.

acl horario_laboral time MTWHF 08:00-17:00acl horario_laboral time A 08:00-12:00

Page 115: Configurar Debian

Squid. Filtros especiales

Auxiliandose de expresiones regulares, es posible identificar patrones especiales en el contenido de la información solicitada por el usuario, permitiendo generar filtros más específicos :

acl flashmime req_mime_type ^application/x-shockwave-flashacl flashgw url_regex -i swfacl msnmime req_mime_type ^application/x-msn-messengeracl msngw url_regex -i gateway.dllhttp_access deny flashmimehttp_access deny flashgwhttp_access deny msnmimehttp_access deny msngw

Page 116: Configurar Debian

Personalización de mensajes

Los mensajes de error proporcionado por squid por defecto se presentarán 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

Page 117: Configurar Debian

Tamaño de memoria caché

El tamaño de la memoria caché debe evaluarse a partir del tráfico generado por los usuarios, ya que un caché excesivamente pequeño 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”

Page 118: Configurar Debian

PREGUNTAS

Page 119: Configurar Debian

Seguridad Básica en GNU / LINUX

Lic. René Alberto [email protected]

Page 120: Configurar Debian

Squid. Transparente

La configuración estándar de squid, requiere que el navegador cliente esté configurado para utilizar dicho servidor. Esta información debe ser proporcionada de manera manual, ya que el servicio de dhcp no cuenta con opción 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.

Page 121: Configurar Debian

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 tráfico

– 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

Page 122: Configurar Debian

Monitoreo de squid

Las bitácoras 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

Page 123: Configurar Debian

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 información del programa

Page 124: Configurar Debian

Firewall Personal

La configuración 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 ACCEPTiptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j

ACCEPTiptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -A INPUT -p icmp -j ACCEPTiptables -A INPUT -p tcp --dport 22 -j ACCEPTiptables -P INPUT DROP

Page 125: Configurar Debian

PREGUNTAS