Weboldal keresés

13 Interjúkérdések a Linux iptables tűzfalról


Nishita Agarwal, gyakori Tecmint-látogató megosztotta velünk tapasztalatait (Kérdések és válaszok) az imént adott állásinterjúval kapcsolatban egy magántulajdonban lévő pune-i hosting cégnél. , India. Sok kérdést tettek fel neki különféle témában, de ő az iptables szakértője, és szerette volna megosztani ezeket a kérdéseket és az iptables-szal kapcsolatos válaszaikat (megadta) másokkal is, akik esetleg erre járnak. interjút adni a közeljövőben.

Az összes kérdést és a rájuk adott válaszokat Nishita Agarwal emlékei alapján írjuk át.

"Hello barátok! A nevem Nishita Agarwal. Technikai alapképzést szereztem. Szakterületem a UNIX, és a UNIX változatai (BSD, Linux) azóta lenyűgöznek, hogy meghallottam. 1+ év raktározási tapasztalattal rendelkezem. Állásváltást kerestem, aminek az lett a vége, hogy egy hosting cégnél dolgoztam Pune-ban, Indiában. ”

Itt van a gyűjtemény, amit az interjú során kérdeztek. Csak azokat a kérdéseket és azok válaszait dokumentáltam, amelyek emlékezetem alapján az iptables-hoz kapcsolódnak. Remélhetőleg ez segíteni fog az interjú feltörésében.

1. Hallottál már az iptables-ról és a tűzfalról Linuxon? Van ötleted, hogy mik ezek és mire használják?

Válasz : Már régóta használom az iptables-t, és tisztában vagyok az iptables-szal és a tűzfallal is. Az Iptables egy többnyire C programozási nyelven írt alkalmazás, és a GNU General Public License alatt kerül kiadásra. Rendszeradminisztrációs szempontból írva, az iptables 1.4.21 legfrissebb stabil kiadása.Az iptables a UNIX-szerű operációs rendszer tűzfalának tekinthető, amelyet úgy hívhatunk: iptables/netfilter, pontosabban. Az adminisztrátor a konzol/GUI kezelőfelületi eszközökön keresztül kommunikál az iptables-szal, hogy tűzfalszabályokat adjon hozzá és definiáljon előre meghatározott táblákba. A Netfilter a kernelbe épített modul, amely a szűrést végzi.

A Tűzfal a szűrési szabályok legújabb megvalósítása az RHEL/CentOS 7 rendszerben (lehet, hogy más disztribúciókban is megvalósítható, amelyekről nem tudok). Leváltotta az iptables felületet, és csatlakozik a netfilterhez.

2. Használtál valamilyen grafikus felhasználói felület alapú kezelőfelületet az iptables-hoz vagy a Linux parancssorhoz?

Válasz : Bár mind a grafikus felhasználói felület alapú kezelőfelületi eszközöket használtam az iptable-okhoz, mint a Shorewall a Webmin konjugációjához grafikus felhasználói felületen, és az iptables-hoz való közvetlen hozzáférést a konzolon keresztül.És muszáj. Elismerjük, hogy az iptables-hoz való közvetlen hozzáférés a Linux konzolon keresztül hatalmas erőt ad a felhasználónak a nagyobb fokú rugalmasság és a háttérben zajló események jobb megértése formájában, ha nem bármi más. A GUI a kezdő rendszergazdáknak, míg a konzol a tapasztaltoknak való.

3. Mik az alapvető különbségek az iptables és a tűzfal között?

Válasz : iptables és tűzfal ugyanazt a célt szolgálja (csomagszűrés), de eltérő megközelítéssel. Az iptables a tűzfaltól eltérően minden változtatáskor kiüríti a teljes szabálykészletet. Az iptables konfiguráció helye általában a „/etc/sysconfig/iptables”, míg a tűzfal konfigurációja a „/etc/firewalld/” helyen található, amely XML-fájlok halmaza. .Az XML alapú tűzfal konfigurálása egyszerűbb, mint az iptables konfigurálása, azonban ugyanaz a feladat elvégezhető a csomagszűrő alkalmazással, pl. az iptables és a firewalld használatával. A Firewalld az iptables-t futtatja a motorháztető alatt, saját parancssori felülettel és konfigurációs fájllal, amely XML-alapú és a fent említett.

