Nishita Agarwal comparte su experiencia de entrevista en el firewall de Linux 'iptables'

Nishita Agarwal comparte su experiencia de entrevista en el firewall de Linux 'iptables'

Nishita Agarwal, un frecuente Visitante compartió su experiencia (pregunta y respuesta) con nosotros con respecto a la entrevista de trabajo que acababa de dar en una empresa de alojamiento de propiedad privada en Pune, India. Le hicieron muchas preguntas sobre una variedad de temas, sin embargo, es una experta en iptables y ella quería compartir esas preguntas y su respuesta (ella dio) relacionada con iptables a otros que podrían dar una entrevista en un futuro cercano.

Todas las preguntas y su respuesta se reescriben en función del recuerdo de Nishita Agarwal.

"Hola amigos! Mi nombre es Nishita Agarwal. He seguido una licenciatura en tecnología. Mi área de especialización es unix y variantes de Unix (BSD, Linux) me fascina desde el momento en que lo escuché. Tengo más de 1 años de experiencia en almacenamiento. Estaba buscando un cambio de trabajo que terminó con una empresa de alojamiento en Pune, India."

Aquí está la colección de lo que me pidieron durante la entrevista. He documentado solo esas preguntas y su respuesta que estaban relacionadas con iptables basadas en mi memoria. Espero que esto te ayude a romper tu entrevista.

1. ¿Has oído hablar de iptables y firewall en Linux?? Cualquier idea de lo que son y de lo que se usa?

Respuesta : He estado usando iptables durante bastante tiempo y soy consciente de iptables y 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 de GNU. Escrito para el punto de vista de la administración del sistema, la última versión estable si iptables 1.4.21.Los iptables pueden considerarse como firewall para unix como un sistema operativo que se puede llamar como iptables/netfilter, con más precisión. El administrador interactúa con iptables a través de herramientas frontales de consola/GUI para agregar y definir reglas de firewall en tablas predefinidas. NetFilter es un módulo construido dentro del núcleo que hace el trabajo de filtrar.

Cortafuegos es la última implementación de las reglas de filtrado en Rhel/Centos 7 (puede implementarse en otras distribuciones de las que no puedo ser consciente). Ha reemplazado la interfaz iptable y se conecta a NetFilter.

2. ¿Has utilizado algún tipo de herramienta frontal basada en GUI para iptables o la línea de comandos de Linux??

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

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

Respuesta : iptables y firewalld tiene el mismo propósito (Filtrado de paquetes) pero con un enfoque diferente. iptables enjuague todas las reglas establecidas cada vez que se realiza un cambio a diferencia de Firewalld. Por lo general, 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.Configuración de 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 utilizando la aplicación de filtrado de paquetes, es decir,., iptables y firewalld. Firewalld ejecuta iptables debajo de su capó junto con su propia interfaz de línea de comandos y archivo de configuración que se basa en XML y se dice anteriormente.

4. ¿Reemplazarías iptables con firewalld en todos tus servidores??

Respuesta : Estoy familiarizado con iptables y está funcionando y si no hay nada que requiera un aspecto dinámico de Firewalld, no parece que no hay razón para migrar toda mi configuración de iptables a Firewalld.En la mayoría de los casos, hasta ahora nunca he visto iptables creando un problema. Además, la regla general de la tecnología de la información dice "¿por qué arreglar si no se rompe"?. Sin embargo, este es mi pensamiento personal y no me importaría implementar Firewalld si la organización va a reemplazar a Iptables con Firewalld.

5. Parece confiado con iptables y el punto más es que incluso estamos usando iptables en nuestro servidor.

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

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

  1. Mesa nat
  2. Manglar la mesa
  3. Mesa de filtro
  4. Mesa cruda

Mesa nat : La tabla NAT se utiliza principalmente para la traducción de direcciones de red. Los paquetes disfrazados obtienen su dirección IP alterada según las reglas de la tabla. Paquetes en la tabla NAT transversal de la corriente solo una vez. es decir., Si se hace pasar un paquete de un chorro de paquetes, el resto de los paquetes en la corriente no volverá a atravesar esta mesa. Se recomienda no filtrar en esta tabla. Las cadenas compatibles con la tabla NAT son la cadena de preverratación, la cadena posterior y la cadena de salida.

Manglar la mesa : Como su nombre indica, esta tabla sirve para destrozar los paquetes. Se usa para alteración especial del paquete. Se puede usar para alterar el contenido de diferentes paquetes y sus encabezados. Mangle Table no se puede usar para disfrazar. Las cadenas compatibles son la cadena de previa, la cadena de salida, la cadena hacia adelante, la cadena de entrada, la cadena posterior a.

Mesa de filtro : La tabla de filtro es la tabla predeterminada utilizada en iptables. Se usa para filtrar paquetes. Si no se definen reglas, la tabla del filtro se toma como tabla predeterminada y el filtrado se realiza sobre la base de esta tabla. Las cadenas compatibles son cadena de entrada, cadena de salida, cadena hacia adelante.

Mesa cruda : La tabla sin procesar entra en acción cuando queremos configurar paquetes que estuvieron exentos antes. Admite la cadena de preunción y la cadena de salida.

6. ¿Cuáles son los valores objetivo (que se pueden especificar en el objetivo) en iptables y qué hacen?!

