13 Intervjuspørsmål om Linux iptables-brannmur


Nishita Agarwal, en hyppig Tecmint-besøkende delte sin erfaring (spørsmål og svar) med oss angående jobbintervjuet hun nettopp hadde gitt i et privateid vertsselskap i Pune , India. Hun ble stilt mange spørsmål om en rekke emner, men hun er en ekspert på iptables, og hun ønsket å dele disse spørsmålene og svaret deres (hun ga) relatert til iptables til andre som kanskje kommer til å gi intervju i nær fremtid.

Alle spørsmålene og deres svar er skrevet om basert på minnet om Nishita Agarwal.

"Hei venner! Mitt navn er Nishita Agarwal. Jeg har tatt en bachelorgrad i teknologi. Spesialiseringsområdet mitt er UNIX og Varianter av UNIX (BSD, Linux) har fascinert meg siden jeg hørte det. Jeg har 1+ års erfaring med lagring. Jeg var på utkikk etter en jobbbytte som endte med et hostingselskap i Pune, India. ”

Her er samlingen av det jeg ble spurt om under intervjuet. Jeg har kun dokumentert de spørsmålene og svaret deres som var relatert til iptables basert på hukommelsen min. Håper dette vil hjelpe deg med å knekke intervjuet ditt.

1. Har du hørt om iptables og brannmur i Linux? Noen ide om hva de er og hva de brukes til?

Svar : Jeg har brukt iptables i ganske lang tid, og jeg er klar over både iptables og brannmur. Iptables er et applikasjonsprogram som for det meste er skrevet i programmeringsspråk C og er utgitt under GNU General Public License. Skrevet for systemadministrasjonssynspunkt, den siste stabile utgivelsen hvis iptables 1.4.21.iptables kan betraktes som brannmur for UNIX-lignende operativsystem som kan kalles som iptables/netfilter, mer nøyaktig. Administratoren samhandler med iptables via konsoll/GUI-grensesnittverktøy for å legge til og definere brannmurregler i forhåndsdefinerte tabeller. Netfilter er en modul bygget inne i kjernen som gjør jobben med å filtrere.

Brannmur er den siste implementeringen av filtreringsregler i RHEL/CentOS 7 (kan være implementert i andre distribusjoner som jeg kanskje ikke er klar over). Den har erstattet iptables-grensesnittet og kobles til netfilter.

2. Har du brukt et slags GUI-basert grensesnittverktøy for iptables eller Linux-kommandolinjen?

Svar : Selv om jeg har brukt både GUI-baserte grensesnittverktøy for iptables som Shorewall i konjugering av Webmin i GUI og direkte tilgang til iptables via konsollen.Og jeg må innrømme at direkte tilgang til iptables via Linux-konsollen gir en bruker enorm kraft i form av høyere grad av fleksibilitet og bedre forståelse av hva som foregår i bakgrunnen, om ikke noe annet. GUI er for nybegynnere administratorer mens konsollen er for erfarne.

3. Hva er de grunnleggende forskjellene mellom iptables og brannmur?

Svar : iptables og brannmur tjener samme formål (pakkefiltrering), men med en annen tilnærming. iptables tømmer hele reglene hver gang en endring gjøres i motsetning til brannmur. Plasseringen av iptables-konfigurasjonen ligger vanligvis ved «/etc/sysconfig/iptables», mens brannmurkonfigurasjonen ligger ved «/etc/firewalld/», som er et sett med XML-filer .Å konfigurere en XML-basert brannmur er enklere sammenlignet med konfigurering av iptables, men samme oppgave kan oppnås ved å bruke både pakkefiltreringsapplikasjonen, dvs. iptables og brannmur. Firewalld kjører iptables under panseret sammen med sitt eget kommandolinjegrensesnitt og konfigurasjonsfil som er XML-basert og nevnt ovenfor.

4. Ville du erstattet iptables med brannmur på alle serverne dine, hvis du får en sjanse?

Svar : Jeg er kjent med iptables og det fungerer, og hvis det ikke er noe som krever et dynamisk aspekt av brannmuren, ser det ikke ut til at det er noen grunn til å migrere all konfigurasjonen min fra iptables til brannmuren.I de fleste tilfellene har jeg så langt aldri sett iptables skape et problem. Også den generelle regelen for informasjonsteknologi sier "hvorfor fikse hvis den ikke er ødelagt". Men dette er min personlige tanke, og jeg ville aldri ha noe imot å implementere brannmur hvis organisasjonen skal erstatte iptables med brannmur.

5. Du virker trygg på iptables, og plusspunktet er at vi bruker iptables på serveren vår.

Hva er tabellene som brukes i iptables? Gi en kort beskrivelse av tabellene som brukes i iptables og kjedene de støtter.

Svar : Takk for anerkjennelsen. Går til spørsmålsdelen. Det er fire tabeller som brukes i iptables, nemlig de er:

  1. Nat Table
  2. Mangle bord
  3. Filtertabell
  4. Rå bord

Nat-tabell : Nat-tabell brukes først og fremst for nettverksadresseoversettelse. Maskerade pakker får IP-adressen deres endret i henhold til reglene i tabellen. Pakker i strømmen går bare gjennom Nat-tabellen én gang. dvs., hvis en pakke fra en jet med pakker maskeres, vil de resten av pakkene i strømmen ikke gå gjennom denne tabellen igjen. Det anbefales å ikke filtrere i denne tabellen. Kjeder som støttes av NAT-tabellen er PREROUTING Chain, POSTROUTING Chain og OUTPUT Chain.

