Como has sido siempre la filosofía de SkinaTech, todos los Linux son Iguales cuando estas en una consola. La diferencia inicia cuando usas herramientas de cada distribución: por ejemplo la familia RedHat usa firewalld, Ubuntu usa UFW, SuSE usa Yast/SuSEFirewall y Kuine usa turtlefirewall, pero en definitiva todos son iptables por debajo.

Iptables es el ¨shell¨ del modulo netfilter del kernel y este indica como han de ser manejados los paquetes de red.

En este artículo muestra como se usar iptables de forma básica:

Cómo configurar un servidor de seguridad con iptables en Ubuntu y CentOS

iptables-firewall

Imagen tomado del autor

En este tutorial, vamos a mostrarte cómo configurar un firewall con iptables en un Linux VPS con Ubuntu o CentOS como un sistema operativo. Iptables es una herramienta de administración para el filtrado de paquetes IPv4 y NAT y se utiliza para configurar y gestionar las tablas de las reglas de filtro de paquetes IPv4 en el kernel de Linux. Configurar y configurar correctamente un cortafuegos es una de las cosas más importantes y cruciales que debe hacer para proteger su servidor. Con iptables, se definen diferentes tablas de emparejamiento de paquetes y cada tabla puede contener varias cadenas incorporadas así como algunas cadenas definidas por el usuario. Las cadenas son en realidad listas de reglas que coinciden con el conjunto de paquetes y cada regla especifica qué hacer con el paquete emparejado.

La tabla predeterminada es la Filter de filtros y contiene las cadenas incorporadas INPUT, FORWARD y OUTPUT. La cadena INPUT se utiliza para los paquetes destinados a los sockets locales, la cadena FORWARD se utiliza para los paquetes que se enrutan a través de la caja mientras que la cadena OUTPUT se utiliza para los paquetes generados localmente. Conéctese a su servidor a través de SSH y enumere las reglas definidas en una cadena específica usando la siguiente sintaxis:

sudo iptables -L CHAIN

Reemplace CHAIN ​​por una de las cadenas incorporadas para ver las reglas definidas. Si no se selecciona ninguna cadena, todas las cadenas aparecerán en la salida.

sudo iptables -L
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

 

Las reglas de cortafuegos especifican qué hacer con un determinado paquete si cumple ciertos criterios y en caso de que el paquete no coincida con los criterios, se examinará la siguiente regla de firewall definida en la cadena. Esto es algo muy importante cuando se definen las reglas de firewall, ya que se puede bloquear fácilmente de su servidor si define la regla que acepta paquetes de su dirección IP local después de la regla de bloqueo.

Los objetivos que puede utilizar para las reglas de firewall son ACCEPT, DROP, QUEUE y RETURN. ACCEPT dejará pasar el paquete, DROP soltará el paquete, QUEUE pasará el paquete al espacio de usuario mientras RETURN detendrá el recorrido de paquetes de la cadena actual y se reanudará en la siguiente regla de la cadena anterior. La directiva de cadena predeterminada definirá qué hacer con un paquete si no coincide con alguna regla de firewall. Como se puede ver en la salida del primer comando, la directiva predeterminada para todas las cadenas incorporadas se establece en ACCEPT. ACCEPT dejará pasar el paquete por lo que básicamente no hay protección.

Antes de añadir reglas específicas, añada la siguiente:

 

sudo iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT

 

 

Esto evitará que las conexiones que ya están establecidas se eliminen y la sesión SSH actual permanezca activa.

A continuación, agregue reglas para permitir el tráfico en su interfaz de loopback:

 

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

 

A continuación, permita el acceso a su servidor a través de SSH para su dirección IP local para que sólo pueda acceder al servidor:

 

sudo iptables -A INPUT -s 111.111.111.111 -p tcp –dport 22 -j ACCEPT

 

Donde 111.111.111.111 es su dirección IP local y 22 es el puerto de escucha de su daemon SSH. En caso de que su dirección IP local cambie dinámicamente es mejor omitir la parte -s 111.111.111.111 y usar un método diferente para proteger el servicio SSH de tráfico no deseado.

 

sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT

 

A continuación, permita el acceso a sus servicios importantes como el servidor HTTP / HTTPS:

 

sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 443 -j ACCEPT

 

Ahora, liste las reglas actuales y compruebe si todo está bien. Para una salida detallada puede utilizar el siguiente comando:

 

sudo iptables -nvL

 

Si tiene otros servicios que desea permitir el acceso a él es mejor hacerlo ahora. Una vez que haya terminado, puede establecer la directiva predeterminada para la cadena INPUT incorporada en DROP.

 

sudo iptables -P INPUT DROP

Sin embargo, si reinicia el servidor, perderá todas las reglas de firewall definidas por lo que es realmente importante que las reglas sean permanentes.

En caso de que esté usando un VPS de Ubuntu, necesita instalar un paquete adicional para ese propósito. Siga adelante e instale el paquete requerido con el siguiente comando:

 

sudo apt-get install iptables-persistent

 

En Ubutnu 14.04 puedes guardar y volver a cargar las reglas del firewall usando los siguientes comandos:

 

sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

 

En Ubuntu 16.04 utilice los siguientes comandos:

 

sudo netfilter-persistent save
sudo netfilter-persistent reload

 

Si está utilizando un VPS de CentOS, puede guardar las reglas de firewall mediante el siguiente comando:

 

service iptables save

 

Por supuesto, usted no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento de VPS de Linux, en cuyo caso puede simplemente pedir a nuestros expertos administradores de Linux que le ayuden a configurar sus iptables en su servidor. Están disponibles 24 × 7 y se encargará de su solicitud de inmediato.

PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales mediante los botones de abajo o simplemente deja un comentario en la sección de comentarios. Gracias.

 

Este blog fue tomado de: https://www.rosehosting.com/blog/how-to-set-up-a-firewall-with-iptables-on-ubuntu-and-centos/