Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Administración del sistema » Seguridad


Nuevo tema Responder al tema
 [ 3 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Jul 21, 2010 1:15 pm
Mensajes: 2

Nota Publicado: Mié Jul 21, 2010 3:45 pm 
Arriba  
Hola chic@s,

Soy nuevo por aqui por lo que me presento, soy estudiante de informática y hace poco he tenido que entregar una práctica de iptables y la he tenido completamente mal porque la verdad no se me da muy bien. Pues bien el profesor me ha comentado que si se la entrego perfecta me podría aprobar con un 5 por lo que estoy desedperadísimo. Y por eso acudo a vosotros.

La practica consiste en configurar iptables en dos routers, os adjunto un link donde se muestra la distribución:
http://img180.imageshack.us/img180/6945 ... actica.jpg

Y ahora os pego como tengo yo configurado los iptables de cada router. Indicaros que cada ordenador es una imagen virtual en virtual box por eso tuve que añadir unas reglas de enrutamiento en el router 1, las del router 2 no me funcionan:(.

Código:
Router 1
#!/bin/bash

#Habilitamos el forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

echo Aplicando Reglas Firewall

#FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#Esttablecemos la política por defecto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING DROP
iptables -t nat -P POSTROUTING DROP

#Hacemos el enmascaramiento de la red local
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d \! 192.168.1.0/24 -j SNAT --to-source 10.1.2.101
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.1.0/24 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d \! 192.168.0.0/24 -j SNAT --to-source 10.1.2.101

#Filtros
#Servidor Web 192.168.1.102 puerto 8080
#Paquetes con origen el servidor web
iptables -A FORWARD -s 192.168.1.102 -p tcp --sport 8080 -j ACCEPT
#Paquetes con destino el servidor web
iptables -A FORWARD -d 192.168.1.102 -p tcp --dport 8080 -j ACCEPT

#Servidor FTP 192.168.1.102 puerto 20 y 21
#Puerto 20
iptables -A FORWARD -s 192.168.1.102 -p tcp --sport 20 -j ACCEPT
iptables -A FORWARD -d192.168.1.102 -p tcp --dport 20 -j ACCEPT
#Puerto 21
iptables -A FORWARD -s 192.168.1.102 -p tcp --sport 21 -j ACCEPT
iptables -A FORWARD -d192.168.1.102 -p tcp --dport 21 -j ACCEPT

#Servidor DNS puerto 53
iptables -A FORWARD -s 192.168.1.102 -p tcp --sport 53 -j ACCEPT
iptables -A FORWARD -d192.168.1.102 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.1.102 -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -d192.168.1.102 -p udp --dport 53 -j ACCEPT

#El resto, cerrar
iptables -A FORWARD -d 192.168.1.101 -j DROP

#Servidor Mail 192.168.1.101 puertos 25,110 y 143
#Puerto 25
iptables -A FORWARD -s 192.168.1.101 -p tcp --sport 25 -j ACCEPT
iptables -A FORWARD -d192.168.1.101 -p tcp --dport 25 -j ACCEPT
#Puerto 110
iptables -A FORWARD -s 192.168.1.101 -p tcp --sport 110 -j ACCEPT
iptables -A FORWARD -d192.168.1.101 -p tcp --dport 110 -j ACCEPT

#El resto, cerrar
iptable -A FORWARD -d 192.168.1.101 -j DROP

#Puerto 143


#El resto, cerrar
#iptables -A FORWARD -d 192.168.1.101 -j DROP

#Clientes
#---------
#Servidor Web poerto 80 y 8080
#Puerto 80
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 80 -j ACCEPT
#Puerto 8080
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 8080 -j ACCEPT
iptables -A INPPUT -p tcp -m tcp --sport 1024: --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT

#Servidor FTP puertos 20 y 21
#Puerto 20 - Datos
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 20 -m state --state ESTABLISHED -j ACCEPT
#Puerto 21 - Control
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 1024: --dport 1024 -m state --state ESTABLISHED -j ACCEPT

#Servidor NFS puerto 2049
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp --sport 1024: --dport 2049 -m state --state NEW,ESTABLISHED -j ACCEPT

#El resto, cerrar
iptables -A FORWARD -d 192.168.0.0/24 -j DROP

echo Reglas aplicadas correctamente

exit 0

---------------------------------------------

Router 2

#!/bin/bash

#Habilitamos el forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

echo Aplicando Reglas Firewall

#FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#Esttablecemos la política por defecto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING DROP
iptables -t nat -P POSTROUTING DROP

#Hacemos el enmascaramiento de la red local
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 192.168.0.103
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source 192.168.0.103


#Filtros
#Servidor ERP puerto 1099, 80, 443 y 5432
#Puerto 1099 - JNP
iptables -A FORWARD -s 192.168.2.101 -p tcp --sport 1099 -j ACCEPT
iptables -A FORWARD -d 192.168.2.101 -p tcp --dport 1099 -j ACCEPT
#Puerto 80 - HTTP
iptables -A FORWARD -s 192.168.2.101 -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -d 192.168.2.101 -p tcp --dport 80 -j ACCEPT
#Puerto 443 - HTTPS
iptables -A FORWARD -s 192.168.2.101 -p tcp --sport 443 -j ACCEPT
iptables -A FORWARD -d 192.168.2.101 -p tcp --dport 443 -j ACCEPT
#Puerto 5432 - Postgress
iptables -A FORWARD -s 192.168.2.101 -p tcp --sport 5432 -j ACCEPT
iptables -A FORWARD -d 192.168.2.101 -p tcp --dport 5432 -j ACCEPT

#Servidor NFS puerto 2049
iptables -A FORWARD -s 192.168.3.101 -p tcp --sport 2049 -j ACCEPT
iptables -A FORWARD -d 192.168.3.101 -p tcp --dport 2049 -j ACCEPT

#El resto, cerrar
iptables -A FORWARD -d 192.168.2.102 -j DROP



Ojalá me podais ayudar porque la verdad estoy temblando.

Saludos


Última edición por Ayax el Jue Jul 29, 2010 6:35 am, editado 1 vez en total
Titulo editado por decir muy poco del tema a tratar. Por favor, revisa el reglamento del foro.

 Perfil Email  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Dom May 09, 2010 5:00 pm
Mensajes: 53
Ubicación: Andalucía

Nota Publicado: Jue Jul 22, 2010 5:57 am 
Arriba  
Hola.
Será difícil (no digo que imposible) que consigas que alguien te haga el trabajo, pero te diré mi opinión, por lo menos, y postearé un script ya antiguo que hice para un enrutador con tres interfaces eth. Por la 0 iba internet, por la 1 una LAN (un switch) con salida a internet, y por la 2 otra LAN con salida a internet y con acceso a una impresora en la LAN 1, pero sin acceso a ningún otro equipo en esa LAN (la 1).

Revisa bien el forwarding con política por defecto DROP, tienes que abrir paso en los dos sentidos (creo recordar) y abrir interfaces y puertos. También te sería de ayuda utilizar variables en lugar de las ips directamente, por aquello de tener más claro qué cosa es cada cual (por lo menos yo me aclaro mejor así).
Bueno, te posteo lo que hice, que en su día funcionaba, y a ver lo que puedes sacar: (Quede claro que esto lo considero un script de novato, no te fíes tampoco demasiado).
Se me olvidaba: con la política por defecto drop (denegar todo) sólo tienes que preocuparte de lo que hay que permitir, el resto seguirá cerrado, por lo que hacer drop con política por defecto drop es como hacer accept con política por defecto accept: redundante cuando menos.
Código:
# firewall
#
# Script de iptables para una red local con salida a internet y una DMZ
#

# Variables
IPTABLES="/sbin/iptables"
RUTA_SCRIPTS="/root/firewalls"

LO_IFAZ="lo"
LO_IP="127.0.0.1"

INET_IFAZ="eth0"
INET_IP="192.168.0.2"

DMZ_IFAZ="eth1"
DMZ_RANGO_IP="192.168.2.0/24"

LAN_IFAZ="eth2"
LAN_IP="192.168.1.2"

GESTION_IP="192.168.1.10"
IMPRE_IP="192.168.1.200"

# Se permite a otras máquinas salir a través del firewall
echo "1" > /proc/sys/net/ipv4/ip_forward

echo "Aplicando reglas de Firewall..."

# FLUSH de reglas.
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F

# Política por defecto (se rechaza todo)
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

# El Localhost
$IPTABLES -A INPUT  -i $LO_IFAZ -j ACCEPT
$IPTABLES -A OUTPUT -o $LO_IFAZ -j ACCEPT

# Acceso al firewall desde la IP de gestión
$IPTABLES -A INPUT  -s $GESTION_IP -j ACCEPT
$IPTABLES -A OUTPUT -d $GESTION_IP -j ACCEPT

# Paquetes desde internet a esta máquina
$IPTABLES -A INPUT -p icmp -i $INET_IFAZ -j ACCEPT

# Apertura de las interfaces para entrada
$IPTABLES -A INPUT -p ALL  -i $LO_IFAZ -s $LO_IP   -j ACCEPT
$IPTABLES -A INPUT -p ALL  -i $LO_IFAZ -s $INET_IP -j ACCEPT

# Para DHCP en la DMZ
$IPTABLES -A INPUT -p udp -i $DMZ_IFAZ --dport 67 --sport 68 -j ACCEPT

# Paquetes desde internet al firewall con conexiones establecidas
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

# Forward (reexpedir) en la LAN y la DMZ para acceso a internet
$IPTABLES -A FORWARD -i $LAN_IFAZ -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $DMZ_IFAZ -o $INET_IFAZ -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Acceso desde la DMZ a una impresora de la LAN
$IPTABLES -A FORWARD -s $DMZ_RANGO_IP -d $IMPRE_IP     -j ACCEPT
$IPTABLES -A FORWARD -s $IMPRE_IP     -d $DMZ_RANGO_IP -j ACCEPT

###########################################################################################
# Reenvío entre internet y la LAN. Provisional, aún hay que limitarlo a lo imprescindible.
#
$IPTABLES -A FORWARD -i $INET_IFAZ -o $LAN_IFAZ  -j ACCEPT
$IPTABLES -A FORWARD -i $LAN_IFAZ  -o $INET_IFAZ -j ACCEPT
###########################################################################################

# Apertura de las interfaces para salida
$IPTABLES -A OUTPUT -p ALL -s $LO_IP   -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

# Apertura de puertos
. $RUTA_SCRIPTS/puertos_abiertos

# Habilita simple IP Forwarding (reexpedición) y Network Address Translation
# Para internet y la impresora
$IPTABLES -t nat -A POSTROUTING -o $INET_IFAZ -j SNAT --to-source $INET_IP
$IPTABLES -t nat -A POSTROUTING -o $LAN_IFAZ  -j SNAT --to-source $LAN_IP

echo $0 > /root/firewall_activo


Y el que abre los puertos (que se incluirá en el punto . $RUTA_SCRIPTS/puertos_abiertos)
Código:
# Puertos a abrir en el firewall
#
# Variables.
IPTABLES=/sbin/iptables

SERV_SSH="192.168.1.10:12233"
SERV_MYSQL="192.168.1.10:3306"
SERV_SVN="192.168.1.10:3690"
SERV_POSTGRE="192.168.1.10:5432"

# ssh
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --dport 12233 -j DNAT --to $SERV_SSH

# Subversion
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --dport 3690  -j DNAT --to $SERV_SVN

# MySQL
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --dport 3306  -j DNAT --to $SERV_MYSQL
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p udp --dport 3306  -j DNAT --to $SERV_MYSQL
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --sport 3306  -j DNAT --to $SERV_MYSQL
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p udp --sport 3306  -j DNAT --to $SERV_MYSQL

# PostgreSQL
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --dport 5432  -j DNAT --to $SERV_POSTGRE
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p udp --dport 5432  -j DNAT --to $SERV_POSTGRE
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --sport 5432  -j DNAT --to $SERV_POSTGRE
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p udp --sport 5432  -j DNAT --to $SERV_POSTGRE

 Perfil Email  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Jul 21, 2010 1:15 pm
Mensajes: 2

Nota Publicado: Jue Jul 22, 2010 7:48 am 
Arriba  
Muchas gracias, yo no esperaba que nadie me lo hiciera, solo que me comentaran fallos que pudiera haber para tenerlo los mas depurado posible antes de entregarlo.

Por poco que sea te lo agradezco, de verdad!

 Perfil Email  
Mostrar mensajes previos:  Ordenar por  
 [ 3 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO