13 intervijas jautājumi par Linux iptables ugunsmūri
Nishita Agarwal, bieža Tecmint apmeklētāja, dalījās ar mums pieredzē (jautājums un atbilde) par darba interviju, ko viņa tikko sniedza privātīpašumā esošajā hostinga uzņēmumā Punē, Indijā. Viņai tika uzdoti daudz jautājumu par dažādām tēmām, tomēr viņa ir iptables eksperte, un viņa vēlējās dalīties ar šiem jautājumiem un viņu atbildēm (kuras viņa deva) saistībā ar iptables citiem, kuri tuvākajā laikā varētu sniegt interviju.
Visi jautājumi un viņu atbildes tiek pārrakstītas, balstoties uz Nišitas Agarvalas piemiņu.
"Sveiki draugi! Mani sauc Nishita Agarwal. Esmu ieguvis bakalaura grādu tehnoloģijā. Mana specializācijas joma ir UNIX, un UNIX varianti (BSD, Linux) mani aizrauj kopš brīža, kad to dzirdēju. Man ir vairāk nekā 1 gadu pieredze krātuvē. Es meklēju darba maiņu, kas beidzās ar hostinga uzņēmumu Pune, Indijā. ”
Šeit ir apkopots tas, ko man jautāja intervijas laikā. Esmu dokumentējis tikai tos jautājumus un to atbildes, kas bija saistīti ar iptables, pamatojoties uz manu atmiņu. Ceru, ka tas jums palīdzēs izjaukt jūsu interviju.
Atbilde: Esmu lietojis iptables diezgan ilgu laiku, un es zinu gan iptables, gan ugunsmūri. Iptables ir lietojumprogramma, kas galvenokārt rakstīta C programmēšanas valodā un tiek izlaista ar GNU General Public License. Rakstīts sistēmas administrēšanas viedokļa. Jaunākais stabilais laidiens, ja iptables 1.4.21. iptables var tikt uzskatīts par ugunsmūri tādām UNIX operētājsistēmām kā precīzāk - iptables/netfilter. Administrators mijiedarbojas ar iptables, izmantojot konsoles/GUI priekšgala rīkus, lai iepriekš definētās tabulās pievienotu un definētu ugunsmūra kārtulas. Netfilter ir kodols, kas iebūvēts kodola iekšpusē un veic filtrēšanas darbu.
Firewalld ir jaunākā filtrēšanas kārtulu ieviešana RHEL/CentOS 7 (var tikt ieviesta citos izplatījumos, par kuriem es, iespējams, nezinu). Tas ir aizstājis iptables interfeisu un izveido savienojumu ar netfilter.
Atbilde: Lai gan iptables lietoju gan GUI balstītus priekšgala rīkus, piemēram, Webmin GUI, gan tiešu piekļuvi iptables, izmantojot konsoli. Un jāatzīst, ka tieša piekļuve iptables, izmantojot Linux konsoli, dod lietotāju milzīga jauda - lielāka elastība un labāka izpratne par fonā notiekošo, ja ne kas cits. GUI ir domāts iesācēju administratoram, savukārt konsole - pieredzējušam.
Atbilde: iptables un firewalld kalpo vienam un tam pašam mērķim (pakešu filtrēšana), bet ar atšķirīgu pieeju. iptables izmaina visus iestatītos noteikumus katru reizi, kad tiek veiktas izmaiņas atšķirībā no firewalld. Parasti iptables konfigurācijas atrašanās vieta ir “/ etc/sysconfig/iptables”, savukārt ugunsmūra konfigurācija atrodas “/ etc/firewalld /”, kas ir XML failu kopa. XML bāzes ugunsmūra konfigurēšana ir vieglāk salīdzinājumā ar iptables konfigurēšanu, tomēr to pašu uzdevumu var sasniegt, izmantojot gan pakešu filtrēšanas lietojumprogrammu, ti, iptables, gan firewalld. Firewalld zem pārsega palaiž iptables kopā ar savu komandrindas saskarni un konfigurācijas failu, kas ir balstīts uz XML un minēts iepriekš.
Atbilde: Esmu pazīstams ar iptables un tas darbojas, un, ja nekas neprasa ugunsmūra dinamisko aspektu, šķiet, ka nav pamata visu manu konfigurāciju migrēt no iptables uz firewalld. Vairumā gadījumu , līdz šim es nekad neesmu redzējis, ka iptables radītu problēmu. Arī vispārīgajā informācijas tehnoloģiju noteikumā ir teikts “kāpēc labot, ja tas nav salauzts” Tomēr šī ir mana personīgā doma, un man nekad nebūtu iebildumu pret ugunsmūra ieviešanu, ja Organizācija iptables aizstās ar firewalld.
Kādas ir iptables izmantotās tabulas? Sniedziet īsu iptables izmantoto tabulu un to atbalstīto ķēžu aprakstu.
Atbilde: Paldies par atzinību. Pārejot uz jautājumu daļu, iptables izmanto četras tabulas, proti, tās ir:
- Nat tabula
- Mangle tabula
- Filtrēšanas tabula
- Neapstrādāts galds
Nat tabula: Nat tabulu galvenokārt izmanto tīkla adrešu tulkošanai. Maskēto pakešu IP adrese tiek mainīta atbilstoši tabulas noteikumiem. Plūsmā esošās paketes šķērso Nat tabulu tikai vienu reizi. ti, ja tiek paklāts no pakešu strūklas, pārējie straumē esošie paketes vairs netiks šķērsoti šajā tabulā. Šajā tabulā ieteicams nefiltrēt. Ķēdes, kuras atbalsta NAT Table, ir PREROUTING Chain, POSTROUTING Chain un OUTPUT Chain.
Mangle tabula: Kā norāda nosaukums, šī tabula kalpo paku sagrābšanai. To lieto īpašai paketes pārveidošanai. To var izmantot, lai mainītu dažādu pakešu saturu un to galvenes. Mangle galdu nevar izmantot maskēšanai. Atbalstītās ķēdes ir PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain.
Filtrēšanas tabula: filtru tabula ir noklusējuma tabula, ko izmanto iptables. To izmanto pakešu filtrēšanai. Ja noteikumi nav definēti, filtru tabula tiek uzskatīta par noklusējuma tabulu, un filtrēšana tiek veikta, pamatojoties uz šo tabulu. Atbalstītās ķēdes ir INPUT Chain, OUTPUT Chain, FORWARD Chain.
Neapstrādāta tabula: Neapstrādāta tabula sāk darboties, kad mēs vēlamies konfigurēt paketes, kas tika atbrīvotas agrāk. Tas atbalsta PREROUTING ķēdi un OUTPUT ķēdi.
Atbilde: Tālāk ir norādītas mērķa vērtības, kuras mēs varam norādīt mērķī iptables:
-
- PIEŅEMT: Pieņemiet paketes
- Rinda: Paas pakotne lietotāja vietnei (vieta, kur atrodas lietojumprogramma un draiveri)
- DROP: nomest paketes
- RETURN: atgriezieties vadībā uz izsaukuma ķēdi un pārtrauciet izpildīt nākamo kārtulu kopu pašreizējām paketēm ķēdē.
Kā jūs pārbaudīsit iptables apgr./min., Kas nepieciešams, lai instalētu iptables CentOS ?.
Atbilde: iptables rpm ir iekļauti standarta CentOS instalācijā, un mums tas nav jāinstalē atsevišķi. Apgrozījumu mēs varam pārbaudīt šādi:
# rpm -qa iptables iptables-1.4.21-13.el7.x86_64
Ja jums tas jāinstalē, varat to izdarīt, lai to iegūtu.
# yum install iptables-services
Atbilde: Lai pārbaudītu iptables statusu, jūs varat palaist šādu komandu terminālā.
# service iptables status [On CentOS 6/5] # systemctl status iptables [On CentOS 7]
Ja tas nedarbojas, var izpildīt zemāk redzamo komandu.
---------------- On CentOS 6/5 ---------------- # chkconfig --level 35 iptables on # service iptables start ---------------- On CentOS 7 ---------------- # systemctl enable iptables # systemctl start iptables
Mēs varam arī pārbaudīt, vai iptables modulis ir ielādēts vai nav, kā:
# lsmod | grep ip_tables
Atbilde: Pašreizējos iptables noteikumus var pārskatīt vienkārši:
# iptables -L
Izlaides paraugs
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
Atbilde: Lai izskalotu noteiktu iptables ķēdi, varat izmantot šādas komandas.
# iptables --flush OUTPUT
Lai izskalotu visus iptables noteikumus.
# iptables --flush
Atbilde: Iepriekš minēto scenāriju var sasniegt, vienkārši izpildot zemāk esošo komandu.
# iptables -A INPUT -s 192.168.0.7 -j ACCEPT
Mēs varam iekļaut standarta slīpsvītru vai apakštīkla masku avotā kā:
# 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
Atbilde: Cerot, ka ssh darbojas 22. portā, kas ir arī ssh noklusējuma ports, iptables kārtulu varam pievienot šādi:
PIEŅEMT TCP paketes ssh pakalpojumam (22. ports).
# iptables -A INPUT -s -p tcp --dport 22 -j ACCEPT
Lai noraidītu TCP paketes ssh pakalpojumam (22. ports).
# iptables -A INPUT -s -p tcp --dport 22 -j REJECT
Noliegt TCP paketes ssh pakalpojumam (22. ports).
# iptables -A INPUT -s -p tcp --dport 22 -j DENY
DROP TCP paketes ssh pakalpojumam (22. ports).
# iptables -A INPUT -s -p tcp --dport 22 -j DROP
Atbilde: Viss, kas man jāizmanto, ir opcija" multiport "ar iptables, kam seko bloķējami ostu numuri, un iepriekšminēto scenāriju var sasniegt ar vienu piegājienu.
# iptables -A INPUT -s 192.168.0.6 -p tcp -m multiport --dport 21,22,23,80 -j DROP
Uzrakstītos noteikumus var pārbaudīt, izmantojot zemāk esošo komandu.
# 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
Intervētājs: Tas ir viss, ko es gribēju jautāt. Jūs esat vērtīgs darbinieks, kura mums nepatīk garām. Es ieteikšu jūsu vārdu AP. Ja jums ir kādi jautājumi, varat man uzdot.
Kā kandidāts es nevēlējos nogalināt sarunu, tāpēc turpinu vaicāt par projektiem, kurus es vadītu, ja tiktu izvēlēts, un kādas ir citas iespējas uzņēmumā. Nemaz nerunājot par HR kārtu nebija grūti uzlauzt, un es saņēmu iespēju.
Es arī vēlos pateikties Avishek un Ravi (kurus es jau ilgu laiku esmu draugs) par laika intervijas dokumentēšanu.
Draugi! Ja jūs būtu sniedzis šādu interviju un vēlaties dalīties savā intervijas pieredzē ar miljoniem Tecmint lasītāju visā pasaulē? pēc tam nosūtiet savus jautājumus un atbildes uz [email , vai arī varat iesniegt intervijas pieredzi, izmantojot šādu veidlapu.
Paldies! Uzturēt savienojumu. Paziņojiet man arī, vai es būtu varējis atbildēt uz jautājumu pareizāk nekā tas, ko izdarīju.