Zoeken op website

13 sollicitatievragen over Linux iptables Firewall


Nishita Agarwal, een frequente Tecmint-bezoeker deelde haar ervaring (vraag en antwoord) met ons over het sollicitatiegesprek dat ze zojuist had gegeven bij een particulier hostingbedrijf in Pune , India. Er werden veel vragen aan haar gesteld over een verscheidenheid aan onderwerpen, maar ze is een expert in iptables en ze wilde deze vragen en hun antwoord (ze gaf) met betrekking tot iptables delen met anderen die er misschien ook naartoe gaan geef binnenkort een interview.

Alle vragen en hun antwoorden zijn herschreven op basis van de herinnering aan Nishita Agarwal.

"Hallo vrienden! Mijn naam is Nishita Agarwal. Ik heb een bachelordiploma in technologie gevolgd. Mijn specialisatiegebied is UNIX en varianten van UNIX (BSD, Linux) fascineren mij sinds de tijd dat ik het hoorde. Ik heb meer dan 1 jaar ervaring in opslag. Ik was op zoek naar een baanverandering en eindigde bij een hostingbedrijf in Pune, India. ”

Hier is de verzameling van wat mij werd gevraagd tijdens het interview. Ik heb alleen die vragen en hun antwoorden gedocumenteerd die verband hielden met iptables op basis van mijn geheugen. Ik hoop dat dit je zal helpen bij het kraken van je interview.

1. Heb je gehoord van iptables en firewall in Linux? Enig idee wat ze zijn en waarvoor ze worden gebruikt?

Antwoord: Ik gebruik iptables al geruime tijd en ik ben op de hoogte van zowel iptables als firewall. Iptables is een applicatieprogramma dat grotendeels is geschreven in de programmeertaal C en is vrijgegeven onder de GNU General Public License. Geschreven voor systeembeheer, de nieuwste stabiele release als iptables 1.4.21.iptables kan worden beschouwd als een firewall voor UNIX-achtig besturingssysteem dat kan worden aangeroepen als iptables/netfilter, nauwkeuriger. De beheerder communiceert met iptables via console/GUI front-end tools om firewallregels toe te voegen en te definiëren in vooraf gedefinieerde tabellen. Netfilter is een module die in de kernel is ingebouwd en die het filterwerk uitvoert.

Firewalld is de nieuwste implementatie van filterregels in RHEL/CentOS 7 (mogelijk geïmplementeerd in andere distributies waarvan ik me misschien niet bewust ben). Het heeft de iptables-interface vervangen en maakt verbinding met netfilter.

2. Heb je een soort GUI-gebaseerde frontend-tool gebruikt voor iptables of de Linux Command Line?

Antwoord: Hoewel ik zowel de GUI-gebaseerde frontend-tools voor iptables zoals Shorewall heb gebruikt in de vervoeging van Webmin in GUI en directe toegang tot iptables via console.En ik moet geef toe dat directe toegang tot iptables via de Linux-console een gebruiker enorme macht geeft in de vorm van een hogere mate van flexibiliteit en een beter begrip van wat er op de achtergrond gebeurt, zo niet iets anders. GUI is voor beginnende beheerders, terwijl console voor ervaren beheerders is.

3. Wat zijn de fundamentele verschillen tussen iptables en firewalld?

Antwoord: iptables en firewalld dienen hetzelfde doel (Pakketfiltering) maar met een andere aanpak. iptables wist de volledige ingestelde regels telkens wanneer er een wijziging wordt aangebracht, in tegenstelling tot firewalld. Normaal gesproken ligt de locatie van de iptables-configuratie op '/etc/sysconfig/iptables', terwijl de firewalld-configuratie op '/etc/firewalld/' ligt, wat een set XML-bestanden is .Het configureren van een op XML gebaseerde firewalld is eenvoudiger in vergelijking met de configuratie van iptables, maar dezelfde taak kan worden bereikt met behulp van zowel de pakketfilterapplicatie, dwz iptables als firewalld. Firewalld draait iptables onder zijn motorkap samen met zijn eigen opdrachtregelinterface en configuratiebestand dat op XML is gebaseerd en hierboven vermeld.

