13 Interview Froen iwwer Linux iptables Firewall


D'Nishita Agarwal, e reegelméissegen Tecmint Besucher huet hir Erfarung (Fro an Äntwert) mat eis gedeelt iwwer den Jobinterview, deen se just an enger privater Besëtzer Hostingfirma zu Pune, Indien ginn huet. Si gouf vill Froen iwwer eng Vielfalt vun Themen gefrot, awer si ass en Expert an iptables a si wollt dës Froen an hir Äntwert deelen (si huet) am Zesummenhang mat iptables un anerer deelen, déi an noer Zukunft en Interview ginn.

All d'Froen an hir Äntwert ginn op Basis vun der Erënnerung un Nishita Agarwal nei geschriwwe ginn.

Hallo Frënn! Mäin Numm ass Nishita Agarwal. Ech hunn de Bachelorstudium an der Technologie verfollegt. Meng Spezialisatiounsberäich ass UNIX a Varianten vun UNIX (BSD, Linux) faszinéiert mech zënter der Zäit wou ech et héieren hunn. Ech hunn 1+ Joer Erfahrung am Stockage.Ech war op der Sich no enger Aarbechtswiessel déi mat enger Hostingfirma zu Pune, Indien opgehalen ass.

Hei ass d'Sammlung vun deem wat ech während dem Interview gefrot goufen. Ech hunn nëmmen déi Froen an hir Äntwert dokumentéiert, déi mat iptables verbonne waren baséiert op menger Erënnerung. Hoffen dëst wäert Iech hëllefen an Ärem Interview ze knacken.

Äntwert: Ech hunn iptables fir eng zimlech laang Zäit benotzt an ech sinn bewosst souwuel iptables wéi och Firewall. Iptables ass en Applikatiounsprogramm meeschtens an der C Programméiersprooch geschriwwen a gëtt ënner der GNU General Public License verëffentlecht. Geschriwwen fir Systemverwaltung Siicht, déi lescht stabil Verëffentlechung wann iptables 1.4.21.iptables kënnen als Firewall fir UNIX wéi Betribssystem ugesi ginn, deen als iptables/netfilter genannt ka ginn, méi präzis. Den Administrator interagéiert mat iptables iwwer Konsol/GUI Frontend Tools fir Firewall Regelen a virdefinéiert Dëscher ze addéieren an ze definéieren. Netfilter ass e Modul am Kernel gebaut deen d'Aarbecht vum Filter maachen.

Firewalld ass déi lescht Implementatioun vu Filterregelen am RHEL/CentOS 7 (kann an anere Verdeelungen ëmgesat ginn, déi ech vläicht net bewosst sinn). Et huet iptables Interface ersat a verbënnt mam Netfilter.

Äntwert: Obwuel ech souwuel d'GUI-baséiert Frontend-Tools fir iptables wéi Webmin an der GUI an den direkten Zougang zu iptables iwwer Konsol benotzt hunn.An ech muss zouginn datt den direkten Zougang zu iptables iwwer Linux Konsole gëtt engem Benotzer immens Kraaft a Form vu méi héijer Flexibilitéit a bessere Verständnis vu wat am Hannergrond lass ass, wann net soss eppes. GUI ass fir Ufänger Administrateur wärend d'Konsole fir erfuerene ass.

Äntwert: iptables a Firewalld déngen dee selwechten Zweck (Packet Filteren) awer mat enger anerer Approche. iptables spülen déi ganz Reegelen all Kéier wann eng Ännerung am Géigesaz zu Firewalld gemaach gëtt. Typesch läit d'Plaz vun der iptables Konfiguratioun bei '/etc/sysconfig/iptables' wärend d'Firewalld Konfiguratioun bei '/etc/firewalld/' läit, wat eng Rei vun XML Dateien ass.Eng XML baséiert Firewalld konfiguréieren. ass méi einfach am Verglach mat der Konfiguratioun vun iptables, awer déiselwecht Aufgab ka mat der Packetfilterapplikatioun erreecht ginn dh, iptables a Firewalld. Firewalld leeft iptables ënner senger Hood zesumme mat senger eegener Kommandozeil-Interface a Konfiguratiounsdatei déi XML-baséiert ass an uewen gesot.

