problemas con politicas de iptables

Forums: 

hola a todos tengo la siguiente consulta tengo un server proxy en centos 5.0 y mi firewall lo tengo configurado con iptables, mi pregunta es la siguiente deseo tener un firewall con politicas de seguridad mas rigidas y en los manuales de internet encontre que se tiene que configurar un firewall con politicas DROP, en mi tabla filter coloco lo siguiente

-P INPUT DROP

con solo colocar eso ya los usuarios no pueden navegar el navegador queda en un loop y luego de cierto tiempo mandama el mensaje de tiempo agotado, pero lo curioso es que los usuarios pueden hacer ping a las paginas web ya sea por ip o por nombre, coloco esa regla para luego ir abriendo lo que se necesita, que tengo que congigurar para que puedan navegar, ademas en el manual despues de esa regla deniega el OUTPUT y el FORWARD, las cuales no puse, solo probe esa y no salieron mas, les agradezco de antemano su ayuda espero haberme explicado bien.

pues puedes empezar cerrando

Imagen de falcom

pues puedes empezar cerrando todo y luego abriendo lo q necesites es la mejor politica, solo q debes saber bien los servicios q vas aocupar luego. puedes empezar asi

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Complementando un poco, las

Imagen de deathUser

Complementando un poco, las reglas que publica falcom, lo que hacen es poner las políticas por default de cada uno de los CHAINS en DROP, lo que cierra efectivamente todos los CHAINS del iptables (antes ipchains), cada uno de estos CHAINS maneja un aspecto de la conectividad, el INPUT, OUTPUT y FORWARD de los paquetes, de manera que las reglas que apliques para el trafico de entrada, las aplicarás sobre el CHAIN INPUT, para el tráfico de salida sobre el CHAIN OUTPUT, etc ...

Lee los manuales disponibles en la red sobre iptables, los hay muy buenos, si quieres entender como funcionan las cosas.

Si no, instala un script de firewall de los que hay por la red, que también tienen documentación, y habilita lo que necesites, EPE publicó un como sobre arno-iptables, que es un script de firewall bastante bueno ...

Suerte ...

bye
;)

buenas estas son mis reglas

buenas estas son mis reglas tanto para la tabla nat y filter, y gracias por sus comentarios.

*nat
:PREROUTING ACCEPT [46:18048]
:POSTROUTING ACCEPT [228:15016]
:OUTPUT ACCEPT [13258:878637]

# Redireccion al Proxy
-A PREROUTING -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

# Nateo de la Red
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
COMMIT

*mangle
:PREROUTING ACCEPT [502441:104737828]
:INPUT ACCEPT [402856:86142765]
:FORWARD ACCEPT [98701:18528985]
:OUTPUT ACCEPT [361738:76607469]
:POSTROUTING ACCEPT [460591:95156222]
COMMIT

*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:syn-flood - [0:0]
:OUTPUT ACCEPT [0:0]

##Politica por defecto Denegar
-P INPUT DROP
-P OUTPUT DROP
-P FORWARD DROP

# Local Host & Red Local
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.1.0/24 -j ACCEPT
-A INPUT -p udp -m udp -s 129.6.15.28 --dport 123 --sport 123 -j ACCEPT

# Anti-flooding o inundacion de tramas SYN
-A INPUT -i eth0 -p tcp --syn -j syn-flood
-A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
-A syn-flood -j DROP

### Abrir puertos para servicios locales

-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 25 -j ACCEPT
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 47 -j ACCEPT
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 53 -j ACCEPT
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 110 -j ACCEPT
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 443 -j ACCEPT
-A FORWARD -p udp -s 192.168.1.0/24 -i eth1 --dport 110 -j ACCEPT

###### Bloqueamos todo el trafico forward #####
-A FORWARD -p ALL -s 110.110.110.0/24 -d 0/0 -j DROP
COMMIT

buenos esas son mis reglas todo funcionaba bien pero al colocar:
-P INPUT DROP
-P OUTPUT DROP
-P FORWARD DROP

se cae la internet, ademas queria preguntar que si despues de abrir los puertos para mis servicios de mi intranet puedo cerrar los demas puertos, gracias, nuevamente.

Dale a la tabla filter

Imagen de robecarlsiro

Dale a la tabla filter acceso al puerto 3128 y también dale al 80 tanto para INPUT como para OUTPUT
e.g
iptables -A INPUT -s TUIP/24 -p tcp --dport 3128 -j ACCEPT
iptables -A INPUT -s TUIP/24 -p tcp --dport 80 -j ACCEPT