4. Zou u iptables vervangen door firewalld op al uw servers, als u de kans krijgt?

Antwoord: Ik ben bekend met iptables en het werkt en als er niets is dat een dynamisch aspect van firewalld vereist, lijkt er geen reden om al mijn configuratie van iptables naar firewalld te migreren.

span>In de meeste gevallen heb ik tot nu toe nog nooit gezien dat iptables een probleem veroorzaakten. Ook de algemene regel van de informatietechnologie luidt: “waarom repareren als het niet kapot is”. Dit is echter mijn persoonlijke gedachte en ik zou het niet erg vinden om firewalld te implementeren als de organisatie iptables gaat vervangen door firewalld.

5. Je lijkt zelfverzekerd met iptables en het pluspunt is dat we zelfs iptables op onze server gebruiken.

Wat zijn de tabellen die in iptables worden gebruikt? Geef een korte beschrijving van de tabellen die in iptables worden gebruikt en de ketens die ze ondersteunen.

Antwoord: Bedankt voor de erkenning. We gaan naar het vraaggedeelte. Er worden vier tabellen gebruikt in iptables, namelijk:

  1. Nat tafel
  2. Mangel tafel
  3. Filtertabel
  4. Ruwe tafel

Nat-tabel: Nat-tabel wordt voornamelijk gebruikt voor netwerkadresvertaling. Bij gemaskeerde pakketten wordt het IP-adres gewijzigd volgens de regels in de tabel. Pakketten in de stream doorlopen de Nat Table slechts één keer. dat wil zeggen: als een pakket van een straal pakketten wordt gemaskeerd, zullen de overige pakketten in de stroom niet opnieuw door deze tabel gaan. Het wordt aanbevolen om in deze tabel niet te filteren. Ketens die door de NAT-tabel worden ondersteund, zijn PREROUTING-keten, POSTROUTING-keten en OUTPUT-keten.

Mangle Table: Zoals de naam al doet vermoeden, dient deze tabel voor het mangelen van de pakketten. Het wordt gebruikt voor speciale pakketwijzigingen. Het kan worden gebruikt om de inhoud van verschillende pakketten en hun headers te wijzigen. Mangeltafel kan niet worden gebruikt voor Masquerading. Ondersteunde ketens zijn PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain.

Filtertabel: Filtertabel is de standaardtabel die in iptables wordt gebruikt. Het wordt gebruikt voor het filteren van pakketten. Als er geen regels zijn gedefinieerd, wordt de Filtertabel als standaardtabel genomen en wordt op basis van deze tabel gefilterd. Ondersteunde ketens zijn INPUT-keten, OUTPUT-keten, FORWARD-keten.

Raw Table: Raw-tabel komt in actie wanneer we pakketten willen configureren die eerder waren vrijgesteld. Het ondersteunt PREROUTING Chain en OUTPUT Chain.

6. Wat zijn de doelwaarden (die kunnen worden gespecificeerd in target) in iptables en wat ze doen, houd het kort!