Äntwert: Ech sinn vertraut mat iptables an et funktionnéiert a wann et näischt ass wat en dynameschen Aspekt vun der Firewalld erfuerdert, schéngt et kee Grond fir all meng Konfiguratioun vun iptables op Firewalld ze migréieren. An deene meeschte Fäll, bis elo hunn ech ni iptables gesinn en Thema erstellen. Och d'allgemeng Regel vun der Informatiounstechnologie seet firwat fixéieren wann et net gebrach ass. Dëst ass awer meng perséinlech Gedanken an ech géif et egal sinn Firewalld ëmzesetzen wann d'Organisatioun iptables duerch Firewalld ersetzt.

Wat sinn d'Tabellen an iptables benotzt? Gitt eng kuerz Beschreiwung vun den Dëscher déi an iptables benotzt ginn an d'Ketten déi se ënnerstëtzen.

Äntwert: Merci fir d'Unerkennung. Plënneren op Fro Deel, Et gi véier Dëscher an iptables benotzt, nämlech si:

  1. Nat Table
  2. Mangle Table
  3. Filtertabell
  4. Raw Table

Nat Table: Nat Table gëtt haaptsächlech fir Network Adress Iwwersetzung benotzt. Masqueraded Pakete kréien hir IP Adress geännert no de Regelen an der Tabell. Päck am Baach duerchgestrachenem Nat Table nëmmen eemol. dh, Wann e Paket aus engem Jet vu Packets maskéiert ass, wäerte de Rescht vun de Packagen an der Baach net erëm duerch dësen Dësch goen. Et ass recommandéiert net an dëser Tabell ze filteren. Ketten Ënnerstëtzt vun NAT Table sinn PREROUTING Chain, POSTROUTING Chain an OUTPUT Chain.

Mangle Table: Wéi den Numm et scho seet, servéiert dësen Dësch fir d'Päckchen ze mangéieren. Et gëtt fir Special Package Ännerung benotzt. Et kann benotzt ginn fir den Inhalt vu verschiddene Paketen an hiren Header z'änneren. Mangle Dësch kann net fir Masquerading benotzt ginn. Ënnerstëtzt Ketten sinn PREROUTING Chain, OUTPUT Chain, Forward Chain, INPUT Chain, POSTROUTING Chain.

Filter Table: Filter Table ass d'Standardtabell déi an iptables benotzt gëtt. Et gëtt benotzt fir Packagen ze filteren. Wa keng Reegele definéiert sinn, gëtt Filtertable als Standardtabell geholl a Filterung gëtt op Basis vun dëser Tabell gemaach. Ënnerstëtzt Ketten sinn INPUT Chain, OUTPUT Chain, FORWARD Chain.

Raw Table: Raw Table kënnt an Handlung wa mir Packagen wëllen konfiguréieren déi virdru befreit goufen. Et ënnerstëtzt PREROUTING Chain an OUTPUT Chain.

