i no disponemos de un hardware firewall pero queremos montar uno para proteger nuestro ordenador o servidor, podemos usar un software que nos proporciona Linux y es bastante potente llamado IpTables.
Para usar IpTables en Ubuntu debemos de crear un fichero dentro del directorio /etc/init.d/ al que podemos dar cualquier nombre, aunque os recomiendo poner algo descriptivo como “iptables.cf”. Dentro de este archivo tendremos todas las reglas que queremos aplicar darle una protección extra a nuestro Ubuntu.
Un ejemplo de un fichero de configuración de IpTables es el siguiente:
## Vaciamos las reglas
iptables -F
iptables -X
iptables -t nat -F
## Establecemos politicas predeterminada
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
# Aceptamos todo de localhost
/sbin/iptables -A INPUT -i lo -j ACCEPT
# A nuestra IP le dejamos todo
iptables -A INPUT -s 192.168.2.1 -j ACCEPT
# A otra ip interna le permitimos todo
iptables -A INPUT -s 192.168.2.99 -j ACCEPT
iptables -A INPUT -s 192.168.2.100 -j ACCEPT
# Permitimos una conexion a ssh y telnet (22 y 23) desde un equipo
iptables -A INPUT -s 192.168.2.10 -p tcp --dport 22:23 -j ACCEPT
# A otro le permitimos acceso FTP
iptables -A INPUT -s 212.176.121.111 -p tcp --dport 20:21 -j ACCEPT
# El puerto 80 y 8080 (www) abierto, para un servidor web.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
# Y el resto, lo cerramos
iptables -A INPUT -p tcp --dport 20:21 -j DROP
iptables -A INPUT -p tcp --dport 22:23 -j DROP
iptables -A INPUT -p tcp --dport 6001 -j DROP
# Cerramos rango de los puertos privilegiados. Cuidado con este tipo de
# barreras, antes hay que abrir a los que si tienen acceso.
iptables -A INPUT -p tcp --dport 1:1024 -j DROP
iptables -A INPUT -p udp --dport 1:1024 -j DROP
# impedimos iniciar conexion los puertos altos
# (puede que ftp no funcione)
iptables -A INPUT -p tcp --syn --dport 1025:65535 -j DROP
# Cerramos otros puertos que estan abiertos
iptables -A INPUT -p tcp --dport 3306 -j DROP
iptables -A INPUT -p tcp --dport 10000 -j DROP
Debemos asegurarnos que el fichero tenga permisos de ejecución, con el comando
chmod +x iptables.cf
Para arrancar el servicio no tenernos más que hacer
/etc/init.d/iptables.cf start
Si lo queremos parar
/etc/init.d/iptables.cf stop
Y si lo queremos reiniciar
/etc/init.d/iptables.cf restart
Podemos comprobar las reglas que se han aplicado con el comando
iptables -L
También os puede interesar:
Problema al iniciar IpTables: “no chain/target/match by that name”
Configuración de archivo para Logs de IpTables
muy buen post brother....
ResponderEliminarmuy buenas reglas...sencillas pero efectivas
dj dogus clb
electronic life is my style
Son dos subredes. Una con servidores 4. y la otra con clientes 2. Uno de los servidores se utiliza como interconexión.
ResponderEliminarBuenas ¿Cómo podría crear un ubuntu server que se utilizara como interconexión (router/firewall) entre internet, red servidores y red estaciones cliente.??? Gracias por la ayuda...
Dejo aquí mi email: antoniohdz892243@gmail.com
En caso de hacer el ubuntu server y los demás con maquinas virtuales vmware, ¿habría que configurar o mirar algo por la terminal o de algún otro sitio?
ResponderEliminarHola ubuntu666,
ResponderEliminarla verdad que desconozco el procedimiento exacto para hacer lo que dices, pero sí sé que la mayoría de firewalls y routers del mercado corren sobre Linux, por lo que seguro que se puede hacer y está documentado.
Como experimento me parece muy buena iniciativa, pero si le quieres dar un uso real, te aconsejo que te compres un aparatito porque... teniendo en cuenta el espacio y consumo de energía, a la larga te saldrá más barato.
/etc/init.d ----- Ruta correcta.
ResponderEliminarMuy buen aporte :) ahora mismo lo corrijo (eso pasa por escaparse el dedo una vez y el resto hacer ctrl+c - ctrl+v)
ResponderEliminarUn saludo
¿y no se puede hacer con maquinas virtuales?
ResponderEliminarA qué te refieres con hacerlo con máquinas virtuales¿? A crear una máquina cuya única función sea de cortafuegos¿?
ResponderEliminarHOLA. tengo poco conocimiento el linux y tengo que hacer un ejercicios, me pueden ayudar. ejercicios es:
ResponderEliminarlos host 100, 200, 210 de la red 200.40.80.0/24 son los unicos que podran hacer ping y alcanzar el servicio http, ademas de alcanzar de manera predeterminada ftp,el resto de la red 200.40.80.0 no alcanzara http ni ping la red 190.7.6.0 tiene permisos any any.
seria de mucha ayuda algun tipo de aporte o ideas, gracias.
Gracias Amigo funciona perfecto, puedes agregar que después de crear el archivo hay que darle permisos de ejecución, chmod +x iptables.cf, voy a tomarme el atrevimiento de publicarlo en mi blog claro respetando tu autoria
ResponderEliminarGenial Ricardo Alonso Chicangana Vidal,
ResponderEliminarmuchas gracias por tu aportación, ahora mismo lo subo!!
Te agradecería un Link en tu artículo así granamos todos!!
Un saludo!
mi situación es, tengo una red completamente local, y tengo un servidor en dicha red (ubuntu server 12.04), la red esta abierta (no tiene clave) cualquier persona puede conectarse, pero me gustaría que la persona conectada, al abrir el navegador lo redireccione a una pagina de bienvenida, he leído que los portales cautivos sirven para dar permiso a usuario acceder a internet, pero este no es el caso, puesto que no hay internet de promedio, solo quiero que los usuario que se conecten sean redirigidos a una pagina de bienvenida, es todo, crees que con iptables se puede hacer esto? saludos..
ResponderEliminarHola Amigo buen aporte, me gustaria saber como habilito un puerto especifico(escritorio remoto o VPN) y lo redirecciono a una pc local, y que tipo de configuracion tengo que hacer en Modem ya que se gran parte lo tengo que hacer el Iptablet. en el modem se hace algo?
ResponderEliminarHola Amigo buen aporte, me gustaria saber como habilito un puerto especifico(escritorio remoto o VPN) y lo redirecciono a una pc local, y que tipo de configuracion tengo que hacer en Modem ya que se gran parte lo tengo que hacer el Iptablet. en el modem se hace algo?
ResponderEliminarHola Alex,
ResponderEliminaruna cosa es el Firewall de tu servidor y otra es el modem, por lo que tal vez tenga que ir en otro artículo.
De cualquier forma, creo que lo que quieres hacer es una redirección a nivel de puertos en tu modem (con funcionalidad de router). Depende del modelo y versión de tu modem tendrás que seguir unos pasos u otros, por lo que te aconsejo buscar en Internet
Buenas a todos!!
ResponderEliminarEstoy realizando practicas en una empresa y me gustaría saber la diferencia entre abrir/cerra un puerto específico en la interfaz del router, y abrirlo/cerrarlo con iptables, a nivel de servidor.
Les sugerí implementar iptables, pero me respondieron que al tenerlo configurado ya en el router, no les interesa.
¿Alguien me puee explicar la diferencia?
Graciassssssss