4. Lecserélnéd az iptables-t tűzfalra az összes szervereden, ha lenne rá lehetőség?

Válasz : Ismerem az iptables-t, és működik, és ha nincs semmi, ami a tűzfal dinamikus aspektusát igényli, úgy tűnik, nincs ok arra, hogy az összes konfigurációmat iptablesról tűzfalra állítsam át.Az esetek többségében eddig soha nem láttam, hogy az iptables problémát okozna. Az információs technológia általános szabálya is azt mondja: „miért javítani, ha nincs elromolva”. Ez azonban az én személyes véleményem, és soha nem bánnám a tűzfal bevezetését, ha a Szervezet az iptables-t tűzfalra cserélné.

5. Magabiztosnak tűnik az iptables használatában, és a plusz pont az, hogy még az iptables-t is használjuk a szerverünkön.

Milyen táblákat használ az iptables? Adjon rövid leírást az iptables-ban használt táblákról és az általuk támogatott láncokról.

Válasz : Köszönjük az elismerést. Áttérve a kérdés részre, az iptables-ban négy tábla használatos, ezek a következők:

  1. Nat táblázat
  2. Mangle táblázat
  3. Szűrőtábla
  4. Nyers táblázat

Nat-tábla: A Nat-táblázat elsősorban a hálózati címek fordítására szolgál. Az álcázott csomagok IP-címét a táblázat szabályai szerint módosítják. Az adatfolyamban lévő csomagok csak egyszer haladnak át a Nat táblán. pl., ha egy csomag egy csomag jet-ből álcázott, akkor a folyam többi csomagja nem fog áthaladni ezen a táblán. Ebben a táblázatban nem ajánlott szűrni. A NAT Table által támogatott láncok a következők: PREROUTING Chain, POSTROUTING Chain és OUTPUT Chain.

Magle Table : Ahogy a neve is sugallja, ez a táblázat a csomagok összekeverésére szolgál. Speciális csomagok módosítására szolgál. A különböző csomagok tartalmának és fejléceinek megváltoztatására használható. A mangle asztal nem használható maskarázásra. Támogatott láncok: PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain.

Szűrőtábla : A szűrőtábla az iptables-ban használt alapértelmezett tábla. Csomagok szűrésére szolgál. Ha nincsenek szabályok definiálva, a Szűrőtábla lesz alapértelmezett tábla, és a szűrés ennek alapján történik. Támogatott láncok: INPUT Chain, OUTPUT Chain, FORWARD Chain.

Nyers tábla : A nyers tábla akkor lép működésbe, ha korábban mentesített csomagokat szeretnénk konfigurálni. Támogatja a PREROUTING láncot és az OUTPUT Chain-t.

6. Mik a célértékek (a célban megadhatóak) az iptables-ban és mit csinálnak, legyen rövid!

Válasz : A következő célértékek, amelyeket megadhatunk a targetben az iptables-ban:

    1. ELFOGADÁS: Csomagok elfogadása
    2. QUEUE: Paas-csomag a felhasználói térbe (az alkalmazás és az illesztőprogramok helye)
    3. DROP: Csomagok eldobása
    4. RETURN : Visszaállítja a vezérlést a hívólánchoz, és leállítja a következő szabálykészlet végrehajtását a láncban lévő aktuális csomagokhoz.
7. Térjünk át az iptables technikai vonatkozásaira, technikai alatt gyakorlatiat értem.

Hogyan ellenőrizheti az iptables rpm-ét, amely szükséges az iptables telepítéséhez a CentOS-ben?.

Válasz : iptables rpm a szabványos CentOS telepítés része, és nem kell külön telepítenünk. A fordulatszámot a következőképpen ellenőrizhetjük:

rpm -qa iptables

iptables-1.4.21-13.el7.x86_64