Äntwert: Folgend sinn d'Zilwäerter déi mir an Ziel an iptables spezifizéiere kënnen:

    1. AKZEPTEREN: Pakete akzeptéieren
    2. QUEUE: Paas Package fir Benotzerraum (Plaz wou d'Applikatioun an d'Treiber wunnen)
    3. DROP: Drop Packets
    4. RETURN: Gitt d'Kontroll zréck op d'Ruffkette an stoppt d'nächst Set vu Reegele fir déi aktuell Pakete an der Kette auszeféieren.

    Wéi kontrolléiert Dir iptables rpm déi erfuerderlech ass fir iptables an CentOS z'installéieren?.

    Äntwert: iptables RPM sinn an der Standard CentOS Installatioun abegraff a mir brauche se net separat z'installéieren. Mir kënnen d'rpm kontrolléieren als:

    # rpm -qa iptables
    
    iptables-1.4.21-13.el7.x86_64
    

    Wann Dir et installéiere musst, kënnt Dir Yum maachen fir et ze kréien.

    # yum install iptables-services
    

    Äntwert: Fir den Status vun iptables ze kontrolléieren, kënnt Dir de folgende Kommando um Terminal ausféieren.

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

    Wann et net leeft, kann de Kommando hei ënnen ausgefouert ginn.

    ---------------- On CentOS 6/5 ---------------- 
    # chkconfig --level 35 iptables on
    # service iptables start
    
    ---------------- On CentOS 7 ---------------- 
    # systemctl enable iptables 
    # systemctl start iptables 
    

    Mir kënnen och kontrolléieren ob den iptables Modul gelueden ass oder net, wéi:

    # lsmod | grep ip_tables
    

    Äntwert: Déi aktuell Regelen an iptables kënnen esou einfach iwwerpréift ginn wéi:

    # iptables -L
    

    Prouf Ausgang

    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
    

    Äntwert: Fir eng bestëmmte iptables Kette ze spülen, kënnt Dir folgend Kommandoen benotzen.

     
    # iptables --flush OUTPUT
    

    Fir all iptables Regelen ze spülen.

    # iptables --flush
    

    Äntwert: Den uewe genannte Szenario kann einfach erreecht ginn andeems Dir de Kommando ënnen leeft.

    # iptables -A INPUT -s 192.168.0.7 -j ACCEPT 
    

    Mir kënnen d'Standard Slash oder Subnet Mask an der Quell enthalen wéi:

    # 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
    

    Äntwert: Hoffnung datt ssh um Port 22 leeft, wat och de Standardport fir ssh ass, kënne mir d'Regel un iptables addéieren als:

    Fir tcp Pakete fir ssh Service AKZEPTÉIEREN (Port 22).

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

    Fir tcp Pakete fir ssh Service ze REJECTEREN (Port 22).

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

    Fir tcp Pakete fir ssh Service (Port 22) ze DENY.

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

    Fir tcp Pakete fir ssh Service ze DROP (Port 22).

     
    # iptables -A INPUT -s -p tcp --dport 22 -j DROP
    

    Äntwert: Well alles wat ech brauch ze benotzen ass d''Multiport' Optioun mat iptables gefollegt vun Portnummeren fir ze blockéieren an deen uewe genannte Szenario kann an engem eenzege Wee erreecht ginn als.

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

    Déi schrëftlech Regele kënnen iwwerpréift ginn andeems Dir de Kommando hei drënner benotzt.

    # 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
    

    Interviewer: Dat ass alles wat ech wollt froen. Dir sidd e wäertvolle Mataarbechter, dee mir net gär verpassen. Ech recommandéieren Ären Numm dem HR. Wann Dir Froen hutt, kënnt Dir mech froen.

    Als Kandidat wollt ech d'Gespréich net ëmbréngen, dofir froen ech weider iwwer d'Projeten, déi ech géif behandelen, wa se gewielt goufen a wat sinn déi aner Ouverturen an der Firma. Net ze ernimmen HR Ronn war net schwéier ze knacken an ech krut d'Geleeënheet.

    Och ech wëll dem Avishek an dem Ravi Merci soen (déi ech zënter laangem e Frënd sinn) fir d'Zäit ze huelen fir mäi Interview ze dokumentéieren.

    Frënn! Wann Dir esou en Interview ginn hätt an Dir wëllt Är Interviewerfarung mat Millioune Tecmint Lieser ronderëm de Globus deelen? schéckt dann Är Froen an Äntwerten op [email  oder Dir kënnt Är Interviewerfahrung mat der folgender Form ofginn.

    Merci! Bleift verbonnen. Loosst mech och wëssen ob ech eng Fro méi korrekt beäntwert hätt wéi dat wat ech gemaach hunn.