8 de abril de 2007

Instalar Firewall "Arno-iptables-firewall" en Debian Etch

Hola. Hoy mostraré como instalar el cortafuegos "Arno's IPTABLES firewall script". Es muy sencillo de configurar e instalar y apenas necesitaréis conocimientos sobre IPTABLES para hacerlo funcionar.


La página del autor es ésta:
http://rocky.eld.leidenuniv.nl/

NOTA:
- Éste script deberíamos instalarlo una vez haya finalizado la instalación base de nuestra Debian Etch.
- Para seguir estos pasos debes tener conexión a internet medianter un router/modem.

1. Nos logueamos en una terminal gráfica o texto (CTRL+ALT+F1...F6) como usuario root e instalamos el paquete "arno-iptables-firewall":
$ su -
password:

# aptitude install arno-iptables-firewall
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán automáticamente los siguientes paquetes NUEVOS:
gawk
Se instalarán los siguiente paquetes NUEVOS:

arno-iptables-firewall gawk
0 paquetes actualizados, 2 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 792kB de ficheros. Después de desempaquetar se usarán 2511kB.
¿Quiere continuar? [Y/n/?] y
escribiendo información de estado extendido... Hecho
Des:1 http://ftp.rediris.es etch/main gawk 1:3.1.5.dfsg-4 [694kB]
Des:2 http://ftp.rediris.es etch/main arno-iptables-firewall 1.8.8.c-1 [97,7kB]
Descargados 792kB en 44s (17,8kB/s).

2. Una vez instalado, nos aparecerá la siguiente ventana que nos pregunta si queremos configurar el paquete mediante debconf.


RESPUESTA: yes [ENTER]


3. En la siguiente ventana debemos especificar la interfaz de red por la que salimos a internet. Como me conecto a través de un modem/router y sólo tengo una tarjeta de red, la interface es "eth0".


RESPUESTA: eth0 [ENTER]


4. Ahora debemos especificar que puertos TCP necesitamos tener abiertos en nuestro firewall.
EJEMPLO:
- Amule: Abrir los puertos 4661 TCP, 4664 UDP
- Servidor SSH: abrir el puerto 22

NOTA:
El firewall de nuestro router debe tener abiertos también éstos puertos.


RESPUESTA: 4661 22 [ENTER]


5. Nos pedirá que puertos UDP queremos abrir:


RESPUESTA: 4664 [ENTER]


6. La ventana siguiente sólo deberemos configurarla en el caso de que tengamos varias tarjetas de red (eth0, eth1...) y una de ellas, esté configurada hacia nuestra red local a la cual queremos permitirle cualquier conexión a nuestro equipo.


RESPUESTA: dejar_en_blanco [ENTER]


7.
Finalmente iniciamos nuestro firewall.


RESPUESTA: yes [ENTER]

Escribiendo información de estado extendido... Hecho
Preconfigurando paquetes ...
Seleccionando el paquete arno-iptables-firewall previamente no seleccionado.
(Leyendo la base de datos ...
88957 ficheros y directorios instalados actualmente.)
Desempaquetando arno-iptables-firewall (de .../arno-iptables-firewall_1.8.8.c-1_all.deb) ...
Configurando arno-iptables-firewall (1.8.8.c-1) ...

Arno's Iptables Firewall Script v1.8.8c

-------------------------------------------------------------------------------
Sanity checks passed...OK
Detected IPTABLES module... Loading additional IPTABLES modules:
All IPTABLES modules loaded!
Configuring /proc/.... settings:
Enabling anti-spoof with rp_filter
Enabling SYN-flood protection via SYN-cookies
Disabling the logging of martians
Disabling the acception of ICMP-redirect messages
Setting the max. amount of simultaneous connections to 16384
Enabling protection against source routed packets
Setting default conntrack timeouts
Enabling reduction of the DoS'ing ability
Setting Default TTL=64
Disabling ECN (Explicit Congestion Notification)
Enabling support for dynamic IP's
Flushing route table
/proc/ setup done...
Flushing rules in the filter table
Setting default (secure) policies
Using loglevel "info" for syslogd