Antwoord: Hierna volgen de doelwaarden die we in target in iptables kunnen specificeren:

    1. ACCEPTEREN: pakketten accepteren
    2. WACHTRIJ: Paas-pakket naar gebruikersruimte (plaats waar de applicatie en stuurprogramma's zich bevinden)
    3. DROP: pakketten laten vallen
    4. RETURN: geef de controle terug aan de aanroepende keten en stop met het uitvoeren van de volgende set regels voor de huidige pakketten in de keten.
7. Laten we overgaan tot de technische aspecten van iptables, met technisch bedoel ik praktisch.

Hoe controleer je de iptables-rpm die nodig is om iptables in CentOS te installeren?

Antwoord: iptables rpm zijn opgenomen in de standaard CentOS-installatie en we hoeven deze niet apart te installeren. We kunnen het toerental als volgt controleren:

rpm -qa iptables

iptables-1.4.21-13.el7.x86_64

Als je het moet installeren, kun je er alles aan doen om het te krijgen.

yum install iptables-services
8. Hoe controleer ik of de iptables-service actief is?

Antwoord: Om de status van iptables te controleren, kunt u de volgende opdracht op de terminal uitvoeren.

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

Als het niet actief is, kan het onderstaande commando worden uitgevoerd.

---------------- On CentOS 6/5 ---------------- 
chkconfig --level 35 iptables on
service iptables start

---------------- On CentOS 7 ---------------- 
systemctl enable iptables 
systemctl start iptables 

We kunnen ook controleren of de iptables-module is geladen of niet, zoals:

lsmod | grep ip_tables
9. Hoe gaat u de huidige regels, gedefinieerd in iptables, beoordelen?

Antwoord: De huidige regels in iptables kunnen zo eenvoudig worden bekeken als:

iptables -L

Voorbeelduitvoer

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. Hoe ga je alle iptables-regels of een bepaalde keten doorspoelen?

Antwoord: Om een bepaalde iptables-keten leeg te maken, kunt u de volgende opdrachten gebruiken.

 
iptables --flush OUTPUT

Om alle iptables-regels leeg te maken.

iptables --flush
11. Voeg een regel toe in iptables om pakketten van een vertrouwd IP-adres te accepteren (bijvoorbeeld 192.168.0.7)

Antwoord: Het bovenstaande scenario kan eenvoudig worden bereikt door de onderstaande opdracht uit te voeren.

iptables -A INPUT -s 192.168.0.7 -j ACCEPT 

We kunnen een standaard slash of subnetmasker in de bron opnemen 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
12. Hoe u regels toevoegt aan de ACCEPT, REJECT, DENY en DROP ssh-service in iptables.

Antwoord: In de hoop dat ssh op poort 22 draait, wat ook de standaardpoort voor ssh is, kunnen we een regel aan iptables toevoegen als:

Om TCP-pakketten te ACCEPTEREN voor de ssh-service (poort 22).

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

Om tcp-pakketten voor ssh-service (poort 22) te weigeren.

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

Om TCP-pakketten te DENY voor de ssh-service (poort 22).

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

Om TCP-pakketten te DROP voor de ssh-service (poort 22).

 
iptables -A INPUT -s -p tcp --dport 22 -j DROP
13. Laat me je een scenario geven. Stel dat er een machine is waarvan het lokale IP-adres 192.168.0.6 is. U moet verbindingen op poort 21, 22, 23 en 80 met uw machine blokkeren. Wat ga je doen?

Antwoord: Het enige dat ik hoef te gebruiken is de optie 'multiport' met iptables gevolgd door poortnummers die moeten worden geblokkeerd en het bovenstaande scenario kan in één keer worden bereikt als .

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

De geschreven regels kunnen worden gecontroleerd met behulp van het onderstaande commando.

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: Dat is alles wat ik wilde vragen. Je bent een waardevolle medewerker die wij niet graag willen missen. Ik zal uw naam aanbevelen aan de HR. Als u vragen heeft, kunt u deze aan mij stellen.

Als kandidaat wilde ik het gesprek niet om zeep helpen. Daarom blijf ik vragen naar de projecten die ik zou behandelen als ik geselecteerd zou worden en wat de andere vacatures in het bedrijf zijn. Om nog maar te zwijgen van het feit dat de HR-ronde niet moeilijk te kraken was en ik kreeg de kans.

Ook wil ik Avishek en Ravi (met wie ik al lang een vriend ben) bedanken voor het nemen van de tijd om mijn interview vast te leggen.

Vrienden! Als u een dergelijk interview heeft gegeven en u uw interviewervaring wilt delen met miljoenen Tecmint-lezers over de hele wereld? Stuur vervolgens uw vragen en antwoorden naar [email of u kunt uw interviewervaring doorgeven via het volgende formulier.

Bedankt! Blijf verbonden. Laat me ook weten of ik een vraag beter had kunnen beantwoorden dan wat ik heb gedaan.