Vyhledávání na webu

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ě:

  1. Tabulka Nat
  2. Mangle stůl
  3. Tabulka filtrů
  4. 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:

    1. AKCEPTOVAT: Přijmout pakety
    2. FRONTA: Balíček Paas do uživatelského prostoru (místo, kde se nachází aplikace a ovladače)
    3. DROP: Zahodit pakety
    4. 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.