13 preguntas de la entrevista sobre el firewall iptables de Linux

13 preguntas de la entrevista sobre el firewall iptables de Linux

Nishita Agarwal. una visitante frecuente de Tecmint. compartió su experiencia (pregunta y respuesta) con nosotros con respecto a la entrevista de trabajo que acababa de dar en una empresa de alojamiento privada en Pune. India. Se le hicieron muchas preguntas sobre una variedad de temas, sin embargo, ella es una experta en iptables. y quería compartir esas preguntas y su respuesta (ella dio) relacionada con iptables a otros que pueden estar yendo a dar una entrevista en un futuro próximo.

Preguntas de la entrevista de Iptables sobre firewall de Linux  Preguntas de la entrevista de Iptables sobre firewall de Linux

Todas las preguntas y su Respuesta están reescritas en base a la memoria de Nishita Agarwal.

“¡Hola amigos! Mi nombre es Nishita Agarwal. He obtenido una licenciatura en tecnología. Mi área de especialización es UNIX y las variantes de UNIX (BSD, Linux) me fascinan desde el momento en que lo escuché. Tengo más de 1 año de experiencia en almacenamiento. Estaba buscando un cambio de trabajo que terminó con una empresa de hospedaje en Pune, India ”.

Aquí está la recopilación de lo que me preguntaron durante la entrevista. He documentado solo aquellas preguntas y su respuesta que estaban relacionadas con iptables según mi memoria. Espero que esto le ayude a descifrar su entrevista.

1. ¿Ha oído hablar de iptables y firewall en Linux? ¿Alguna idea de qué son y para qué se utiliza? freestar.config.enabled_slots.push

Respuesta:. He estado usando iptables durante bastante tiempo y estoy al tanto de tanto iptables como firewall. Iptables es un programa de aplicación escrito principalmente en lenguaje de programación C y se publica bajo la licencia pública general GNU. Escrito para el punto de vista de la administración del sistema, la última versión estable de iptables 1.4.21. .iptables se puede considerar como un firewall para un sistema operativo tipo UNIX que se puede llamar iptables. netfilter. con mayor precisión. El administrador interactúa con iptables a través de la consola/herramientas de interfaz gráfica de usuario para agregar y definir reglas de firewall en tablas predefinidas. Netfilter es un módulo construido dentro del kernel que realiza el trabajo de filtrado.

Firewalld. es la última implementación de reglas de filtrado en RHEL. CentOS 7. (puede implementarse en otras distribuciones de las que puede que no tenga conocimiento). Ha reemplazado la interfaz de iptables y se conecta a netfilter.

2. ¿Ha utilizado algún tipo de herramienta de interfaz gráfica de usuario para iptables o la línea de comandos de Linux?

Respuesta:. Aunque he usado tanto las herramientas de interfaz de usuario basadas en GUI para iptables como Shorewall en conjugación de Webmin en GUI y el acceso directo a iptables a través de la consola, debo admitir que el acceso directo a iptables a través de la consola de Linux le da al usuario un inmenso poder en forma de un mayor grado de flexibilidad y una mejor comprensión de lo que está sucediendo en segundo plano, si no de cualquier otra cosa. La GUI es para administradores novatos mientras que la consola es para experimentados.

3. ¿Cuáles son las diferencias básicas entre iptables y firewalld?

