Website-Suche

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 bei einem privaten Hosting-Unternehmen in Pune gegeben hatte , Indien. Ihr wurden viele Fragen zu den unterschiedlichsten Themen gestellt, sie ist jedoch eine Expertin für iptables und sie wollte diese Fragen und ihre Antworten (sie gab sie) im Zusammenhang mit iptables mit anderen teilen, die es vielleicht tun werden Gib in naher Zukunft ein Interview.

Alle Fragen und ihre Antworten wurden basierend auf der Erinnerung an Nishita Agarwal neu geschrieben.

"Hallo Freunde! Mein Name ist Nishita Agarwal. Ich habe einen Bachelor-Abschluss in Technologie erworben. Mein Spezialgebiet ist UNIX und UNIX-Varianten (BSD, Linux) und fasziniert mich, seit ich davon gehört habe. Ich habe mehr als ein Jahr Erfahrung im Lagerbereich. Ich war auf der Suche nach einem Jobwechsel, der mit einem Hosting-Unternehmen in Pune, Indien, endete. ”

Hier ist die Sammlung der Fragen, die mir während des Interviews gestellt wurden. Ich habe aufgrund meiner Erinnerung nur die Fragen und deren Antworten dokumentiert, die sich auf iptables bezogen. Ich hoffe, dies wird Ihnen dabei helfen, Ihr Vorstellungsgespräch zu meistern.

1. Haben Sie schon von iptables und Firewall unter Linux gehört? Haben Sie eine Vorstellung davon, was sie sind und wofür sie verwendet werden?

Antwort: Ich verwende iptables schon ziemlich lange und kenne sowohl iptables als auch die Firewall. Iptables ist ein Anwendungsprogramm, das größtenteils in der Programmiersprache C geschrieben ist und unter der GNU General Public License veröffentlicht wird. Aus Sicht der Systemadministration geschrieben, die neueste stabile Version von iptables 1.4.21.iptables kann als Firewall für UNIX-ähnliche Betriebssysteme betrachtet werden, die als < bezeichnet werden könneniptables/netfilter, genauer gesagt. Der Administrator interagiert mit iptables über Konsolen-/GUI-Frontend-Tools, um Firewall-Regeln in vordefinierten Tabellen hinzuzufügen und zu definieren. Netfilter ist ein im Kernel integriertes Modul, das die Filterung übernimmt.

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 zu Netfilter her.

2. Haben Sie ein GUI-basiertes Frontend-Tool für iptables oder die Linux-Befehlszeile verwendet?

Antwort: Obwohl ich sowohl die GUI-basierten Front-End-Tools für iptables wie Shorewall in der Konjugation von Webmin in der GUI als auch den direkten Zugriff auf iptables über die Konsole verwendet habe.Und ich muss Geben Sie zu, dass der direkte Zugriff auf iptables über die Linux-Konsole dem Benutzer enorme Möglichkeiten in Form eines höheren Maßes an Flexibilität und eines besseren Verständnisses dessen, was im Hintergrund vor sich geht, oder gar nichts anderem bietet. Die GUI ist für unerfahrene Administratoren gedacht, während die Konsole für erfahrene Administratoren gedacht ist.

3. Was sind die grundlegenden Unterschiede zwischen iptables und firewalld?

Antwort: iptables und firewalld dienen demselben Zweck (Paketfilterung), jedoch mit unterschiedlichem Ansatz. Im Gegensatz zu Firewalld löscht iptables jedes Mal den gesamten Regelsatz, wenn eine Änderung vorgenommen wird. Normalerweise liegt der Speicherort der iptables-Konfiguration unter „/etc/sysconfig/iptables“, während die Firewalld-Konfiguration unter „/etc/firewalld/“ liegt, bei dem es sich um eine Reihe von XML-Dateien handelt .Die Konfiguration einer XML-basierten Firewall ist im Vergleich zur Konfiguration von iptables einfacher, die gleiche Aufgabe kann jedoch mit der Paketfilteranwendung, d. h. iptables und firewalld, erreicht werden. Firewalld führt iptables unter seiner Haube zusammen mit seiner eigenen Befehlszeilenschnittstelle und Konfigurationsdatei aus, die wie oben beschrieben auf XML basiert.

4. Würden Sie iptables auf allen Ihren Servern durch firewalld ersetzen, wenn Sie die Möglichkeit dazu hätten?

Antwort: Ich bin mit iptables vertraut und es funktioniert, und wenn es nichts gibt, was den dynamischen Aspekt von firewalld erfordert, scheint es keinen Grund zu geben, meine gesamte Konfiguration von iptables auf firewalld zu migrieren.In den meisten Fällen habe ich bisher noch nie gesehen, dass iptables ein Problem verursacht. Auch die allgemeine Regel der Informationstechnologie lautet: „Warum reparieren, wenn es nicht kaputt ist?“ Dies ist jedoch meine persönliche Meinung und es würde mir nichts ausmachen, firewalld zu implementieren, wenn die Organisation iptables durch firewalld ersetzen möchte.

5. Sie scheinen mit iptables vertraut zu sein und der Pluspunkt ist, dass sogar wir iptables auf unserem Server verwenden.

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