y

OUTPUT para 80

hola gracias nuevamente ya

hola gracias nuevamente ya coloque la regla INPUT Y OUTPUT para los puertos 3128 y 80, y nada sigo sin tener internet, el unico servicio que no se cae es el msn, le hago ping a las paginas y dice tiempo de espera agotado, coloco esas reglas en mi tabla filter despues de las siguientes:

# Anti-flooding o inundacion de tramas SYN
-A INPUT -i eth0 -p tcp --syn -j syn-flood
-A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
-A syn-flood -j DROP

luego de darle salida y entrada a los puertos 3128 y 80, le doy acceso a mis puertos de mis servicios locales, pero aun nada de que carge las paginas, si ven algun error, les agradeceria de antemano gracias a todos los que han contribuido.

creo que tienes el mismo

Imagen de Adrian_11

creo que tienes el mismo problema que yo pues TENGO CONFIGURADO UN PROXY EN CENTOS, AL PRINCIPIO FUNCIONO MUY BIEN PERO AHORA MI LAN YA NO SE CONECTA A MI SERVIDOR DESDE Q PUSE ALGO IGUAL Q TU SI NO ES LO MISMO, HAGO UN TELNET AL 3128 DESDE CUALQUIER MAQUINA DE MI LAN Y NO LO HACE PERO SIN EMBARGO DI ME HAGO TELNET DESDE MI SERVER AL MISMO PUERTO SI LO HACE.. HE BUSCADO LA SOLUCION Y LEIDO VARIOS BLOGS PERO NO HE ENCONTRADO LA SOLUCION.. AHORA CUAL SERIA EL PROBLEMA?

pues adrian si quitos estas

pues adrian si quitos estas reglas
-P INPUT DROP
-P OUTPUT DROP
-P FORWARD DROP

si pueden navegar, pero lo que quiero es ir cerrar todo y luego ir abriendo lo que vaya necesitando pero no he podido, he leido varios manuales y aparentemente todo esta bien realize lo que dijo el compañero robecarlsiro y nada aun, esperemos solucionar nuestro respectivos problemas

El problema está en el orden

Imagen de xime

El problema está en el orden de las reglas, en este caso el orden de los factores si altera el producto.

Prueba colocando al inicio del script:


##Política por defecto Denegar
-P INPUT DROP
-P OUTPUT DROP
-P FORWARD DROP

Primero se colocan las políticas por defecto, en tu caso haces drop a todo, luego de eso, empiezas a abrir las cosas que necesitas.

Un peque ejemplo de script:


#!/bin/sh
# IP del squid
SQUID_IP="172.16.0.1"
# Interface conectada al internet
INTERNET="eth0"
# Interface conectada a la LAN
LAN_IN="eth1"
# PUERTO SQUID
PUERTO_SQUID="3128"
BLOQUEO=/etc/squid/bloqueados
# Flush de reglas
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Cargar los modulos de NAT
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# Bit forward
echo 1 > /proc/sys/net/ipv4/ip_forward
# Politicas por defecto
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Acceso ilimitado al localhost
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Redireccionar squid puerto 3128
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $PUERTO_SQUID
# Anti-flooding o inundacion de tramas SYN
-A INPUT -i eth0 -p tcp --syn -j syn-flood
-A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
-A syn-flood -j DROP
### Abrir puertos para servicios locales
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 25 -j ACCEPT
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 47 -j ACCEPT
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 53 -j ACCEPT
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 110 -j ACCEPT
-A FORWARD -p tcp -s 192.168.1.0/24 -i eth1 --dport 443 -j ACCEPT
-A FORWARD -p udp -s 192.168.1.0/24 -i eth1 --dport 110 -j ACCEPT
###### Bloqueamos todo el trafico forward #####
-A FORWARD -p ALL -s 110.110.110.0/24 -d 0/0 -j DROP
COMMIT

Está incompleto, súper básico, pero te puede servir de guía

cya

http://poquiblog.blogspot.com/

Esta chevere el firewall,

Imagen de RazaMetaL

Esta chevere el firewall, solo hace falta una línea para que la protección contra inundación de tramas SYN funcione:


# Anti-flooding o inundacion de tramas SYN
-N syn-flood
-A INPUT -i eth0 -p tcp --syn -j syn-flood
-A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
-A syn-flood -j DROP

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Páginas