Respuesta:. iptables y firewalld tienen el mismo propósito ( filtrado de paquetes. pero con un enfoque diferente. iptables elimina todo el conjunto de reglas cada vez que se realiza un cambio, a diferencia de firewalld. Normalmente, la ubicación de la configuración de iptables se encuentra en ‘/etc/sysconfig/iptables. mientras que la configuración de firewalld se encuentra en ‘/etc/firewalld/‘, que es un conjunto de archivos XML .Configurar un firewalld basado en XML es más fácil en comparación con la configuración de iptables, sin embargo, se puede lograr la misma tarea usando la aplicación de filtrado de paquetes, es decir, iptables y firewalld. Firewalld ejecuta iptables bajo su capó junto con su propia interfaz de línea de comandos y archivo de configuración que está basado en XML y como se mencionó anteriormente.

4. ¿Reemplazaría iptables con firewalld en todos sus servidores, si tuviera la oportunidad?

Respuesta:. Estoy familiarizado con iptables y está funcionando y si no hay nada que requiera un aspecto dinámico de firewalld, parece que no hay razón para migrar toda mi configuración de iptables a firewalld. casos, hasta ahora nunca he visto iptables creando un problema. También la regla general de la tecnología de la información dice “por qué arreglarlo si no está roto”. Sin embargo, este es mi pensamiento personal y no me importaría implementar firewalld si la Organización va a reemplazar iptables con firewalld.

5. Parece seguro con iptables y el punto positivo es que incluso estamos usando iptables en nuestro servidor.

¿Cuáles son las tablas que se utilizan en iptables? Dé una breve descripción de las tablas utilizadas en iptables y las cadenas que soportan.

Respuesta:. Gracias por el reconocimiento. Pasando a la parte de la pregunta, hay cuatro tablas que se usan en iptables, a saber:

  1. Tabla Nat
  2. Tabla Mangle
  3. Tabla de filtro
  4. Tabla sin formato

Tabla Nat. La tabla Nat se utiliza principalmente para la traducción de direcciones de red. Los paquetes enmascarados obtienen su dirección IP alterada según las reglas de la tabla. Los paquetes de la secuencia atraviesan la tabla Nat solo una vez. es decir, si un paquete de un chorro de paquetes está enmascarado, el resto de los paquetes del flujo no volverán a atravesar esta tabla. Se recomienda no filtrar en esta tabla. Las cadenas admitidas por la tabla NAT son PREROUTING Chain, POSTROUTING Chain y OUTPUT Chain.

Mangle Table. como sugiere el nombre, esta tabla sirve para manipular los paquetes. Se utiliza para la modificación de paquetes especiales. Puede usarse para alterar el contenido de diferentes paquetes y sus encabezados. La tabla Destrozar no se puede utilizar para enmascaramiento. Las cadenas admitidas son PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain.

Filter Table. Filter Table es la tabla predeterminada utilizada en iptables. Se utiliza para filtrar paquetes. Si no se definen reglas, la Tabla de filtro se toma como tabla predeterminada y el filtrado se realiza sobre la base de esta tabla. Las cadenas admitidas son INPUT Chain, OUTPUT Chain, FORWARD Chain.

Raw Table. la tabla Raw entra en acción cuando queremos configurar paquetes que estaban exentos anteriormente. Es compatible con PREROUTING Chain y OUTPUT Chain.

6. ¿Cuáles son los valores objetivo (que se pueden especificar en target) en iptables y qué hacen, sea breve!

Respuesta:. Los siguientes son los valores objetivo que podemos especificar en el objetivo en iptables:

    1. ACEPTAR. aceptar paquetes
    2. COLA. paquete de Paas en el espacio de usuario (lugar donde residen la aplicación y los controladores)
    3. DROP. Drop Packets
    4. RETURN. Devuelve el control a la cadena de llamadas y deja de ejecutar el siguiente conjunto de reglas para los paquetes actuales en la cadena.

7. Pasemos a los aspectos técnicos de iptables, por técnico I significa práctico.

¿Cómo comprobará iptables rpm que se requiere para instalar iptables en CentOS?

Respuesta:. iptables rpm se incluyen en la instalación estándar de CentOS y no es necesario instalar por separado. Podemos verificar el rpm como:

# rpm-qa iptables iptables-1.4.21-13.el7.x86_64

Si necesita instalarlo, puede hacer yum para obtenerlo.

# yum install iptables-services 8. ¿Cómo comprobar y asegurarse de que el servicio iptables se esté ejecutando?

Respuesta:. Para verificar el estado de iptables, puede ejecutar el siguiente comando en la terminal.

# service iptables status [En CentOS 6/5. ] # systemctl status iptables [En CentOS 7.

Si no se está ejecutando, se puede ejecutar el siguiente comando.

—————- En CentOS 6/5. —————# chkconfig-iptables de nivel 35 en # inicio de iptables de servicio—————- En CentOS 7. —————# systemctl enable iptables # systemctl start iptables

También podemos verificar si el módulo iptables está cargado o no, como:

# lsmod | grep ip_tables 9. ¿Cómo revisará las reglas actuales definidas en iptables?

Respuesta:. Las reglas actuales en iptables se pueden revisar tan simple como:

# iptables-L

Salida de muestra. Cadena ENTRADA (política ACEPTAR) objetivo prot opt ​​origen destino ACEPTAR todo-en cualquier lugar en cualquier lugar estado RELACIONADO, ESTABLECIDO ACEPTAR icmp-en cualquier lugar en cualquier lugar ACEPTAR todo-en cualquier lugar ACEPTAR tcp-en cualquier lugar en cualquier lugar estado NUEVO tcp dpt: ssh RECHAZAR todo-en cualquier lugar en cualquier lugar rechazar-con icmp-host-prohibido Cadena FORWARD (política ACEPTAR) destino prot opt ​​origen destino RECHAZAR todo-en cualquier lugar rechazar-con icmp-host-prohibido Cadena SALIDA (política ACCEPT) destino prot opt ​​origen destino 10 ¿Cómo va a eliminar todas las reglas de iptables o una cadena en particular?

Respuesta:. Para vaciar una cadena de iptables en particular, puede usar los siguientes comandos.

# iptables–flush OUTPUT

Para vaciar todas las reglas de iptables.

# iptables–flush 11. Agregue una regla en iptables para aceptar paquetes de una dirección IP confiable (digamos 192.168.0.7)

Respuesta:. El escenario anterior se puede lograr simplemente ejecutando el siguiente comando.

# iptables-A INPUT-s 192.168.0.7-j ACCEPT

Podemos incluir una barra estándar o una máscara de subred en la fuente como:

# iptables-A INPUT-s 192.168.0.7/24-j ACCEPT # iptables-A INPUT-s 192.168.0.7/255.255.255.0-j ACCEPT 12. Cómo agregar reglas para ACCEPT, REJECT, DENY y DROP ssh service en iptables.

Respuesta:. Con la esperanza de que ssh se esté ejecutando en el puerto 22, que también es el puerto predeterminado para ssh, podemos agregar una regla a iptables como:

Para ACEPTAR. paquetes tcp para el servicio ssh (puerto 22).

# iptables-A INPUT-s-p tcp–dport 22-j ACEPTAR

Para RECHAZAR. paquetes tcp para ssh service (puerto 22).

# iptables-A INPUT-s-p tcp–dport 22-j REJECT

Para NEGAR. paquetes tcp para el servicio ssh (puerto 22).

# iptables-A INPUT-s-p tcp–dport 22-j DENY

Para DROP. paquetes tcp para el servicio ssh (puerto 22).

# iptables-A INPUT-s-p tcp–dport 22-j DROP 13. Déjame darte un escenario. Digamos que hay una máquina cuya dirección IP local es 192.168.0.6. Debe bloquear las conexiones en los puertos 21, 22, 23 y 80 a su máquina. ¿Qué vas a hacer?

Respuesta:. Bueno, todo lo que necesito usar es la opción ‘ multipuerto. con iptables seguido de los números de puerto para bloquear y el escenario anterior se puede lograr en una sola ir como.

# iptables-A INPUT-s 192.168.0.6-p tcp-m multipuerto–dport 21,22,23,80-j DROP

Las reglas escritas se pueden verificar usando el siguiente comando.

# iptables-L Cadena ENTRADA (política ACEPTAR) destino prot opt ​​fuente destino ACEPTAR todo-en cualquier lugar en cualquier lugar estado RELACIONADO, ESTABLECIDO ACEPTAR icmp-en cualquier lugar en cualquier lugar ACEPTAR todo-en cualquier lugar ACEPTAR tcp-en cualquier lugar en cualquier lugar estado NUEVO tcp dpt: ssh RECHAZAR todo-en cualquier lugar en cualquier lugar rechazar-con icmp-host-prohibido DROP tcp-192.168.0.6 en cualquier lugar multipuerto dports ssh, telnet, http, webcache Chain FORWARD (política ACCEPT ) objetivo prot opt ​​origen destino RECHAZAR todo-en cualquier lugar rechazar-con icmp-host-prohibido Cadena OUTPUT (política ACCEPT) objetivo prot opt ​​origen destino

Entrevistador. : Eso es todo lo que quería preguntar. Es un empleado valioso que no nos gustaría extrañar. Recomendaré su nombre a RR.HH. Si tiene alguna pregunta, puede preguntarme.

Como candidato, no quería matar la conversación, por lo tanto, sigo preguntando sobre los proyectos que estaría manejando si fuera seleccionado y cuáles son las otras vacantes en la empresa. . Sin mencionar que la ronda de HR no fue difícil de romper y tuve la oportunidad.

También me gustaría agradecer a Avishek. y Ravi. (quien soy un amigo desde hace mucho tiempo) por tomarse el tiempo para documentar mi entrevista.

¡Amigos!. Si hubieran concedido una entrevista de este tipo y le gustaría compartir su experiencia con millones de Tecmint lectores de todo el mundo? luego envíe sus preguntas y respuestas a [email protected]. o puede enviar su experiencia de entrevista utilizando el siguiente formulario.

Comparta su experiencia de entrevista.

¡Gracias! Manténgase conectado. También avíseme si podría haber respondido una pregunta de manera más correcta que lo que hice.