Antwort: Danke für die Anerkennung. Kommen wir zum Fragenteil: In iptables werden vier Tabellen verwendet, nämlich:

  1. Nat-Tisch
  2. Mangle-Tisch
  3. Filtertabelle
  4. Roher Tisch

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 die Nat-Tabelle nur einmal. Das heißt, wenn ein Paket aus einem Paketstrahl maskiert wird, durchlaufen die restlichen Pakete im Stream diese Tabelle nicht erneut. Es wird empfohlen, in dieser Tabelle nicht zu filtern. Von der NAT-Tabelle unterstützte Ketten sind PREROUTING Chain, POSTROUTING Chain und OUTPUT Chain.

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

Filtertabelle: 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 Grundlage dieser Tabelle. Unterstützte Ketten sind INPUT Chain, OUTPUT Chain, FORWARD Chain.

Raw Table: Die Raw-Tabelle kommt zum Einsatz, wenn wir Pakete konfigurieren möchten, die zuvor ausgenommen wurden. Es unterstützt PREROUTING Chain und OUTPUT Chain.

6. Was sind die Zielwerte (die in target angegeben werden können) in iptables und was sie bewirken, fassen Sie sich kurz!

Antwort: Folgend sind die Zielwerte, die wir in target in iptables angeben können:

    1. AKZEPTIEREN: Pakete akzeptieren
    2. QUEUE: Paas-Paket an den Benutzerbereich (Ort, an dem sich Anwendung und Treiber befinden)
    3. DROP: Pakete verwerfen
    4. RETURN: Gibt die Kontrolle an die Aufrufkette zurück und stoppt die Ausführung des nächsten Regelsatzes für die aktuellen Pakete in der Kette.
7. Kommen wir zu den technischen Aspekten von iptables. Mit technisch meine ich praktisch.

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

Antwort: iptables rpm sind in der Standardinstallation von CentOS enthalten und müssen nicht separat installiert werden. Wir können die Drehzahl wie folgt überprüfen:

rpm -qa iptables

iptables-1.4.21-13.el7.x86_64

Wenn Sie es installieren müssen, können Sie es einfach herunterladen.

yum install iptables-services
8. Wie kann überprüft und sichergestellt werden, ob der iptables-Dienst ausgeführt wird?

Antwort: Um den Status von iptables zu überprüfen, können Sie den folgenden Befehl auf dem Terminal ausführen.

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
9. Wie werden Sie die aktuellen Regeln überprüfen, die in iptables definiert sind?

Antwort: Die aktuellen Regeln in iptables können so einfach überprüft werden wie:

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
10. Wie löschen Sie alle Iptables-Regeln oder eine bestimmte Kette?

Antwort: Um eine bestimmte iptables-Kette zu leeren, können Sie die folgenden Befehle verwenden.

 
iptables --flush OUTPUT

Um alle Iptables-Regeln zu löschen.

iptables --flush
11. Fügen Sie in iptables eine Regel hinzu, um Pakete von einer vertrauenswürdigen IP-Adresse zu akzeptieren (z. B. 192.168.0.7).

Antwort: Das obige Szenario kann einfach durch Ausführen des folgenden Befehls erreicht werden.

iptables -A INPUT -s 192.168.0.7 -j ACCEPT 

Wir können einen Standard-Schrägstrich oder eine Subnetzmaske in die Quelle einfügen wie folgt:

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. So fügen Sie Regeln zum ACCEPT-, REJECT-, DENY- und DROP-SSH-Dienst in iptables hinzu.

Antwort: In der Hoffnung, dass SSH auf Port 22 läuft, der auch der Standardport für SSH ist, können wir iptables folgende Regel hinzufügen:

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

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

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

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

Um TCP-Pakete für den SSH-Dienst (Port 22) zu ablehnen.

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

Zum LÖSCHEN von TCP-Paketen für den SSH-Dienst (Port 22).

 
iptables -A INPUT -s -p tcp --dport 22 -j DROP
13. Lassen Sie mich Ihnen ein Szenario vorstellen. Angenommen, es gibt einen Computer, dessen lokale IP-Adresse 192.168.0.6 lautet. Sie müssen Verbindungen an den Ports 21, 22, 23 und 80 zu Ihrem Computer blockieren. Was werden Sie tun?

Antwort: Nun, alles, was ich verwenden muss, ist die Option „multiport“ mit iptables, gefolgt von den zu blockierenden Portnummern, und das obige Szenario kann in einem einzigen Durchgang erreicht werden .

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 diese gerne an mich stellen.

Als Kandidat wollte ich das Gespräch nicht zerstören und frage daher immer wieder nach den Projekten, die ich im Falle meiner Auswahl übernehmen würde, und nach den anderen offenen Stellen im Unternehmen. Ganz zu schweigen davon, dass die HR-Runde nicht schwer zu knacken war und ich die Gelegenheit bekam.

Außerdem möchte ich 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 gerne mit Millionen von Tecmint-Lesern auf der ganzen Welt teilen würden? Senden Sie dann Ihre Fragen und Antworten an [email  oder übermitteln Sie Ihre Erfahrungen im Vorstellungsgespräch über das folgende Formular.

Danke schön! Bleiben Sie in Verbindung. Lassen Sie mich auch wissen, ob ich eine Frage besser hätte beantworten können, als ich es getan habe.