13 Preguntes d'entrevista sobre Linux iptables Firewall


Nishita Agarwal, una visitant freqüent de Tecmint, ens va compartir la seva experiència (Preguntes i Respostes) sobre l'entrevista de feina que acabava de donar en una empresa d'allotjament de propietat privada a Pune, Índia. Se li van fer moltes preguntes sobre una varietat de temes, però és una experta en iptables i volia compartir aquestes preguntes i la seva resposta (ella va donar) relacionades amb iptables a altres persones que podrien donar una entrevista en un futur proper.

Totes les preguntes i la seva resposta es reescriuen a partir de la memòria de Nishita Agarwal.

\Hola amics! Em dic Nishita Agarwal. He cursat una llicenciatura en tecnologia. La meva àrea d'especialització és UNIX i les variants d'UNIX (BSD, Linux) em fascinen des del moment en què ho vaig sentir. Tinc més d'un any d'experiència. Estava buscant un canvi de feina que va acabar amb una empresa d'allotjament a Pune, Índia.

Aquí teniu el recull del que em van preguntar durant l'entrevista. Només he documentat aquelles preguntes i la seva resposta que estaven relacionades amb iptables segons la meva memòria. Espero que això us ajudi a resoldre la vostra entrevista.

Resposta: He estat utilitzant iptables durant força temps i sóc conscient tant d'iptables com del tallafoc. Iptables és un programa d'aplicació escrit principalment en llenguatge de programació C i es publica sota la llicència pública general de GNU. Escrit des del punt de vista de l'administració del sistema, l'última versió estable si iptables 1.4.21.iptables es pot considerar com un tallafoc per al sistema operatiu UNIX que es pot anomenar iptables/netfilter, amb més precisió. L'administrador interactua amb iptables mitjançant eines frontals de consola/GUI per afegir i definir regles de tallafoc en taules predefinides. Netfilter és un mòdul integrat dins del nucli que fa la feina de filtrar.

Firewalld és l'última implementació de les regles de filtratge a RHEL/CentOS 7 (pot ser implementat en altres distribucions de les quals potser no conec). Ha substituït la interfície d'iptables i es connecta a netfilter.

Resposta: Tot i que he utilitzat tant les eines frontals basades en la GUI per a iptables com Webmin a GUI i l'accés directe a iptables mitjançant la consola.I he d'admetre que l'accés directe a iptables a través de la consola Linux ofereix a l'usuari un poder immens en forma de major grau de flexibilitat i una millor comprensió del que està passant en segon pla, si no una altra cosa. La GUI és per a administradors novells mentre que la consola és per a experimentats.

Resposta: iptables i firewalld tenen el mateix propòsit (filtrat de paquets) però amb un enfocament diferent. iptables buida totes les regles establertes cada vegada que es fa un canvi a diferència de firewalld. Normalment, la ubicació de la configuració d'iptables es troba a '/etc/sysconfig/iptables', mentre que la configuració del tallafoc es troba a '/etc/firewalld/', que és un conjunt de fitxers XML.Configuració d'un tallafoc basat en XML. és més fàcil en comparació amb la configuració d'iptables, però la mateixa tasca es pot aconseguir amb l'aplicació de filtratge de paquets, és a dir, iptables i firewalld. Firewalld executa iptables sota el seu capó juntament amb la seva pròpia interfície de línia d'ordres i un fitxer de configuració basat en XML i esmentat anteriorment.

Resposta: Estic familiaritzat amb iptables i funciona i si no hi ha res que requereixi un aspecte dinàmic de firewalld, sembla que no hi ha cap motiu per migrar tota la meva configuració d'iptables a firewalld.En la majoria dels casos, fins ara no he vist mai que iptables creï un problema. També la regla general de tecnologia de la informació diu per què arreglar si no està trencat. Tanmateix, aquest és el meu pensament personal i no m'importaria implementar firewalld si l'organització va a substituir iptables per firewalld.

Quines són les taules utilitzades a iptables? Fes una breu descripció de les taules utilitzades en iptables i les cadenes que suporten.

Resposta: Gràcies pel reconeixement. Passant a la part de la pregunta, hi ha quatre taules utilitzades a iptables, és a dir, són:

  1. Taula Nat
  2. Taula Mangle
  3. Taula de filtres
  4. Taula en brut

Taula Nat: la taula Nat s'utilitza principalment per a la traducció d'adreces de xarxa. Els paquets enmascarats tenen la seva adreça IP alterada segons les regles de la taula. Els paquets del flux només travessen Nat Table una vegada. és a dir, si un paquet d'un jet de paquets és emmascarat, la resta dels paquets del flux no tornaran a travessar aquesta taula. Es recomana no filtrar en aquesta taula. Les cadenes suportades per la taula NAT són la cadena PREROUTING, la cadena POSTROUTING i la cadena OUTPUT.

Taula Mangle: Com el seu nom indica, aquesta taula serveix per manipular els paquets. S'utilitza per a l'alteració de paquets especials. Es pot utilitzar per alterar el contingut de diferents paquets i les seves capçaleres. La taula Mangle no es pot utilitzar per a la mascarada. Les cadenes admeses són la cadena PREROUTING, la cadena OUTPUT, la cadena cap endavant, la cadena INPUT i la cadena POSTROUTING.

