13 interviu klausimų apie Linux iptables ugniasienę


Nishita Agarwal, dažna Tecmint lankytoja, pasidalijo su mumis savo patirtimi (klausimai ir atsakymai) dėl darbo pokalbio, kurį ką tik davė privačioje prieglobos įmonėje Pune. , Indija. Jai buvo užduota daug klausimų įvairiomis temomis, tačiau ji yra iptables ekspertė ir norėjo pasidalinti šiais klausimais bei jų atsakymais (ji pateikė), susijusiais su iptables, kitiems, kurie galbūt ketina duoti interviu artimiausiu metu.

Visi klausimai ir atsakymai į juos perrašyti remiantis Nishita Agarwal prisiminimais.

"Sveiki, draugai! Mano vardas Nishita Agarwal. Esu įgijęs technologijos bakalauro laipsnį. Mano specializacija yra UNIX, o UNIX variantai (BSD, Linux) mane žavi nuo tada, kai išgirdau. Turiu 1+ metų patirtį sandėliavimo srityje. Ieškojau darbo pakeitimo, kuris baigėsi prieglobos kompanijoje Pune, Indijoje. “

Štai kolekcija to, ko manęs paklausė interviu metu. Aš dokumentavau tik tuos klausimus ir jų atsakymus, kurie buvo susiję su iptables, remiantis mano atmintimi. Tikimės, kad tai padės jums užbaigti interviu.

1. Ar girdėjote apie iptables ir ugniasienę Linux sistemoje? Ar turite supratimo, kas jie yra ir kam jie naudojami?

Atsakymas: Aš naudoju iptables gana ilgą laiką ir žinau tiek iptables, tiek ugniasienę. Iptables yra taikomoji programa, dažniausiai parašyta C programavimo kalba ir išleista pagal GNU bendrąją viešąją licenciją. Parašyta sistemos administravimo požiūriu, naujausias stabilus iptables leidimas 1.4.21.iptables gali būti laikomos UNIX tipo operacinės sistemos ugniasiene, kuri gali būti vadinama iptables/netfilter, tiksliau. Administratorius sąveikauja su iptables naudodamas konsolės/GUI sąsajos įrankius, kad įtrauktų ir apibrėžtų ugniasienės taisykles į iš anksto nustatytas lenteles. „Netfilter“ yra branduolio viduje esantis modulis, kuris atlieka filtravimo funkciją.

Ugniasienė yra naujausias filtravimo taisyklių įgyvendinimas RHEL/CentOS 7 (gali būti įdiegtas kituose platinimuose, apie kuriuos galbūt nežinau). Jis pakeitė „iptables“ sąsają ir prisijungia prie „netfilter“.

2. Ar naudojote kokį nors GUI pagrįstą sąsajos įrankį, skirtą iptables ar Linux komandų eilutei?

Atsakymas: Nors naudojau ir GUI pagrįstus sąsajos įrankius, skirtus iptables, pvz., Shorewall, konjuguodamas Webmin GUI, ir tiesioginę prieigą prie iptables per konsolę.Ir privalau. pripažinkite, kad tiesioginė prieiga prie „iptables“ per „Linux“ konsolę suteikia vartotojui didžiulę galią, nes jis yra lankstesnis ir geriau supranta, kas vyksta fone, jei ne kas kita. GUI skirta pradedantiesiems administratoriams, o konsolė – patyrusiems.

3. Kokie yra pagrindiniai skirtumai tarp iptables ir ugniasienės?

Atsakymas: iptables ir ugniasienė atlieka tą patį tikslą (Paketų filtravimas), bet skiriasi. Priešingai nei ugniasienė, iptables išplauna visas taisykles kiekvieną kartą, kai atliekami pakeitimai. Paprastai iptables konfigūracijos vieta yra /etc/sysconfig/iptables, o ugniasienės konfigūracija yra /etc/firewalld/, kuri yra XML failų rinkinys. .XML pagrindu sukurtą ugniasienę konfigūruoti lengviau, palyginti su iptables konfigūravimu, tačiau tą pačią užduotį galima atlikti naudojant paketų filtravimo programą, ty iptables ir ugniasienę. Firewalld paleidžia iptables po savo gaubtu kartu su savo komandų eilutės sąsaja ir konfigūracijos failu, kuris yra pagrįstas XML ir minėta aukščiau.

