Los comandos de la Guía para principiantes para iptables (firewall de Linux)

Los comandos de la Guía para principiantes para iptables (firewall de Linux)

Si está utilizando computadoras para mientras, debe estar familiarizado con la palabra "Cortafuegos". Sabemos que las cosas parecen complejas desde la superficie, pero a través de este tutorial, vamos a explicar la base de Iptable y el uso de comandos básicos para que incluso si es un estudiante de red o desea sumergirse profundamente en las redes, puede beneficiarse de esta guía.

Que es iptable?

La forma en que el Cortafuegos funciona es bastante simple. Crea una barrera entre redes confiables y no confiables para que su sistema pueda estar a salvo de paquetes maliciosos.

Pero cómo vamos a decidir qué es seguro y qué no? Por defecto, tiene algún privilegio para configurar reglas para su firewall, pero para una vigilancia más detallada de los paquetes entrantes y salientes, Iptables es lo que más necesitas.

Iptables se puede utilizar para la informática personal o también se puede aplicar a toda la red. Usando Iptables, Definiremos un conjunto de reglas por las cuales podemos monitorear, permitir o bloquear los paquetes de red entrantes o salientes.

En lugar de centrarnos en toda la parte de la teoría, solo vamos a discutir lo que importa en el mundo práctico. Así que comencemos con la comprensión de los conceptos centrales de Iptables.

Comprender el concepto de iptables

Mientras discute Iptables, Debemos entender 3 términos: Mesas, Cadenas, y Normas. Como estas son las partes importantes, vamos a discutir cada una de ellas.

Así que comencemos con Mesas.

Tablas en iptables

Hay 5 tipos de mesas en iptables y cada uno tiene diferentes reglas aplicadas. Así que comencemos con la tabla más común "Archivador".

  1. Mesa de filtro - Esta es la tabla predeterminada y principal mientras se usa Iptables. Significa que siempre que no mencione ninguna tabla específica al aplicar reglas, se aplicarán a la tabla de filtros. Como su nombre indica, el papel de la tabla de filtro es decidir si se debe permitir que los paquetes llegaran a su destino o negar su solicitud.
  2. NAT (traducción de direcciones de red) - Como su nombre indica, esta tabla permite a los usuarios determinar la traducción de las direcciones de red. El papel de esta tabla es determinar si modificar y cómo modificar la fuente y el destino de la dirección del paquete.
  3. Manglar la mesa - Esta tabla nos permite modificar los encabezados IP de los paquetes. Por ejemplo, puedes ajustar TTL para alargar o acortar lúpulos de red que el paquete puede sostener. Del mismo modo, otros encabezados IP también se pueden modificar de acuerdo con su preferencia.
  4. Mesa cruda - El uso principal de esta tabla es rastrear las conexiones, ya que proporciona un mecanismo para marcar paquetes para ver los paquetes como parte de una sesión en curso.
  5. Mesa de seguridad - Usando la tabla de seguridad, los usuarios pueden aplicar interno Selinux Marcas de contexto de seguridad en paquetes de red.

Para la mayoría de los casos de uso, los últimos 2 tipos (CRUDO y Seguridad) de la tabla no tienen mucho que hacer y solo las primeras 3 opciones se cuentan como tablas principales.

Ahora, hablemos de Cadenas.

Cadenas en iptables

Se comportan en los puntos de la ruta de la red donde podemos aplicar reglas. En iptables, nosotros 5 tipos de cadenas y discutiremos cada uno de ellos. Tenga en cuenta que no hay cada tipo de cadena disponible para cada tipo de tabla.

  1. Pre-ritmo - Esta cadena se aplica a cualquier paquete entrante una vez que se ingresa a la pila de red y esta cadena se procesa incluso antes de que se haya tomado cualquier decisión de enrutamiento con respecto al destino final del paquete.
  2. Cadena de entrada - Es el punto donde un paquete ingresa a la pila de red.
  3. Cadena de avance - Es el punto donde el paquete se ha reenviado a través de su sistema.
  4. Cadena de salida - La cadena de salida se aplica al paquete cuando se originó a través de su sistema y se apaga.
  5. Posterior a la ruta - Este es todo lo contrario de la cadena previa al rutor y se aplica a los paquetes reenviados o salientes una vez que se ha tomado la decisión de enrutamiento.