Taula de filtres: la taula de filtres és la taula predeterminada que s'utilitza a iptables. S'utilitza per filtrar paquets. Si no hi ha regles definides, la taula de filtres es pren com a taula per defecte i el filtratge es fa a partir d'aquesta taula. Les cadenes compatibles són INPUT Chain, OUTPUT Chain, FORWARD Chain.

Taula en brut : la taula en brut entra en acció quan volem configurar paquets que estaven exempts anteriorment. Admet la cadena PREROUTING i la cadena OUTPUT.

Resposta: A continuació es mostren els valors objectiu que podem especificar a l'objectiu a iptables:

    1. ACCEPT: Accepteu paquets
    2. CUA : Paquet Paas a l'espai d'usuari (lloc on resideixen l'aplicació i els controladors)
    3. DROP: deixa anar paquets
    4. RETURN: torna el control a la cadena de trucades i deixa d'executar el següent conjunt de regles per als paquets actuals de la cadena.

    Com comprovareu els rpm d'iptables necessaris per instal·lar iptables a CentOS?.

    Resposta: iptables rpm s'inclouen a la instal·lació estàndard de CentOS i no cal que l'instal·lem per separat. Podem comprovar les rpm com:

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

    Si necessiteu instal·lar-lo, podeu fer yum per aconseguir-lo.

    # yum install iptables-services
    

    Resposta: Per comprovar l'estat d'iptables, podeu executar l'ordre següent al terminal.

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

    Si no s'està executant, es pot executar l'ordre següent.

    ---------------- On CentOS 6/5 ---------------- 
    # chkconfig --level 35 iptables on
    # service iptables start
    
    ---------------- On CentOS 7 ---------------- 
    # systemctl enable iptables 
    # systemctl start iptables 
    

    També podem comprovar si el mòdul iptables està carregat o no, com:

    # lsmod | grep ip_tables
    

    Resposta: Les regles actuals d'iptables es poden revisar tan senzillament com:

    # iptables -L
    

    Sortida de mostra

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
    ACCEPT     icmp --  anywhere             anywhere            
    ACCEPT     all  --  anywhere             anywhere            
    ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination         
    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    

    Resposta: Per esborrar una cadena d'iptables concreta, podeu utilitzar les ordres següents.

     
    # iptables --flush OUTPUT
    

    Per esborrar totes les regles d'iptables.

    # iptables --flush
    

    Resposta: L'escenari anterior es pot aconseguir simplement executant l'ordre següent.

    # iptables -A INPUT -s 192.168.0.7 -j ACCEPT 
    

    Podem incloure barra inclinada estàndard o màscara de subxarxa a la font com:

    # 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
    

    Resposta: Esperant que ssh s'executi al port 22, que també és el port predeterminat per a ssh, podem afegir una regla a iptables com:

    ACCEPTAR paquets tcp per al servei ssh (port 22).

    # iptables -A INPUT -s -p tcp --dport 22 -j ACCEPT 
    

    Rebutjar paquets tcp per al servei ssh (port 22).

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

    Per denegar paquets tcp per al servei ssh (port 22).

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

    Per eliminar paquets tcp per al servei ssh (port 22).

     
    # iptables -A INPUT -s -p tcp --dport 22 -j DROP
    

    Resposta: Bé, tot el que necessito utilitzar és l'opció 'multiport' amb iptables seguit dels números de port que cal bloquejar i l'escenari anterior es pot aconseguir d'una sola vegada.

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

    Les regles escrites es poden comprovar mitjançant l'ordre següent.

    # iptables -L
    
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
    ACCEPT     icmp --  anywhere             anywhere            
    ACCEPT     all  --  anywhere             anywhere            
    ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
    DROP       tcp  --  192.168.0.6          anywhere             multiport dports ssh,telnet,http,webcache
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination         
    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    

    Entrevistador: Això és tot el que volia preguntar. Ets un empleat valuós que no ens agradarà perdre't. Recomanaré el teu nom a RRHH. Si tens alguna pregunta em pots preguntar.

    Com a candidat, no volia acabar amb la conversa, per tant, segueixo preguntant sobre els projectes que m'encarregaria si fos seleccionat i quines són les altres obertures a l'empresa. Per no parlar de la ronda de recursos humans no va ser difícil de trencar i vaig tenir l'oportunitat.

    També m'agradaria donar les gràcies a Avishek i Ravi (de qui sóc amic des de fa temps) per haver dedicat el temps a documentar la meva entrevista.

    Amics! Si haguéssiu fet una entrevista d'aquest tipus i us agradaria compartir la vostra experiència d'entrevista a milions de lectors de Tecmint a tot el món? a continuació, envieu les vostres preguntes i respostes a [email  o podeu enviar la vostra experiència d'entrevista mitjançant el següent formulari.

    Gràcies! Mantingueu-vos connectats. També fes-me saber si podria haver respost una pregunta més correctament que el que vaig fer.