Demostración del firewall - iptables

6

Tengo que hacer una demostración sobre los firewalls en mi clase como estudiante (universidad). Debe implementarse utilizando iptables en Linux. Estoy leyendo todas las teorías que los rodean, pero no puedo encontrar un buen caso de uso para presentar en clase. Puedo mostrar cómo usar las reglas de agregar, etc., pero esto no es suficiente.

¿Podría tener 2 PC en una red para mostrar qué sucede cuando se bloquea la conexión, por ejemplo? ¿Alguna otra idea?

    
pregunta GorillaApe 29.04.2011 - 18:40
fuente

5 respuestas

7

Puede usar un analizador de protocolo de red como Wireshark para mostrar exactamente lo que está sucediendo. Configure un experimento con y sin un determinado conjunto de reglas y compare los resultados de los archivos de registro de Wireshark. De esa manera, puede mostrar lo que sucede en el nivel de red.

Si no quiere traer más de una computadora, puede usar máquinas virtuales para simular los diferentes hosts que interactúan entre sí. Es un poco menos impresionante que usar computadoras reales, pero funciona casi igual. De esa manera, puede demostrar el uso de iptables como un servidor de seguridad basado en host (el control del acceso a la máquina en la que se ejecuta iptables con el sistema operativo host y una sola máquina virtual) y como un servidor de seguridad de red independiente. En el segundo escenario, puede usar 3 máquinas virtuales (o 2 VM y el sistema operativo host), simulando un cliente, un servidor y el firewall en medio. Cuantas más máquinas virtuales, más es posible. Agrega uno más y crea un DMZ por ejemplo. Depende de la cantidad de tiempo que tenga y de la profundidad a la que quiera llegar.

    
respondido por el Demento 29.04.2011 - 20:22
fuente
5

En casa, uso iptables para mi firewall de red (integrado con mi puerta de enlace), así como mi firewall host.

Recomiendo echar un vistazo a la tutorial de linux en casa iptables tutorial , ubuntu iptables tutorial y este generador de scripts de iptables .

Si puede describir lo que necesita mostrar para esta presentación, sería más fácil responder esta pregunta.

Parece que lo más importante que debes tener en cuenta es la capacidad de registro de iptables. Cree una red virtual (o física, un poco más voluminosa, jaja) con 2 estaciones de trabajo y sepárelas con una máquina Linux con 2 interfaces que ejecuten iptables. No sé qué tan avanzada está su clase, pero explíqueles que el firewall divide la red en dos zonas, la interna y la externa. A continuación, mostrar la comunicación entre las dos redes. Por ejemplo, podría configurar un servidor Apache en ambas estaciones de trabajo y luego mostrar cómo la máquina interna puede acceder al sitio web externo, pero la externa no puede acceder a la otra. Esto también depende de cómo configure el firewall.

Si no estás obligado únicamente a iptables, también echa un vistazo a ufw .

    
respondido por el Ormis 02.05.2011 - 17:34
fuente
5

Puede configurar una PC o máquina virtual para alojar 2 o 3 servicios diferentes (servidor web, servidor FTP, SSH, por ejemplo). Esta es la PC donde editarás las reglas de iptables.

La primera demostración de una PC diferente que accede a cada servicio y muestra que funciona (por ejemplo, visite el sitio web, los servidores ftp y ssh).

A continuación, use una regla de iptables para rechazar el acceso desde cualquier IP al puerto 80, luego intente visitar el sitio web nuevamente. La conexión debe fallar inmediatamente. También puede mostrar lo que sucede cuando usa la directiva soltar en lugar de rechazos. Hace que el navegador web cuelgue. Las conexiones al servidor SSH o FTP todavía deberían funcionar. Aquí hay 2 reglas para bloquear el acceso al puerto 80.

iptables -A INPUT -p tcp --dport 80 -j REJECT
iptables -A INPUT -p tcp --dport 80 -j DROP

Luego, puede hacer lo mismo para los otros servicios (--dport 22, --dport 21), o hacerlo para una sola IP:

iptables -A INPUT -s 192.168.1.100 -j REJECT  #assuming client is at 192.168.1.100

Las reglas anteriores asumen que la política de firewall predeterminada es aceptar cualquier paquete que no coincida con una regla, por lo que es posible que también muestre excepciones agregando, así que "abrir" los puertos, por ejemplo:

iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Puede hacer muchos más ejemplos, pero hacer el modelo cliente / servidor debería ayudar a los alumnos a ver qué sucede cuando escribe esos comandos. Consulte Demostración del firewall - iptables para otros ejemplos.

    
respondido por el davidbb 02.05.2011 - 20:35
fuente
3

No estoy familiarizado con iptables, sin embargo, si me muestra qué funciona con un firewall, le sugiero:

  • Bloquear / permitir conexiones (es).
  • Bloqueo de escaneo de puertos IP (s) de bloqueo.
  • Desconexión de la (s) conexión (es).
  • Permitir / Bloquear conexión para ip (s).
  • Bloquear programas para llamar a casa.
  • permitir que el programa escuche en el puerto x.
  • Bloquear programa para escuchar en el puerto x.
respondido por el KilledKenny 29.04.2011 - 19:05
fuente
0

No hay discusión completa de iptables sin una demostración de firewall. Para probar la descarga del cortafuegos y ejecute nessus en su contra.

También debe cubrir ipset , ya que ipset permite que iptables maneje de manera eficiente 1000 y más de 20000 direcciones IP más en un bloque o lista blanca. Si no usa ipset en una gran lista de bloqueo y en su lugar ingresa más de 1000 reglas de iptables, la utilización de la CPU pasará al 100% y permanecerá allí.

El uso de ipset también le brinda la opción de implementar fácilmente características de tiempo de espera o contadores para sus listas de bloqueo.

iptables -L -v -n -x

Esto le proporciona estadísticas por reglas de las que puede hablar.

    
respondido por el cybernard 17.01.2014 - 05:39
fuente

Lea otras preguntas en las etiquetas