GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Configuración de Firewall usando Iptables en Ubuntu 14.04

Introducción

La instalación de un cortafuegos es una etapa importante en la protección de la mayoría de los sistemas operativos modernos. La mayoría de las distribuciones de Linux vienen equipadas con diferentes herramientas de firewall que podemos usar para configurar nuestro firewall. En esta guía, discutiremos cómo configurar el firewall de Iptables para Ubuntu 14.04.

Nota: Este tutorial cubre la seguridad de IPv4. En Linux, la seguridad de IPv6 se mantiene por separado de IPv4. Por ejemplo, "iptables" solo mantiene reglas de firewall para direcciones IPv4, pero tiene una contraparte de IPv6 llamada "ip6tables", que se puede usar para mantener reglas de firewall para direcciones de red IPv6.

Comandos básicos

Antes de seguir esta guía, debe tener acceso a una cuenta de superusuario que no sea root, con privilegios sudo configurados en su servidor. Primero debe saber que los comandos de iptables deben ejecutarse solo con privilegios de root. Para implementar esta condición, agregaremos "sudo" antes de todos los comandos en esta guía. También podemos iniciar sesión como usuario root usando los comandos "su" o "sudo -i", pero nos quedaremos con "sudo" para esta guía.

Inicialmente necesitamos encontrar las reglas actuales que están configuradas para las iptables. Esto se logra usando el siguiente comando:

# 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

También podemos ver las reglas actuales en un formato más simple usando el indicador -S en lugar del indicador -L:

# sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

En ambos resultados podemos ver tres cadenas mostradas como ENTRADA, ADELANTE y SALIDA. También vemos que la política predeterminada de cada cadena está configurada como ACCEPT , pero no hay reglas reales establecidas en los resultados anteriores. Esto se debe a que Ubuntu no se envía con un conjunto de reglas predeterminadas.

Si ya hay reglas configuradas en las Iptables, podemos vaciarlas completamente usando el indicador -F de la siguiente manera:

Nota:si está vaciando las reglas de forma remota, las políticas de las cadenas de ENTRADA y SALIDA deben establecerse en ACEPTAR. Esto se puede hacer escribiendo

# sudo iptables -P INPUT ACCEPT
# sudo iptables -P OUTPUT ACCEPT
# sudo iptables -F

Configuración de reglas para Iptables

Las reglas para iptables se pueden configurar de dos maneras. Una forma es permitir que la regla predeterminada ACEPTE y bloquee cualquier tráfico no deseado estableciendo reglas específicas. El otro método es configurar el tráfico permitido y bloquear todo lo demás. El segundo método suele ser el preferido .

La primera regla que debe asignarse es aceptar todo el tráfico entrante escribiendo el siguiente comando:

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

Podemos ver el resultado del comando anterior usando el indicador -L nuevamente.

# sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Aquí podemos ver que la política de la cadena INPUT ha cambiado en comparación con antes de aplicar la regla.

El siguiente paso es permitir el tráfico a un puerto específico para habilitar las conexiones SSH. Esto se puede hacer siguiendo:

# sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT

“ssh” se traduce al número de puerto 22 de forma predeterminada. Se puede utilizar cualquier número de puerto en lugar de "ssh". Para permitir el acceso al servidor web HTTP, escriba el siguiente comando:

# sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Hay una regla ACCEPT más que debe asignarse a nuestras Iptables para que nuestro servidor funcione correctamente.

# sudo iptables -I INPUT 1 -i lo -j ACCEPT

Agregar una regla de eliminación

Hasta ahora, solo hemos agregado reglas ACCEPT a nuestras Iptables. También debemos asignar reglas de bloque, ya que todos los paquetes de red se aceptarán según las reglas asignadas a nuestras Iptables. Una forma es asignar una regla DROP en la política predeterminada de nuestra cadena INPUT. Esto captura todos los paquetes que caen a través de nuestra cadena INPUT y los descarta.

# sudo iptables -P INPUT DROP

Una de las implicaciones de este tipo de diseño es que recurre a descartar paquetes si las reglas se vacían.

El enfoque alternativo es mantener la política predeterminada para la cadena como aceptar y agregar una regla que coloque todos los paquetes restantes en la parte inferior de la cadena misma.

Si cambió la política predeterminada para la cadena INPUT anterior, puede volver a configurarla para seguir escribiendo:

# sudo iptables -P INPUT ACCEPT

Ahora, puede agregar una regla al final de la cadena que eliminará los paquetes restantes:

# sudo iptables -A INPUT -j DROP

 Antes de guardar las Iptables, es mejor verificar las reglas asignadas una vez. Nuestras reglas actuales se establecen de la siguiente manera:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j DROP

Guardar reglas de Iptables

Por defecto, las reglas de Iptables se borrarán una vez que se reinicie el servidor. Para guardar las reglas de Iptabels de forma permanente, la configuración se puede guardar de diferentes maneras, pero la forma más fácil es con el paquete "iptables-persistent". Esto se puede descargar desde los repositorios predeterminados de Ubuntu:

# sudo apt-get update

# sudo apt-get install iptables-persistent

Guarde sus reglas de firewall con este comando:

# sudo invoke-rc.d iptables-persistent save

Para saber cómo configurar y guardar las reglas del cortafuegos usando iptables-persistent en Ubuntu 10.04/Debian 6.0, haga clic en el siguiente enlace:

Cómo configurar y guardar Iptables persistentes para Ubuntu 10.04/ Debian 6.0


Ubuntu
  1. Cómo configurar el cortafuegos UFW en Ubuntu 18.04

  2. Cómo hacer que las reglas del cortafuegos de iptables sean persistentes en Debian/Ubuntu

  3. Cómo abrir puertos en Ubuntu y CentOS usando IPtables

  4. Cómo configurar un firewall con iptables en Ubuntu y CentOS

  5. Asegurando su VPS basado en Ubuntu/Debian usando IPTABLES/Netfilter firewall

Configuración del servidor Samba en Ubuntu 14.04 LTS

Cómo instalar Grafana en Ubuntu 20.04

Cómo instalar Browsh en Ubuntu 20.04

Cómo bloquear/permitir ping usando iptables en Ubuntu

Cómo instalar Ansible en Ubuntu 20.04

Cómo configurar el firewall de Iptables en CentOS