Mangle Table : Som navnet antyder, tjener denne tabellen for mangling av pakkene. Den brukes til spesialpakkeendring. Den kan brukes til å endre innholdet i forskjellige pakker og deres overskrifter. Manglebord kan ikke brukes til maskering. Støttede kjeder er PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain.

Filtertabell : Filtertabell er standardtabellen som brukes i iptables. Den brukes til å filtrere pakker. Hvis ingen regler er definert, tas Filter Table som standardtabell og filtrering gjøres på grunnlag av denne tabellen. Støttede kjeder er INPUT Chain, OUTPUT Chain, FORWARD Chain.

Råtabell : Råtabell kommer i bruk når vi ønsker å konfigurere pakker som ble unntatt tidligere. Den støtter PREROUTING Chain og OUTPUT Chain.

6. Hva er målverdiene (som kan spesifiseres i mål) i iptables og hva de gjør, vær kort!

Svar : Følgende er målverdiene som vi kan spesifisere i mål i iptables:

    1. GODKJEN : Godta pakker
    2. : Paas-pakke til brukerplass (sted der applikasjoner og drivere ligger)
    3. DROP : Slipp pakker
    4. RETURN : Returner kontrollen til ringekjeden og stopp utføringen av neste sett med regler for gjeldende pakker i kjeden.
7. La oss gå over til de tekniske aspektene ved iptables, med teknisk betyr jeg praktisk.

Hvordan vil du sjekke iptables rpm som kreves for å installere iptables i CentOS?.

Svar : iptables rpm er inkludert i standard CentOS-installasjon og vi trenger ikke å installere det separat. Vi kan sjekke turtallet som:

rpm -qa iptables

iptables-1.4.21-13.el7.x86_64

Hvis du trenger å installere det, kan du gjøre yum for å få det.

yum install iptables-services
8. Hvordan sjekke og sikre at iptables-tjenesten kjører?

Svar : For å sjekke statusen til iptables kan du kjøre følgende kommando på terminalen.

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

Hvis den ikke kjører, kan kommandoen nedenfor utføres.

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

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

Vi kan også sjekke om iptables-modulen er lastet eller ikke, som:

lsmod | grep ip_tables
9. Hvordan vil du gjennomgå de gjeldende reglene definert i iptables?

Svar : De gjeldende reglene i iptables kan gjennomgås så enkelt som:

iptables -L

Eksempelutdata

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. Hvordan vil du tømme alle iptables-regler eller en bestemt kjede?

Svar : For å tømme en bestemt iptables-kjede, kan du bruke følgende kommandoer.

 
iptables --flush OUTPUT

Å tømme alle iptables-reglene.

iptables --flush
11. Legg til en regel i iptables for å godta pakker fra en pålitelig IP-adresse (f.eks. 192.168.0.7)

Svar : Scenarioet ovenfor kan oppnås ganske enkelt ved å kjøre kommandoen nedenfor.

iptables -A INPUT -s 192.168.0.7 -j ACCEPT 

Vi kan inkludere standard skråstrek eller subnettmaske i kilden som:

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. Hvordan legge til regler for ACCEPTER, AVVIS, NEKT og DROP ssh-tjenesten i iptables.

Svar : I håp om at ssh kjører på port 22, som også er standardporten for ssh, kan vi legge til regel i iptables som:

Å GOTA tcp-pakker for ssh-tjeneste (port 22).

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

Å AVVISE tcp-pakker for ssh-tjenesten (port 22).

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

Å NEKTE tcp-pakker for ssh-tjeneste (port 22).

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

Å DROPPE tcp-pakker for ssh-tjeneste (port 22).

 
iptables -A INPUT -s -p tcp --dport 22 -j DROP
13. La meg gi deg et scenario. La oss si at det er en maskin med den lokale ip-adressen 192.168.0.6. Du må blokkere tilkoblinger på port 21, 22, 23 og 80 til maskinen din. Hva vil du gjøre?

Svar : Vel alt jeg trenger å bruke er «multiport»-alternativet med iptables etterfulgt av portnumre som skal blokkeres, og scenariet ovenfor kan oppnås på én gang som .

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

De skrevne reglene kan kontrolleres ved å bruke kommandoen nedenfor.

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

Intervjuer : Det var alt jeg ville spørre om. Du er en verdifull medarbeider vi ikke vil gå glipp av. Jeg vil anbefale navnet ditt til HR. Hvis du har spørsmål kan du spørre meg.

Som kandidat ønsket jeg ikke å drepe samtalen, og fortsett derfor å spørre om prosjektene jeg ville håndtere hvis jeg ble valgt, og hva er de andre åpningene i selskapet. For ikke å snakke om HR-runden var ikke vanskelig å knekke og jeg fikk muligheten.

Jeg vil også takke Avishek og Ravi (som jeg har vært venn siden lenge) for at de tok seg tid til å dokumentere intervjuet mitt.

Venner! Hvis du hadde gitt et slikt intervju og du vil dele intervjuopplevelsen din med millioner av Tecmint-lesere over hele verden? send deretter spørsmålene og svarene dine til [email , eller du kan sende inn intervjuerfaringen ved å bruke følgende skjema.

Takk skal du ha! Hold kontakten. Gi meg også beskjed om jeg kunne ha svart på et spørsmål mer riktig enn det jeg gjorde.