13 Otázky k rozhovoru týkající se brány firewall iptables v systému Linux
Nishita Agarwal, častá návštěvnice Tecmintu se s námi podělila o své zkušenosti (otázka a odpověď) ohledně pracovního pohovoru, který právě poskytla v soukromé hostingové společnosti v Pune , Indie. Bylo jí položeno mnoho otázek na různá témata, ale je expertkou na iptables a chtěla se o tyto otázky a jejich odpovědi (poskytla) související s iptables podělit s ostatními, kteří se možná chystají poskytnout rozhovor v blízké budoucnosti.
Všechny otázky a jejich odpovědi jsou přepsány na základě paměti Nishity Agarwal.
"Dobrý den, přátelé! Jmenuji se Nishita Agarwal. Vystudoval jsem bakalářský titul v oboru technologie. Moje oblast specializace je UNIX a varianty UNIXu (BSD, Linux) mě fascinují od té doby, co jsem to slyšel. Mám 1+letou praxi se skladováním. Hledal jsem změnu zaměstnání, která skončila u hostingové společnosti v Pune v Indii. “
Zde je sbírka toho, na co jsem byl během rozhovoru požádán. Na základě mé paměti jsem zdokumentoval pouze ty otázky a jejich odpovědi, které souvisely s iptables. Doufám, že vám to pomůže při rozlousknutí vašeho rozhovoru.
1. Slyšeli jste o iptables a firewallu v Linuxu? Máte představu o tom, co to je a k čemu se to používá?
Odpověď: Používám iptables poměrně dlouho a znám jak iptables, tak firewall. Iptables je aplikační program napsaný většinou v programovacím jazyce C a je vydán pod licencí GNU General Public License. Napsáno z hlediska správy systému, nejnovější stabilní verze if iptables 1.4.21.iptables lze považovat za firewall pro operační systém typu UNIX, který lze nazvat iptables/netfilter, přesněji. Administrátor komunikuje s iptables prostřednictvím konzolových/GUI frontend nástrojů a přidává a definuje pravidla brány firewall do předdefinovaných tabulek. Netfilter je modul zabudovaný v jádře, který provádí filtrování.
Firewalld je nejnovější implementace pravidel filtrování v RHEL/CentOS 7 (může být implementována v jiných distribucích, o kterých nemusím vědět). Nahradil rozhraní iptables a připojuje se k netfilteru.
2. Použili jste nějaký druh front-endového nástroje založeného na GUI pro iptables nebo Linux Command Line?
Odpověď: I když jsem pro iptables, jako je Shorewall v konjugaci Webminu v GUI, použil jak nástroje frontend založené na GUI, tak přímý přístup k iptables přes konzoli.A musím. připustit, že přímý přístup k iptables přes linuxovou konzoli dává uživateli obrovskou sílu v podobě vyšší míry flexibility a lepšího pochopení toho, co se děje na pozadí, ne-li čehokoli jiného. GUI je pro začínající administrátory, zatímco konzole je pro zkušené.
3. Jaké jsou základní rozdíly mezi iptables a firewalld?
Odpověď: iptables a firewalld slouží stejnému účelu (Filtrování paketů), ale s odlišným přístupem. iptables vyprázdní celou sadu pravidel pokaždé, když je provedena změna, na rozdíl od firewallu. Umístění konfigurace iptables se obvykle nachází na '/etc/sysconfig/iptables', zatímco konfigurace firewallu leží na '/etc/firewalld/', což je sada souborů XML .Konfigurace firewallu založeného na XML je snazší ve srovnání s konfigurací iptables, nicméně stejného úkolu lze dosáhnout pomocí aplikace pro filtrování paketů, tj. iptables a firewalld. Firewalld spouští pod kapotou iptables spolu s vlastním rozhraním příkazového řádku a konfiguračním souborem, který je založen na XML a je uvedeno výše.
4. Kdybyste dostali šanci, nahradili byste iptables firewallem na všech svých serverech?
Odpověď: Jsem obeznámen s iptables a funguje to, a pokud neexistuje nic, co by vyžadovalo dynamický aspekt firewalld, nezdá se žádný důvod migrovat veškerou konfiguraci z iptables na firewalld.Ve většině případů jsem zatím nikdy neviděl, že by iptables způsobovaly problém. Také obecné pravidlo informačních technologií říká „proč opravovat, když to není rozbité“. Toto je však můj osobní názor a nikdy by mi nevadilo implementovat firewalld, pokud se Organizace chystá nahradit iptables firewallem.
5. S iptables působíte sebejistě a výhodou je i to, že na našem serveru používáme iptables.
Jaké tabulky se používají v iptables? Uveďte stručný popis tabulek používaných v iptables a řetězců, které podporují.
Odpověď: Děkujeme za uznání. Přesuneme se k otázce: V iptables se používají čtyři tabulky, konkrétně:
- Tabulka Nat
- Mangle stůl
- Tabulka filtrů
- Syrový stůl
Tabulka Nat: Tabulka Nat se primárně používá pro překlad síťových adres. Maskované pakety získají změnu IP adresy podle pravidel v tabulce. Pakety v proudu procházejí tabulkou Nat pouze jednou. tj. Pokud je paket z proudu paketů maskován, zbytek balíčků v proudu nebude znovu procházet touto tabulkou. V této tabulce se nedoporučuje filtrovat. Řetězce podporované tabulkou NAT jsou PREROUTING Chain, POSTROUTING Chain a OUTPUT Chain.
Mangle Table : Jak název napovídá, tato tabulka slouží k mandlování paketů. Používá se pro speciální úpravu balení. Lze jej použít ke změně obsahu různých paketů a jejich záhlaví. Mangle stůl nelze použít pro Maškarádu. Podporované řetězce jsou PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain.
Tabulka filtrů: Tabulka filtrů je výchozí tabulka používaná v iptables. Používá se pro filtrování paketů. Pokud nejsou definována žádná pravidla, použije se tabulka filtrů jako výchozí tabulka a filtrování se provádí na základě této tabulky. Podporované řetězce jsou INPUT Chain, OUTPUT Chain, FORWARD Chain.
Nezpracovaná tabulka: Nezpracovaná tabulka se uplatní, když chceme nakonfigurovat balíčky, které byly dříve vyňaty. Podporuje PREROUTING Chain a OUTPUT Chain.
6. Jaké jsou cílové hodnoty (které lze specifikovat v target) v iptables a co dělají, buďte stručný!
Odpověď: Následují cílové hodnoty, které můžeme zadat jako cíl v iptables:
- AKCEPTOVAT: Přijmout pakety
- FRONTA: Balíček Paas do uživatelského prostoru (místo, kde se nachází aplikace a ovladače)
- DROP: Zahodit pakety
- RETURN : Vrátí řízení do volajícího řetězce a zastaví provádění další sady pravidel pro aktuální pakety v řetězci.
7. Přejděme k technickým aspektům iptables, technickým I znamená praktický.
Jak zkontrolujete otáčky iptables, které jsou nutné k instalaci iptables v CentOS?.
Odpověď: iptables rpm jsou součástí standardní instalace CentOS a nemusíme je instalovat samostatně. Otáčky můžeme zkontrolovat takto:
rpm -qa iptables
iptables-1.4.21-13.el7.x86_64
Pokud ji potřebujete nainstalovat, můžete ji získat.
yum install iptables-services
8. Jak zkontrolovat a zajistit, že služba iptables běží?
Odpověď: Chcete-li zkontrolovat stav iptables, můžete na terminálu spustit následující příkaz.
service iptables status [On CentOS 6/5]
systemctl status iptables [On CentOS 7]
Pokud neběží, lze provést níže uvedený příkaz.
---------------- On CentOS 6/5 ----------------
chkconfig --level 35 iptables on
service iptables start
---------------- On CentOS 7 ----------------
systemctl enable iptables
systemctl start iptables
Můžeme také zkontrolovat, zda je modul iptables načten nebo ne, jako:
lsmod | grep ip_tables
9. Jak budete kontrolovat současná Pravidla definovaná v iptables?
Odpověď: Aktuální pravidla v iptables lze zkontrolovat jednoduše takto:
iptables -L
Ukázkový výstup
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. Jak vyprázdníte všechna pravidla iptables nebo konkrétní řetězec?
Odpověď: K vyprázdnění konkrétního řetězce iptables můžete použít následující příkazy.
iptables --flush OUTPUT
Chcete-li vyprázdnit všechna pravidla iptables.
iptables --flush
11. Přidejte do iptables pravidlo pro přijímání paketů z důvěryhodné IP adresy (řekněme 192.168.0.7)
Odpověď: Výše uvedeného scénáře lze dosáhnout jednoduše spuštěním níže uvedeného příkazu.
iptables -A INPUT -s 192.168.0.7 -j ACCEPT
Do zdroje můžeme zahrnout standardní lomítko nebo masku podsítě jako:
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. Jak přidat pravidla do služby ACCEPT, REJECT, DENY a DROP ssh v iptables.
Odpověď: Doufáme, že ssh běží na portu 22, což je také výchozí port pro ssh, můžeme přidat pravidlo do iptables jako:
Chcete-li AKCEPTOVAT tcp pakety pro službu ssh (port 22).
iptables -A INPUT -s -p tcp --dport 22 -j ACCEPT
Chcete-li ODmítnout pakety tcp pro službu ssh (port 22).
iptables -A INPUT -s -p tcp --dport 22 -j REJECT
Chcete-li ZAKÁZAT pakety tcp pro službu ssh (port 22).
iptables -A INPUT -s -p tcp --dport 22 -j DENY
Chcete-li ODLOŽIT tcp pakety pro službu ssh (port 22).
iptables -A INPUT -s -p tcp --dport 22 -j DROP
13. Dovolte mi, abych vám poskytl scénář. Řekněme, že existuje počítač, jehož místní IP adresa je 192.168.0.6. Musíte zablokovat připojení na portech 21, 22, 23 a 80 k vašemu počítači. Co budeš dělat?
Odpověď: Vše, co potřebuji použít, je možnost 'multiport' s iptables následovanými čísly portů, které mají být blokovány, a výše uvedeného scénáře lze dosáhnout jediným pohybem jako .
iptables -A INPUT -s 192.168.0.6 -p tcp -m multiport --dport 21,22,23,80 -j DROP
Zapsaná pravidla lze zkontrolovat pomocí níže uvedeného příkazu.
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
Tazatel: To je vše, na co jsem se chtěl zeptat. Jste cenným zaměstnancem, o kterého bychom neradi přišli. Vaše jméno doporučím personalistovi. Pokud máte nějaké dotazy, můžete se mě zeptat.
Jako kandidát jsem nechtěl ukončit konverzaci, a proto se stále ptejte na projekty, které bych v případě výběru řešil, a jaké jsou další možnosti ve společnosti. Nemluvě o HR kole nebylo těžké rozlousknout a dostal jsem příležitost.
Také bych rád poděkoval Avishekovi a Ravimu (se kterými jsem již dlouho přítelem) za to, že si našli čas na zdokumentování mého rozhovoru.
Přátelé! Kdybyste poskytli nějaký takový rozhovor a chtěli byste se podělit o své zkušenosti s rozhovory s miliony čtenářů Tecmintu po celém světě? poté pošlete své otázky a odpovědi na [email nebo můžete odeslat své zkušenosti s pohovorem pomocí následujícího formuláře.
Děkuji! Zůstaňte ve spojení. Také mi dejte vědět, zda jsem mohl odpovědět na otázku správněji, než jsem udělal.