13 Interviewfragen zur Linux iptables Firewall


Nishita Agarwal, eine häufige Tecmint-Besucherin, teilte uns ihre Erfahrungen (Frage und Antwort) bezüglich des Vorstellungsgesprächs mit, das sie gerade in einem privaten Hosting-Unternehmen in Pune, Indien, gegeben hatte. Ihr wurden viele Fragen zu verschiedenen Themen gestellt, sie ist jedoch eine Expertin für Iptables und sie wollte diese Fragen und ihre Antwort (sie gab) in Bezug auf Iptables an andere weitergeben, die möglicherweise in naher Zukunft ein Interview geben werden.

Alle Fragen und ihre Antwort werden basierend auf der Erinnerung an Nishita Agarwal neu geschrieben.

"Hallo Freunde! Ich heiße Nishita Agarwal. Ich habe einen Bachelor-Abschluss in Technologie angestrebt. Mein Spezialgebiet ist UNIX und Varianten von UNIX (BSD, Linux) faszinieren mich seit ich es gehört habe. Ich habe 1+ Jahre Erfahrung in der Lagerung. Ich suchte nach einem Jobwechsel, der mit einem Hosting-Unternehmen in Pune, Indien, endete. “

Hier ist die Sammlung dessen, was ich während des Interviews gefragt wurde. Ich habe nur die Fragen und deren Antworten dokumentiert, die sich auf iptables bezogen, basierend auf meinem Gedächtnis. Ich hoffe, dies wird Ihnen helfen, Ihr Interview zu knacken.

Firewalld ist die neueste Implementierung von Filterregeln in RHEL/CentOS 7 (möglicherweise in anderen Distributionen implementiert, die mir möglicherweise nicht bekannt sind). Es hat die iptables-Schnittstelle ersetzt und stellt eine Verbindung zum Netzfilter her.

Welche Tabellen werden in iptables verwendet? Geben Sie eine kurze Beschreibung der in iptables verwendeten Tabellen und der von ihnen unterstützten Ketten.

  1. Nat Table
  2. Mangle Table
  3. Filter Table
  4. Raw Table

Nat-Tabelle: Die Nat-Tabelle wird hauptsächlich für die Netzwerkadressübersetzung verwendet. Bei maskierten Paketen wird die IP-Adresse gemäß den Regeln in der Tabelle geändert. Pakete im Stream durchlaufen Nat Table nur einmal. Das heißt, wenn ein Paket aus einem Paketstrahl maskiert wird, werden die restlichen Pakete im Stream diese Tabelle nicht erneut durchlaufen. Es wird empfohlen, in dieser Tabelle nicht zu filtern. Von NAT Table unterstützte Ketten sind PREROUTING Chain, POSTROUTING Chain und OUTPUT Chain.

Mangle-Tabelle: Wie der Name schon sagt, dient diese Tabelle zum Mangeln der Pakete. Es wird für spezielle Paketänderungen verwendet. Es kann verwendet werden, um den Inhalt verschiedener Pakete und deren Header zu ändern. Mangle-Tisch kann nicht zum Maskieren verwendet werden. Unterstützte Ketten sind PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain und POSTROUTING Chain.

Filtertabelle: Die Filtertabelle ist die Standardtabelle, die in iptables verwendet wird. Es wird zum Filtern von Paketen verwendet. Wenn keine Regeln definiert sind, wird die Filtertabelle als Standardtabelle verwendet und die Filterung erfolgt auf der Grundlage dieser Tabelle. Unterstützte Ketten sind INPUT Chain, OUTPUT Chain, FORWARD Chain.

Rohtabelle: Die Rohtabelle wird aktiviert, wenn wir Pakete konfigurieren möchten, die zuvor ausgenommen wurden. Es unterstützt PREROUTING Chain und OUTPUT Chain.

    1. ACCEPT : Accept Packets
    2. QUEUE : Paas Package to user space (place where application and drivers reside)
    3. DROP : Drop Packets
    4. RETURN : Return Control to calling chain and stop executing next set of rules for the current Packets in the chain.

    Wie überprüfen Sie die Drehzahl von iptables, die für die Installation von iptables in CentOS erforderlich ist?.

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

    Wenn Sie es installieren müssen, können Sie yum tun, um es zu bekommen.

    # yum install iptables-services
    

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

    Wenn es nicht ausgeführt wird, kann der folgende Befehl ausgeführt werden.

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

    Wir können auch prüfen, ob das iptables-Modul geladen ist oder nicht, wie folgt:

    # lsmod | grep ip_tables
    

    # iptables -L
    

    Beispielausgabe

    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
    

     
    # iptables --flush OUTPUT
    

    Alle iptables-Regeln spülen.

    # iptables --flush
    

    # iptables -A INPUT -s 192.168.0.7 -j ACCEPT 
    

    Wir können Standard-Schrägstriche oder Subnetzmasken in die Quelle aufnehmen als:

    # 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
    

    Akzeptieren von TCP-Paketen für den SSH-Dienst (Port 22).

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

    Zurückweisen von TCP-Paketen für den SSH-Dienst (Port 22).

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

    Verweigern von TCP-Paketen für den SSH-Dienst (Port 22).

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

    TCP-Pakete für den SSH-Dienst (Port 22) TROPFEN.

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

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

    Die geschriebenen Regeln können mit dem folgenden Befehl überprüft werden.

    # 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
    

    Interviewer: Das ist alles, was ich fragen wollte. Sie sind ein wertvoller Mitarbeiter, den wir nicht missen möchten. Ich werde Ihren Namen der Personalabteilung empfehlen. Wenn Sie Fragen haben, können Sie mich fragen.

    Als Kandidat wollte ich das Gespräch nicht beenden und frage daher immer wieder nach den Projekten, die ich bei Auswahl abwickeln würde, und nach den anderen Stellenangeboten im Unternehmen. Ganz zu schweigen von der HR-Runde, die nicht schwer zu knacken war, und ich bekam die Gelegenheit.

    Ich möchte auch Avishek und Ravi (mit denen ich seit langem befreundet bin) dafür danken, dass sie sich die Zeit genommen haben, mein Interview zu dokumentieren.

    Freunde! Wenn Sie ein solches Interview gegeben hätten und Ihre Interviewerfahrung Millionen von Tecmint-Lesern auf der ganzen Welt mitteilen möchten? Senden Sie dann Ihre Fragen und Antworten an [email protected] oder senden Sie Ihre Interviewerfahrung über das folgende Formular.

    Vielen Dank! In Verbindung bleiben. Lassen Sie mich auch wissen, ob ich eine Frage korrekter hätte beantworten können als das, was ich getan habe.