Respuesta : Los siguientes son los valores de destino que podemos especificar en Target en iptables:

    1. ACEPTAR : Aceptar paquetes
    2. COLA : Paquete PAAS al espacio de usuario (lugar donde residen la aplicación y los controladores)
    3. GOTA : Drop Packets
    4. DEVOLVER : Devuelva el control a la cadena de llamadas y deje de ejecutar el siguiente conjunto de reglas para los paquetes actuales en la cadena.
7. Pasemos a los aspectos técnicos de los iptables, por técnico, me refiero a.

¿Cómo verificará 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 necesitamos instalarlo por separado. Podemos verificar las RPM como:

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

Si necesita instalarlo, puede hacer un Yum para obtenerlo.

# yum instalación iptables-services 
8. Cómo verificar y asegurar si el servicio iptable se está ejecutando?

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

# Servicio Estado de iptables [en CentOS 6/5] # SystemCtl Status iPtables [en Centos 7] 

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

---------------- En Centos 6/5 ---------------- # chkconfig -nivel 35 iptables en # servicio iptables comenzar ---------------- En Centos 7 ---------------- # SystemCTL Habilitar iptables # SystemCtl Inicio iptables 

También podemos verificar si el módulo iptable 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 pueden revisarse tan simples como:

# iptables -l 

Salida de muestra

Entrada de la cadena (Aceptación de política) Target ProPT OPT Fuente Destino Aceptar todo, en cualquier lugar en cualquier lugar relacionado con el estado, Aceptar ICMP, en cualquier lugar, Acepte todo, en cualquier lugar, Acepte TCP, en cualquier lugar en cualquier lugar, estate el nuevo TCP DPT: SSH Rechazo All - en cualquier lugar en cualquier lugar que rechace con ICMP-Host Prohibited Chain Forward (Policy Acept) Destino de origen de protección de protección de protección de protección All-En cualquier lugar en cualquier lugar de rechazo con ICMP-Host Prohibited Prohibited de la cadena (Aceptación de la política) Destino de origen de la fuente de protección OPT 
10. ¿Cómo van a descargar todas las reglas iptables o una cadena en particular??

Respuesta : Para descargar una cadena iptable en particular, puede usar los siguientes comandos.

 # iptables -salida de flujo 

Para enjuagar todas las reglas iptables.

# iptables - -Flush 
11. Agregue una regla en iptables para aceptar paquetes de una dirección IP de confianza (digamos 192.168.0.7)

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

# iptables -A entrada -s 192.168.0.7 -J aceptar 

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

# iptables -A entrada -s 192.168.0.7/24 -J Aceptar # iptables -A Entrada -S 192.168.0.7/255.255.255.0 -J aceptar 
12. Cómo agregar reglas para aceptar, rechazar, negar y soltar el servicio SSH en iptables.

Respuesta : Esperando que SSH se esté ejecutando en el puerto 22, que también es el puerto predeterminado para SSH, podemos agregar la regla a iptables como:

A ACEPTAR paquetes TCP para el servicio SSH (puerto 22).

# iptables -a input -s -p tcp --dport 22 -j aceptar 

A RECHAZAR paquetes TCP para el servicio SSH (puerto 22).

# iptables -a input -s -p tcp --dport 22 -j rechazar 

A DENEGAR paquetes TCP para el servicio SSH (puerto 22).

 # iptables -a input -s -p tcp --dport 22 -j negar 

A GOTA 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. Necesita bloquear las conexiones en el puerto 21, 22, 23 y 80 a su máquina. Qué vas a hacer?

Respuesta : Bueno, todo lo que necesito usar es el 'múltiples'Opción con iptables seguido de números de puerto que se bloquearán y el escenario anterior se puede lograr en una sola Go como.

# iptables -A entrada -s 192.168.0.6 -p TCP -M Multiport --Dport 21,22,23,80 -J Drop 

Las reglas escritas se pueden verificar utilizando el siguiente comando.

# IPTables -L Entrada de la cadena (Aceptación de política) Target ProPT OPT Fuente Destino Acepta todo -en cualquier lugar Relacionado en cualquier lugar Relacionado con el estado Aceptar ICMP -en cualquier lugar Acepta todo -en cualquier lugar Acepta TCP -en cualquier lugar en cualquier lugar Estado nuevo TCP DPT: SSH Rechazo Todos-en cualquier lugar en cualquier lugar rechazar con ICMP-Host Prohibited Drop TCP-192.168.0.6 en cualquier lugar Multiport dports ssh, telnet, http, webcache cadena avance (aceptación de la política) objetivo de protección de protección de protección de la fuente rechazar todo-en cualquier lugar en cualquier lugar que rechace la salida de la cadena de la cadena prohibida de ICMP (aceptación de la política) destino de la fuente de protección de protección de protección 

Entrevistador : Eso es todo lo que quería preguntar. Eres un empleado valioso que no nos gustaría perder. Recomendaré tu nombre a la RRHH. Si tiene alguna pregunta, puede hacerme.

Como candidato, no quería matar la conversación, por lo tanto, siga preguntando sobre los proyectos que manejaría si se selecciona y cuáles son las otras aperturas de la compañía. Sin mencionar que la ronda de recursos humanos no fue difícil de descifrar y tuve la oportunidad.

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

Amigos! Si hubiera dado una entrevista de este tipo y le gustaría compartir su experiencia de entrevista con millones de lectores de Tecmint en todo el mundo? Luego envíe sus preguntas y respuestas a [correo electrónico protegido] o puede enviar su experiencia de entrevista utilizando el siguiente formulario.

Comparte la experiencia de tu entrevista

Gracias! Mantener conectado. También avíseme si podría haber respondido una pregunta más correctamente que lo que hice.