4. Ar pakeistumėte iptables ugniasienėmis visuose savo serveriuose, jei būtų galimybė?

Atsakymas: Esu susipažinęs su iptables ir ji veikia. Jei nėra nieko, kas reikalauja dinaminio ugniasienės aspekto, atrodo, nėra jokios priežasties perkelti visą konfigūraciją iš iptables į ugniasienę.Daugeliu atvejų iki šiol niekada nemačiau, kad „iptables“ sukurtų problemą. Taip pat bendroji informacinių technologijų taisyklė sako „kam taisyti, jei ji nesugedusi“. Tačiau tai yra mano asmeninė mintis ir aš niekada neprieštaraučiau diegti ugniasienę, jei organizacija iptables pakeis ugniasienė.

5. Jūs esate įsitikinęs, kad naudojate iptables, o pliusas yra tas, kad net mes naudojame iptables savo serveryje.

Kokios lentelės naudojamos iptables? Trumpai aprašykite iptables naudojamas lenteles ir jų palaikomas grandines.

Atsakymas: Dėkojame už pripažinimą. Pereinant prie klausimo dalies, iptables naudojamos keturios lentelės, būtent jos yra:

  1. Nat lentelė
  2. Mangle stalas
  3. Filtravimo lentelė
  4. Neapdorota lentelė

Nat lentelė : Nat lentelė pirmiausia naudojama tinklo adresų vertimui. Užmaskuotų paketų IP adresas pakeičiamas pagal lentelėje pateiktas taisykles. Paketai sraute kerta Nat lentelę tik vieną kartą. ty., jei paketas iš paketų srauto yra užmaskuotas, kiti sraute esantys paketai daugiau neperžengs šios lentelės. Šioje lentelėje rekomenduojama nefiltruoti. NAT lentelės palaikomos grandinės yra PREROUTING grandinė, POSTROUTING grandinė ir OUTPUT grandinė.

Mangle Table : kaip rodo pavadinimas, ši lentelė skirta paketams tvarkyti. Jis naudojamas specialiems paketams keisti. Jis gali būti naudojamas keisti skirtingų paketų turinį ir jų antraštes. Mangle stalo negalima naudoti maskuojant. Palaikomos grandinės yra PREROUTING grandinė, OUTPUT Chain, Forward Chain, INPUT grandinė, POSTROUTING grandinė.

Filtrų lentelė : filtrų lentelė yra numatytoji lentelė, naudojama iptables. Jis naudojamas paketams filtruoti. Jei taisyklės neapibrėžtos, filtravimo lentelė laikoma numatytoji lentele, o filtravimas atliekamas remiantis šia lentele. Palaikomos grandinės yra INPUT Chain, OUTPUT Chain, FORWARD grandinė.

Neapdorota lentelė : neapdorota lentelė pradeda veikti, kai norime sukonfigūruoti paketus, kuriems anksčiau nebuvo taikomos išimtys. Jis palaiko PREROUTING grandinę ir OUTPUT Chain.

6. Kokios yra tikslinės reikšmės (kurias galima nurodyti target) iptables ir ką jos daro, trumpai!

Atsakymas: Toliau pateikiamos tikslinės reikšmės, kurias galime nurodyti iptables:

    1. PRIIMTI : priimti paketus
    2. EILĖ: „Paas“ paketas į naudotojo erdvę (vieta, kur yra programa ir tvarkyklės)
    3. DROP: numeskite paketus
    4. GRĮŽIMAS : grąžinkite valdymą į skambinimo grandinę ir nustokite vykdyti kitą dabartinių grandinės paketų taisyklių rinkinį.
7. Pereikime prie techninių iptables aspektų, o techniniu I reiškia praktinį.

Kaip patikrinsite iptables rpm, reikalingą norint įdiegti iptables CentOS?.

Atsakymas: iptables rpm yra įtrauktos į standartinį CentOS diegimą ir mums nereikia jo įdiegti atskirai. Galime patikrinti sūkių skaičių taip:

rpm -qa iptables

iptables-1.4.21-13.el7.x86_64

Jei jums reikia jį įdiegti, galite tai padaryti, kad jį gautumėte.

yum install iptables-services
8. Kaip patikrinti ir įsitikinti, ar veikia iptables paslauga?

Atsakymas: Norėdami patikrinti iptables būseną, terminale galite paleisti šią komandą.

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

Jei ji neveikia, gali būti vykdoma toliau pateikta komanda.

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

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

Taip pat galime patikrinti, ar iptables modulis įkeltas, ar ne, kaip:

lsmod | grep ip_tables
9. Kaip peržiūrėsite dabartines taisykles, apibrėžtas iptables?

Atsakymas: Dabartines iptables taisykles galima peržiūrėti taip paprastai:

iptables -L

Išvesties pavyzdys

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. Kaip išvalysite visas iptables taisykles arba tam tikrą grandinę?

Atsakymas: Norėdami išvalyti tam tikrą iptables grandinę, galite naudoti šias komandas.

 
iptables --flush OUTPUT

Norėdami ištrinti visas iptables taisykles.

iptables --flush
11. Įtraukite taisyklę į iptables, kad priimtumėte paketus iš patikimo IP adreso (pvz., 192.168.0.7)

Atsakymas: Aukščiau pateiktą scenarijų galima pasiekti tiesiog vykdant toliau pateiktą komandą.

iptables -A INPUT -s 192.168.0.7 -j ACCEPT 

Į šaltinį galime įtraukti standartinį pasvirąjį brūkšnį arba potinklio kaukę kaip:

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. Kaip pridėti taisykles prie ACCEPT, REJECT, DENY ir DROP ssh paslaugos iptables.

Atsakymas: Tikimės, kad ssh veikia 22 prievadu, kuris taip pat yra numatytasis ssh prievadas, galime pridėti taisyklę prie iptables kaip:

Norėdami PRIIMTI tcp paketus ssh paslaugai (22 prievadas).

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

Norėdami ATMESTI tcp paketus, skirtus ssh paslaugai (22 prievadas).

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

Norėdami ATNEIKTI tcp paketus ssh paslaugai (22 prievadas).

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

Norėdami DROP tcp paketus, skirtus ssh paslaugai (22 prievadas).

 
iptables -A INPUT -s -p tcp --dport 22 -j DROP
13. Leiskite man pateikti jums scenarijų. Tarkime, kad yra mašina, kurios vietinis IP adresas yra 192.168.0.6. Turite blokuoti 21, 22, 23 ir 80 prievadų ryšius su savo aparatu. Ką tu darysi?

Atsakymas: Man tereikia naudoti parinktį multiport su iptables, po kurios nurodomi prievadų numeriai, kuriuos reikia užblokuoti, ir aukščiau aprašytą scenarijų galima pasiekti vienu ypu .

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

Parašytas taisykles galima patikrinti naudojant toliau pateiktą komandą.

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

Interviuotojas : Tai viskas, ko norėjau paklausti. Esate vertingas darbuotojas, kurio nenorėsime praleisti. Aš rekomenduosiu jūsų vardą HR. Jei turite kokių nors klausimų, galite manęs paklausti.

Kaip kandidatas nenorėjau nutraukti pokalbio, todėl nuolat klausiu apie projektus, kuriuos tvarkyčiau, jei būtų išrinktas, ir kokių kitų darbo vietų įmonėje. Jau nekalbant apie HR raundą nebuvo sunku nulaužti ir aš gavau galimybę.

Taip pat norėčiau padėkoti Avishek ir Ravi (kuriuo seniai draugauju), kad skyrė laiko dokumentuoti mano interviu.

Draugai! Jei būtumėte davę tokį interviu ir norėtumėte pasidalinti savo interviu patirtimi su milijonais „Tecmint“ skaitytojų visame pasaulyje? tada siųskite klausimus ir atsakymus adresu [el. paštas apsaugotas] arba galite pateikti interviu patirtį naudodami šią formą.

Ačiū! Palaikykite ryšį. Taip pat praneškite man, ar į klausimą galėjau atsakyti teisingiau nei tai, ką atsakiau.