Differences between revisions 3 and 4
Revision 3 as of 2012-02-18 16:22:52
Size: 4429
Editor: ?EstebanMonge
Comment:
Revision 4 as of 2012-02-18 16:58:17
Size: 4545
Editor: ?EstebanMonge
Comment:
Deletions are marked like this. Additions are marked like this.
Line 64: Line 64:
# Allows SSH connections for script kiddies
# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
-A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT
# Permitir las conexiones de SSH
# EL NUMERO -dport ES EL MISMO QUE CONFIGURÓ EN EL ARCHIVO SSHD_CONFIG
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
Line 68: Line 68:
# Now you should read up on iptables rules and consider whether ssh access
# for everyone is really desired. Most likely you will only allow access from certain IPs.
# Por favor lea la documentación de iptables y considere si el acceso ssh
# para cualquiera es lo mejor. Por ejemplo puede permitir el acceso únicamente desde ciertas IPs
Line 71: Line 71:
# Allow ping # Permitir ping
Line 74: Line 74:
# log iptables denied calls (access via 'dmesg' command) # Registrar todas las llamadas denegadas por iptables (accesar vía el comando 'dmesg')
Line 77: Line 77:
# Reject all other inbound - default deny unless explicitly allowed policy: # Rechazar todo el otro tráfico de entrada - de manera predetermianda a menos de que exista una política que lo permita:
Line 84: Line 84:
That may look complicated, but look at each section at a time. You will see that it simply shuts all ports except the ones we have allowed - which in this case are ports 80 and 443 (the standard web browser ports) and the SSH port defined earlier. Esto parece un poco complicado, pero observe cada sección a la vez. Verá que simplemente deniega el tráfico en todos los puertos menos los que permitió, HTTP, HTTPS y SSH
Line 86: Line 86:
Activate these new rules:
== Activar las nuevas reglas ==
Line 92: Line 91:
And see the difference: Vea la diferencia:
Line 98: Line 97:
Now the output tells us that only the ports defined above are open. All the others are closed. Ahora la salida le mostrará únicamente los puertos abiertos definidos arriba. Todos los demás están cerrados.
Line 100: Line 99:
Once you are happy, save the new rules to the master iptables file: Si está feliz con esta configuración, salve las reglas en un archivo "master" de iptables:
Line 106: Line 105:
To make sure the iptables rules are started on a reboot we'll create a new file: Para asegurarse de que estas reglas se iniciaran al reiniciar, debe crear otro archivo:
Line 109: Line 108:
 nano /etc/network/if-pre-up.d/iptables  vim /etc/network/if-pre-up.d/iptables
Line 112: Line 111:
Add these lines to it: Agregue las siguientes líneas:
Line 119: Line 118:
The file needs to be executable so change the permissions: El archivo debe ser ejecutable, cambie los permisos:
Line 125: Line 124:
Note:
This HOWTO had been contributed by user Geejay to wiki.openvz.org as a part of installing container howto.
Nota:
Este COMO es una traducción, y a su vez ha sido contribuída por el usuario Geejay en el wiki wiki.openvz.org como parte del COMO para instalar un contenidos.
Line 128: Line 127:
== See also ==
 * Documentation about the netfilter/iptables: ~-<<BR>>. http://www.netfilter.org/documentation/ -~
== Lea también ==
 * Documentación sobe netfilter/iptables (inglés): ~-<<BR>>. http://www.netfilter.org/documentation/ -~
Line 131: Line 130:
 * Gentle Introductions/Overviews  * Introducciones gentiles/sintesis
Line 134: Line 133:

Translation(s): Español - Inglés - Italiano- Español


Iptables permite filtrar paquetes, traducción de direcciones de red y otros destrozamientos de paquetes.

Dos de los mas comunes usos de iptables son proveer soporte para muros de fuego y NAT.

Configurar iptables manualmente es un reto para los que están iniciando. Afortunadamente, existen algunas herramientas de configuración (asistentes) disponibles para ayudarse, por ejemplo, fwbuilder, bastille, ferm (wiki page), ufw (Uncomplicated Firewall, from Ubuntu).

Ver la configuración actual

Para ver que reglas ya están configuradas, utilice este comando:

 iptables -L

La salida será similar a la siguiente:

 Chain INPUT (policy ACCEPT)
 target     prot opt source               destination

 Chain FORWARD (policy ACCEPT)
 target     prot opt source               destination

 Chain OUTPUT (policy ACCEPT)
 target     prot opt source               destination

Esto permite a cualquier el acceso de lo que sea a donde sea.

Almacenar las reglas en un archivo

Nota: Existe un paquete que le puedo ayudar a hacer esto: iptables-persistent

Vamos a crear un pequeño archivo iptables de pruebas:

 vim /etc/iptables.test.rules

Vamos a ingresar algunas reglas básica:

*filter

# Permite todo el tráfico de loopback (lo0) y deniega todo el tráfico de 127/8 que no utiliza lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

# Aceptar todas la conexiones entrantes previamente establecidas
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Acepta todo el tráfico saliente
# Puede modificar esto para aceptar cierto tráfico únicamente
-A OUTPUT -j ACCEPT

# Permitir HTTP y HTTPS desde cualquier lugar
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# Permitir las conexiones de SSH
# EL NUMERO -dport ES EL MISMO QUE CONFIGURÓ EN EL ARCHIVO SSHD_CONFIG
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# Por favor lea la documentación de iptables y considere si el acceso ssh
# para cualquiera es lo mejor. Por ejemplo puede permitir el acceso únicamente desde ciertas IPs

# Permitir ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# Registrar todas las llamadas denegadas por iptables (accesar vía el comando 'dmesg')
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

# Rechazar todo el otro tráfico de entrada - de manera predetermianda a menos de que exista una política que lo permita:
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT

Esto parece un poco complicado, pero observe cada sección a la vez. Verá que simplemente deniega el tráfico en todos los puertos menos los que permitió, HTTP, HTTPS y SSH

Activar las nuevas reglas

 iptables-restore < /etc/iptables.test.rules

Vea la diferencia:

 iptables -L

Ahora la salida le mostrará únicamente los puertos abiertos definidos arriba. Todos los demás están cerrados.

Si está feliz con esta configuración, salve las reglas en un archivo "master" de iptables:

 iptables-save > /etc/iptables.up.rules

Para asegurarse de que estas reglas se iniciaran al reiniciar, debe crear otro archivo:

 vim /etc/network/if-pre-up.d/iptables

Agregue las siguientes líneas:

 #!/bin/bash
 /sbin/iptables-restore < /etc/iptables.up.rules

El archivo debe ser ejecutable, cambie los permisos:

 chmod +x /etc/network/if-pre-up.d/iptables

Nota: Este COMO es una traducción, y a su vez ha sido contribuída por el usuario Geejay en el wiki wiki.openvz.org como parte del COMO para instalar un contenidos.

Lea también


CategorySystemAdministration