Setting up firewall rules:
-------------------------------------------------------------------------------
Accepting packets from the local loopback device
Enabling setting the maximum packet size via MSS
Enabling mangling TOS
Logging of stealth scans (nmap probes etc.) enabled
Logging of packets with bad TCP-flags enabled
Logging of INVALID packets disabled
Logging of fragmented packets enabled
Logging of access from reserved addresses enabled
Setting up anti-spoof rules
Reading custom IPTABLES rules from /etc/arno-iptables-firewall/custom-rules
Loading (user) plugins
Setting up INPUT policy for the external net (INET):
Enabling support for a DHCP assigned IP on external interface(s): eth0
Logging of explicitly blocked hosts enabled
Logging of denied local output connections enabled
Packets will NOT be checked for private source addresses
Allowing the whole world to connect to TCP port(s): 4661 22
Allowing the whole world to connect to UDP port(s): 4664
Denying the whole world to send ICMP-requests(ping)
Logging of dropped ICMP-request(ping) packets enabled
Logging of dropped other ICMP packets enabled
Logging of possible stealth scans enabled
Logging of (other) connection attempts to PRIVILEGED TCP ports enabled
Logging of (other) connection attempts to PRIVILEGED UDP ports enabled
Logging of (other) connection attempts to UNPRIVILEGED TCP ports enabled
Logging of (other) connection attempts to UNPRIVILEGED UDP ports enabled
Logging of other IP protocols (non TCP/UDP/ICMP) connection attempts enabled
Logging of ICMP flooding enabled
Applying INET policy to external (INET) interface: eth0 (without an external subnet specified)
Security is ENFORCED for external interface(s) in the FORWARD chain

Apr 02 23:36:20 All firewall rules applied.


Ya tendremos nuestro firewall configurado.

Podemos volver a ejecutar la configuración del firewall con el siguiente comando:
# dpkg-reconfigure arno-iptables-firewall

Si lo que queremos es deshabilitar temporalmente el cortafuegos:
# /etc/init.d/arno-iptables-firewall stop

Para habilitarlo de nuevo:
# /etc/init.d/arno-iptables-firewall start


Saludos y Suerte.
Domi - Gran Canaria (Islas Canarias)

18 comentarios:

Anónimo dijo...

Soy el pesado de javi otra vez, todavia no he puesto en practica el instalar el arno-iptables-firewall ya que he tenido malas experiencia con firestarter... y otro de kde que no me acuerdo como se llama ... (me queda pendiente empollarme iptables enteriro) seria de utilidad que pusieses una lista (o un link) a los puertos utilizados por los programas habituales en una debian... a parte del emule... por ejemplo http://es.wikipedia.org/wiki/Lista_de_n%C3%BAmeros_de_puerto

Un saludo

Romario dijo...

Hola Javi que tal ;-)
Te recomiendo que lo pruebes. Está muy bien y es muy fácil de configurar. No tienes que saber mucho de iptables, aunque no está de más que aprendas algo ;-). Una muy buena página es ésta:
http://www.pello.info/filez/IPTABLES_en_21_segundos.html

En cuanto a los puertos que debes tener abiertos en una debian, pues hasta ahora a mi no me ha hecho falta abrir más puertos. Simplemente con los que asigno para emule tengo.

Saludos.

hugomazaa dijo...

Solo escribo para felicitarte por el blog y tus guias, las cuales me parecen excelentes.
Con tu permiso me gustaría enlacar tu blog con el mío.

Romario dijo...

Hola Hugomazaa. Gracias por tu comentario. No hay problema por el enlace. Mándame tu dirección a mi correo.

