viernes, 26 de agosto de 2005
Aqui para la gente que quiere mas seguridad en su Linux puede probar con esto aunque hay que afinarlo mas pero es lo básico dentro de iptables.

Por su puesto que debes actualizar tu distro con a última versión estable de iptables y si puedes toda tu distro mejor.

Esto va dentro de un archivo de texto normal con permisos de ejecución e iniciando con #!/bin/sh para hacer entender que es un script. Y después para ejecutarlo solo en consola # ./nombre
Tambien agregarlo en init.d para que cada cuando inicie linux se ejecute automaticamente.


¿Que hace este script? solo filtrar lo que no queremos que entre desde internet sin desearlo y hacer nat de nuestra conexion de internet a nuestra red LAN interna. (eso significa que tus clientes de tu LAN no deberan configurar el navegador de internet el nombre del servidor y puerto, y añadiedo seguridad)

Deberas ya tener funcionando SQUID para compartir internet o mejor dicho hacer proxy y te recomiendo dansguardian (lo puedes bajar desde su pagina) como protector de contenidos (muy bueno para evitar en tu LAN paginas porno y contenidos porno en google etc etc, ademas tambien te ayuda a limitar que tipo de archivos con extensiones puedes decargar desde internet evitando asi que se coman el ancho de banda y que te instalen virus de cualquier tipo)


Ahi pruebenlo y analizenlo y si tienen alguna sugerencia que pueda ayudar a que nuestro linux este mas protegido se aceptan comentarios.



#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre una red local a internet
## Internet ---- eth1 ---- Linux (firewall)----- eth0 ------ LAN

## Intentamos cerrar todo puerto innecesario de internet a nuestra ip
## Sin embargo desde nuestra red y linux hacia fuera tenemos todo acceso

echo -n Aplicando Reglas de Firewall...

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

## Establecimiento de politica por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

## Empezamos a filtrar
## eth1 es el interfaz conectado al router ó modem y eth0 a la LAN

/sbin/iptables -A INPUT -i lo -j ACCEPT

# Al firewall tenemos acceso desde la red local LAN
iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j ACCEPT

# Ahora hacemos enmascaramiento de la red local
# y activamos BIT DE FORWARDING (necesario pues sera parte del enrutado)

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQUERADE

# Direcciona para hacer nat en nuestra LAN al puerto 8080 al 80
# (en mi caso uso squid y dansguardian este ultimo libera en el port 8080)
# (Si solo usas squid es por el port 3128)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

# Permitimos hacer forward de paquetes en el firewall, es decir
# que otras máquinas puedan salir a traves del firewall.
echo "1" > /proc/sys/net/ipv4/ip_forward


# En mi caso a veces uso webserv entonces debo abrir el port 80.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#aqui si deseas abrir mas puertos solo copia la linea anterior y
#cambia el numero de puerto que quieres abrir y si es tcp o udp.

## Y ahora cerramos los accesos indeseados del exterior:
## 0.0.0.0/0 significa: cualquier red
## Cerramos el rango de puertos conocidos
## Si quieres abrir puertos debes abrirlos antes de las siguientes lineas.
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j DROP

# Cerramos el puerto de gestión webmin si es que lo tienes funcionando.
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 10000 -j DROP

echo "firewall activado"



Hago mencion que este script funciona en todo linux y lo he aplicado en Fedora core 3 y ubuntu sin problemas.

Estamos en contacto...
Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa Sonrisa
Publicado por koji-kabuto-gpl @ 13:09  | Linux
Comentarios (10)  | Enviar
Comentarios
Publicado por Invitado
sábado, 12 de noviembre de 2005 | 15:53
Muchas gracias por esta informacion, resolvi lo que necesitaba.RebotadoRebotadoRebotado
Publicado por Invitado
martes, 24 de enero de 2006 | 17:03
Hola!

como podria modificar tu script para abrir los puertos para el amule? hay muchas lineas (que es lo normal) y los que somos novatos nos perdemos...

Muchas gracias!
Publicado por Invitado
lunes, 21 de mayo de 2007 | 21:46
El script esta exelente pero me da un error al momento de tratar de navegar. Me muestra un error y dice de la siguiente forma
ERROR
The requested URL could not be retrieved
While trying to process the request:

GET / HTTP/1.1
Accept: */*
Accept-Language: es
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (Compatible;........) etc.,etc.
.
.
.
Invalid request.
.
.
.

Me pueden ayudar porfavor
Publicado por Invitado
martes, 22 de mayo de 2007 | 11:33
El script esta exelente pero me da un error al momento de tratar de navegar. Me muestra un error y dice de la siguiente forma
ERROR
The requested URL could not be retrieved
While trying to process the request:

GET / HTTP/1.1
Accept: */*
Accept-Language: es
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (Compatible;........) etc.,etc.
.
.
.
Invalid request.
.
.
.

Me pueden ayudar porfavor
Publicado por Invitado
domingo, 11 de mayo de 2008 | 8:09
Que mas hermano, me llaman imatsu y estoy configurando un proxy transparente para mi empresa, pero no he podido, tengo varias dudas:

squid + dansguardian + iptables

1.- en squid.conf
http_port 3128 transparent ó http_port 8080 transparent

2.- en dansguardian.conf
filterport = 8080
proxyip = 127.0.0.1
proxyport = 3128 ó proxyport = 8080

3.- iptables
deberia redimencionar todo lo que entra por el puerto 80 al 3128 ó al puerto 8080?
Publicado por Invitado
sábado, 13 de diciembre de 2008 | 22:55
Muchas Gracias, funciona muy bien y me ayudo a salir del problema
Publicado por Invitado
miércoles, 06 de mayo de 2009 | 11:53
Gracias, con esta información y pequeñas modificaciones hice andar mi proxy transparente.
Publicado por postmast
martes, 07 de julio de 2009 | 9:13
muy muy muy pero muy bueno este script saves amigo me ayudo mucho primero me salia un error luego tube que hacer cambios ha este con relacion ami red y bueno solo ejecute y todo deacuerdo muchas gracias me salvastes bye token el tema de administrar el ancho de banda con proxy trasmparenteRebotadoRebotadomuñeco de nieve
Publicado por Invitado
martes, 04 de agosto de 2009 | 10:42
como hago para configurar en modo transparente mi squid ya que estoy en una jerarquia proxy y la configuracion que ustedes postean no me funciona
Publicado por Invitado
miércoles, 05 de agosto de 2009 | 18:52
Hola.
aplique este ejemplo en la maquina que es Servidor de correos y web, ademas de proxy de red. El proxy funciona perfecto y el correo tambien.
solo tengo un problema que no me parece menor, y es que al momento de aplicar las reglas de este ejemplo, dejaron de funcionar apache servidor web ¿alguien sabe que puede ser?
cuando trato de ver web desde localhost, no carga la pagina y cuando trato de reiniciar el apache me dice lo siguiente...

root@correo:/etc/init.d# sudo /etc/init.d/apache2 restart
* Restarting web server apache2 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[fail]
root@correo:/etc/init.d#

gracias por la ayuda
exvate (at) gmail (dot) com