Ahora, lo único que queda por discutir es normas, Y es el más fácil de los 3 que hemos discutido aquí. Así que completemos lo que queda en la parte teórica.

Reglas en iptables

Normas no son más que los comandos establecidos o individuales por los cuales los usuarios manipulan el tráfico de la red. Una vez que cada cadena entrará en acción, el paquete se verificará con reglas definidas.

Si una regla no satisface la condición, se saltará a la siguiente y si satisface la condición, la siguiente regla se especificará por el valor del objetivo.

Cada regla tiene dos componentes: el componente coincidente y el componente objetivo.

  1. Componente coincidente - Son diferentes condiciones para definir reglas que pueden coincidir con protocolo, dirección IP, dirección de puerto, interfaces y encabezados.
  2. Componente objetivo - Esta es una acción que se activará una vez que se satisfagan las condiciones.

Esta fue la parte de explicación y ahora cubriremos comandos básicos relacionados con Iptables En Linux.

Instalación del firewall iptable en Linux

En las distribuciones modernas de Linux como el pop!_Os, Iptables Viene preinstalado, pero si su sistema carece del paquete IPTables, puede instalarlo fácilmente mediante instrucciones dadas:

Para instalar iPtables en distribuciones de Linux basadas en RHEL como Rocky Linux, Almalinux y CentOS Stream, use el siguiente comando DNF.

$ sudo dnf instalación iptables-services 

Importante: Si está utilizando FireWalld, tendrá que deshabilitarlo antes de continuar con la instalación. Para detener el firewall por completo, tendrá que utilizar los siguientes comandos:

$ sudo systemctl stop firewalld $ sudo systemctl deshabilitar firewalld $ sudo systemctl máscara firewalld 

Para instalar iPtables en Distribuciones de Linux con sede en Debian, use el siguiente comando APT.

$ sudo apt install iptables 

Una vez que instale Iptables, Puede habilitar el firewall mediante comandos dados:

$ sudo SystemCtl Habilitar iptables $ sudo systemctl inicio iptables 

Para monitorear el estado de la Iptable Servicio, puede usar el comando dado:

$ sudo systemctl status iPtables 
Verifique el estado de iptables

Aprender conceptos básicos del comando iptables en Linux

Una vez que terminemos con la instalación, podemos continuar con la sintaxis de Iptables que le permitirá ajustar los valores predeterminados y le permitirá configurar según sus necesidades.

La sintaxis básica de Iptables es como sigue:

# iptables -t tipo de tabla -options puntos de cadena condición o componente coincidente Action 

Entendamos la explicación del comando anterior:

Mesa

La primera parte es -T donde podemos elegir entre las 5 opciones de tabla disponibles y si elimina el -T parte del comando, usará filtrar tabla ya que es el tipo de tabla predeterminado.

Opciones de cadena

La segunda parte es para el cadena. Aquí puede elegir entre diferentes opciones de puntos de cadena y esas opciones se dan a continuación:

  • -A - Agrega una nueva regla a la cadena al final de la cadena.
  • -C - Verifica la regla si satisface el requisito de la cadena.
  • -D - Permite a los usuarios eliminar una regla existente de la cadena.
  • -F - Esto eliminará cada regla definida por el usuario.
  • -I - Permite a los usuarios agregar una nueva regla en la posición especificada.
  • -norte - Crea una cadena completamente nueva.
  • -V - Cuando se usa con la opción de lista, trae información detallada.
  • -X - Eliminar la cadena.

Componente coincidente

Las opciones de coincidencia son la condición para verificar el requisito de la cadena. Puede elegir entre varias opciones y algunas de ellas se dan a continuación:

Protocolos -P fuente IP -S Destino IP -D en interfaz -i Out Interface -O 

Para TCP, son los siguientes:

-Sport -dport - -TCP -Flags 

Componente de acción

Ahora, si consideramos la parte de acción, las opciones disponibles dependen del tipo de tabla, como Nat, y la mesa de mangle tiene más opciones en comparación con otras. Al usar la acción, también puede apuntar a una tabla o cadena específica.