debiantotal ARROBA g m a i l . c o m
(suprime espacios y sustituye @

Saludos.

Anónimo dijo...

Problemas con IPTABLES
Me dice que no puede cargar los modulos ip_tables, etc.. He probado a cargarlos con modprobe pero no estan por ningun sitio. ¿No es el nucleo adecuado? Tengo una etch recien instalada y actualizada...
Gracias!

Anónimo dijo...

mira creo que es muy bueno tu articulo pero no solo lo bueno que es sino lo de datallo que es para aquellas personas que le cuesta transitar por este mundo y a su vez para novatos

Romario dijo...

Me alegro que te haya gustado. Siempre intento redactar las guías lo más fáciles y detalladas que puedo, y por supuesto, para novatos.

Saludos.

Anónimo dijo...

hola, tengo un problema cuando configuro para abrir los puertos ya no me deja conectarme por ssh al equipo, y he especificado el puerto 22.

David Fire dijo...

hola
muy buena la pagina
como hago para hacer un fordward de los puertos tcp 4662 y 4672 udp a la ip 192.168.1.101 ??? me toy quedando pelado tratando
gracias
David

Romario dijo...

Hola ddfire (David).
Entiendo que me estas preguntando como abrir los puertos para el amule en tu red. Si es ese el caso, debes hacer el fordward en el router no en tu equipo, a no ser que estés configurando una debian como Firewall.
Busca como hacerlo en internet o en el manual del router. Si me dices marca y modelo, quizás te pueda decir más, en caso de que sea alguno de los que he utilizado.

Saludos.

Anónimo dijo...

Hola, una pregunta, cuando lo instale, pues comprobé los logs kern y messages y cada 30 segundos me lanzaba mensajes como estos (quite alguna informacion de los puntos suspensivos y el ID=xxx me iba incrementando en valores como si estuviera haciendo un escaneo)

Dec 26 09:18:35 debian kernel: Other-IP connection attempt: IN=eth0 OUT= MAC=01:0 .....
Dec 26 09:18:46 debian kernel: Connection attempt (PRIV): IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:02:cf: ...... TOS=0x00 PREC=0x00 TTL=1 ID=30483 PROTO=UDP SPT=520 DPT=520 LEN=72

luego lo desinstale y dejaron de producirse los mensajes
¿Sabes que significan? y ¿porque se producen?

Anónimo dijo...

bueno quisiera saber como abrir por ejemplo el puerto 2000 y el 7000 pero no desde 2000 a 7000 no se si se me entiende ???

osea si escribo 2000:7000 se abren desde el 2000 al 7000 que es lo que yo no quiero por lo demás me parece fabuloso este firewall

Romario dijo...

Hola.
La respuesta la tienes en el punto 4. Separa los puertos con un espacio.

Saludos.
Domi

Anónimo dijo...

Gracias por todo Romario ya sta todo en orden (^_^)

wbernabej dijo...

HOLA AMIGO, ESTA MUY INTERESANTE TU APORTE SOBRE EL FIREWALL. ESTOY INCURSIONANDO RECIEN AL MUNDO DE LINUX DEBIAN. HABER SI ME ENVIAS TU CORREO ...@HOTMAIL PARA HACERTE UNAS CONSULTAS PUNTUALES.

Mi correo es wbernabej@hotmail.com

saludos desde PERU.

viagra online dijo...
Este comentario ha sido eliminado por un administrador del blog.
Unknown dijo...

Hola que tal!!
Te comento un poco de mi caso, ya segui todos los pasos al pie de la letra... pero ahora quiere saber como puede verificar si el puerto 143 de imap esta abierto en mi pc

Saludos ]!!!!

Eduard dijo...

Thank you for such a nice tutorial.

I just wrote a different kind of tutorial on how to set up Arno IPTABLES firewall.
May be it may help someone to setup his own firewall based on IPTABLES.
You can find some examples for a mail server and for a Proxy server using SNAT and port forwarding.
The location of my tutorial is here:

http://cosmolinux.no-ip.org/raconetlinux2/arno_iptables_firewall.html

I wish it is useful to someone.