Ha telepítenie kell, megteheti, hogy beszerezheti.

yum install iptables-services
8. Hogyan ellenőrizhető és győződjön meg arról, hogy az iptables szolgáltatás fut?

Válasz : Az iptables állapotának ellenőrzéséhez futtassa a következő parancsot a terminálon.

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

Ha nem fut, az alábbi parancs végrehajtható.

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

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

Azt is ellenőrizhetjük, hogy az iptables modul betöltve van-e vagy sem, például:

lsmod | grep ip_tables
9. Hogyan tekinti át az iptables-ban definiált jelenlegi szabályokat?

Válasz : Az iptables jelenlegi szabályai egyszerűen áttekinthetők:

iptables -L

Mintakimenet

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. Hogyan fogja kiüríteni az összes iptables szabályt vagy egy adott láncot?

Válasz : Egy adott iptables lánc kiürítéséhez a következő parancsokat használhatja.

 
iptables --flush OUTPUT

Az összes iptables szabály kiürítése.

iptables --flush
11. Adjon hozzá egy szabályt az iptables-ban megbízható IP-címről (például 192.168.0.7) érkező csomagok fogadására.

Válasz : A fenti forgatókönyv egyszerűen elérhető az alábbi parancs futtatásával.

iptables -A INPUT -s 192.168.0.7 -j ACCEPT 

A forrásban szabványos perjelet vagy alhálózati maszkot is megadhatunk:

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. Hogyan adjunk szabályokat az ACCEPT, REJECT, DENY és DROP ssh szolgáltatáshoz az iptables-ban.

Válasz : Reméljük, hogy az ssh a 22-es porton fut, amely egyben az ssh alapértelmezett portja is, így szabályt adhatunk az iptables-hoz:

Tcp-csomagok ELFOGADÁSA az ssh szolgáltatáshoz (22-es port).

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

Tcp-csomagok ELUTASÍTÁSA az ssh szolgáltatáshoz (22-es port).

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

A tcp-csomagok TAGADÁSA az ssh szolgáltatáshoz (22-es port).

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

A tcp-csomagok DROP-hoz az ssh szolgáltatáshoz (22-es port).

 
iptables -A INPUT -s -p tcp --dport 22 -j DROP
13. Hadd mondjak el egy forgatókönyvet. Tegyük fel, hogy van egy gép, amelynek a helyi IP-címe 192.168.0.6. Le kell tiltania a kapcsolatot a 21-es, 22-es, 23-as és 80-as porton a géphez. Mit fogsz csinálni?

Válasz : Nos, csak a 'multiport' opciót kell használnom iptables-szal, majd a blokkolandó portszámokkal, és a fenti forgatókönyv egyetlen lépésben elérhető .

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

Az írott szabályok az alábbi paranccsal ellenőrizhetők.

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

Kibeszélő: Ennyit akartam kérdezni. Ön értékes alkalmazott, akit nem fogunk kihagyni. A HR-esnek ajánlom a nevét. Ha bármilyen kérdése van, felteheti nekem.

Jelöltként nem akartam megszakítani a beszélgetést, ezért folyamatosan kérdezem, hogy milyen projektekkel foglalkoznék, ha kiválasztanának, és milyen további lehetőségek vannak a cégnél. Arról nem is beszélve, hogy a HR kört nem volt nehéz feltörni, és megkaptam a lehetőséget.

Továbbá szeretném megköszönni Avisheknek és Ravinak (akinek régóta barátom vagyok), hogy időt szakítottak az interjúm dokumentálására.

Barátaim! Ha adott volna ilyen interjút, és szeretné megosztani az interjúval kapcsolatos tapasztalatait több millió Tecmint olvasóval szerte a világon? majd küldje el kérdéseit és válaszait az [email  címre, vagy az alábbi űrlap segítségével küldje el interjúra vonatkozó tapasztalatait.

Köszönöm! Tartsa kapcsolatban. Azt is tudassa velem, ha egy kérdésre pontosabban válaszolhattam volna, mint amit tettem.