La acción más utilizada es Jump (-J) que nos dará varias opciones como:

  • ACEPTAR - Se usa para aceptar paquetes y finalizar el recorrido.
  • GOTA - Se usa para dejar caer paquetes y finalizar el recorrido.
  • RECHAZAR - Esto es bastante similar a la caída, pero envía paquetes rechazados a la fuente.
  • DEVOLVER - Esto dejará de atravesar el paquete en la subcadena y enviará el paquete específico a la cadena superior sin efecto.

Una vez que terminemos con la sintaxis, le mostraremos cómo puede usar Iptables incluyendo configuración básica.

Enumerar el conjunto actual de reglas iptables

Si desea verificar lo que está pasando por su Cortafuegos Por defecto, enumerar un conjunto actual de reglas es una forma perfecta. Para enumerar las reglas aplicadas, use el comando dado:

$ sudo iptables -l 
Listado de reglas de iptables

Permitir/negar el tráfico de red en puertos específicos

En esta sección, le mostraremos cómo puede permitir o negar el tráfico de red para puertos específicos. Le mostraremos algunos puertos conocidos como queremos ser tan útiles como podamos ser.
Si quieres permitir Https tráfico de red, tendremos que permitir el puerto no 443 utilizando el comando dado:

$ sudo iptables -a entrada -p tcp --dport 443 -j aceptar 

Del mismo modo, también puedes deshabilitar Http Tráfico web por comando dado:

$ sudo iptables -a entrada -p tcp --dport 80 -j rechazar 

Explicación de las opciones de comando usadas:

  • -pag se usa para verificar el protocolo especificado y en nuestro caso es TCP.
  • --dport se utiliza para especificar el puerto de destino.
  • -j se usa para tomar medidas (aceptar o soltar).

Controlar el tráfico con la dirección IP

Sí, también puede controlar el tráfico de red desde una dirección IP. No solo uno o dos, sino también controlar el rango de direcciones IP y le mostraremos cómo.

Para permitir una dirección IP específica, utilice la estructura de comando dada:

$ sudo iptables -a entrada -s 69.63.176.13 -J aceptar 

Del mismo modo, para soltar paquetes de IP específicos, debe usar la estructura de comando dada:

$ sudo iptables -a entrada -s 192.168.0.27 -J caída 

Si lo desea, también puede controlar el rango de direcciones IP utilizando la estructura de comando dada:

$ sudo iptables -a rango de entrada -m - -src -range 192.168.0.1-192.168.0.255 -J rechazado 

Eliminar la regla definida por el usuario

A veces podemos terminar cometiendo errores mientras creamos reglas y la mejor manera de superar esos errores es eliminarlos. Eliminar las reglas definidas es el proceso más fácil a lo largo de esta guía y para eliminarlas, primero, tendremos que enumerarlas.

Para enumerar las reglas definidas con números, use el comando dado:

$ sudo iptables -l -Numbers 
Lista de reglas de iptables

Para eliminar las reglas, tendremos que seguir la estructura de comando dada:

$ sudo iptables -d   

Supongamos que quiero eliminar la décima regla de APORTE Entonces usaré el comando dado:

$ sudo iptables -d entrada 10 

Para verificar si hemos eliminado con éxito la regla, tenemos que enumerar las reglas mediante el comando dado:

$ sudo iptables -l -line -Numbers 
Confirmar las reglas de iptables

Como puede ver, hemos eliminado con éxito la décima regla.

Guardar reglas de iptables definidas

Es posible que se pregunte por qué tenemos que guardar reglas en las que trabajan bien después de aplicarlas? El problema es que una vez que su sistema se reinicie, todas las reglas definidas que no se guardan se eliminarán para que sea crucial para nosotros para nosotros.

Para guardar reglas en Rhel-Distros basadas:

$ sudo /sbin /servicio iptable save 

Para guardar reglas en Debian Derivados:

$ sudo /sbin /iptables-save 

Para obtener más información sobre las reglas de firewall iptable, consulte nuestra guía detallada en:

  • 25 reglas útiles de firewall iptable que todo administrador de Linux debe saber

A lo largo de esta guía, hemos tratado de simplificar las cosas para que todos puedan beneficiarse de ella. Esta fue una guía de explicación básica en Iptables Y si tiene alguna consulta, no dude en preguntar en los comentarios.