Kif Twaqqaf Iptables Firewall biex Tippermetti Aċċess Remot għas-Servizzi fil-Linux - Parti 8
L-introduzzjoni tal-Programm ta' Ċertifikazzjoni tal-Fondazzjoni Linux
Se tfakkar mill-Parti 1 – Dwar Iptables ta’ din is-serje LFCE (Linux Foundation Certified Engineer) li tajna deskrizzjoni bażika ta’ x’inhu firewall: mekkaniżmu biex timmaniġġja pakketti li jidħlu u joħorġu min-netwerk. Bi \immaniġġja fil-fatt nifhmu:
- Biex tippermetti jew tipprevjeni li ċerti pakketti jidħlu jew joħorġu min-netwerk tagħna.
- Biex tibgħat pakketti oħra minn punt wieħed tan-netwerk għal ieħor.
ibbażata fuq kriterji predeterminati.
F'dan l-artikolu ser niddiskutu kif nimplimentaw l-iffiltrar bażiku tal-pakketti u kif tikkonfigura l-firewall b'iptables, frontend għal netfilter, li huwa modulu tal-kernel nattiv użat għall-firewalling.
Jekk jogħġbok innota li l-firewalling huwa suġġett vast u dan l-artikolu mhuwiex maħsub biex ikun gwida komprensiva biex wieħed jifhem dak kollu li hemm biex tkun taf dwaru, iżda pjuttost bħala punt tat-tluq għal studju aktar profond ta 'dan is-suġġett. Madankollu, se nirrevedu s-suġġett f'Parti 10 ta' din is-serje meta nesploraw ftit każijiet speċifiċi ta' użu ta' firewall fil-Linux.
Tista 'taħseb firewall bħala ajruport internazzjonali fejn ajruplani tal-passiġġieri jiġu u jmorru kważi 24/7. Fuq il-bażi ta’ numru ta’ kundizzjonijiet, bħall-validità tal-passaport ta’ persuna, jew il-pajjiż ta’ oriġini tagħha (biex insemmu xi ftit eżempji) tista’, jew ma tistax, titħalla tidħol jew titlaq minn ċertu pajjiż.
Fl-istess ħin, uffiċjali tal-ajruport jistgħu jagħtu struzzjonijiet lin-nies biex jiċċaqilqu minn post tal-ajruport għall-ieħor jekk ikun meħtieġ, pereżempju meta jkollhom bżonn jgħaddu mis-Servizzi tad-Dwana.
Nistgħu nsibu l-analoġija tal-ajruport utli matul il-bqija ta 'dan it-tutorja. Żomm f'moħħok ir-relazzjonijiet li ġejjin hekk kif nipproċedu:
- Persuni = Pakketti
- Firewall = Ajruport
- Pajjiż #1 = Netwerk #1
- Pajjiż #2 = Netwerk #2
- Regolamenti tal-ajruport infurzati minn uffiċjali = regoli tal-firewall
Iptables - Il-Basics
Fil-livell baxx, huwa l-qalba innifsu li \jiddeċiedi” x'għandu jsir b'pakketti bbażati fuq regoli miġbura fi ktajjen, jew sentenzi Dawn il-ktajjen jiddefinixxu x'azzjonijiet għandhom jittieħdu meta pakkett jaqbel mal-kriterji speċifikati minnhom.
L-ewwel azzjoni meħuda minn iptables se tikkonsisti fid-deċiżjoni x'għandek tagħmel b'pakkett:
- Aċċettaha (ħalliha tgħaddi fin-netwerk tagħna)?
- Irrifjutah (jipprevjenih milli jaċċessa n-netwerk tagħna)?
- Tgħaddiha (għal katina oħra)?
Fil-każ li kont qed tistaqsi għaliex din l-għodda tissejjaħ iptables, huwa għaliex dawn il-ktajjen huma organizzati f’tabelli, bit-tabella tal-filtri tkun l-aktar magħrufa u dik li hija użat biex jimplimenta l-iffiltrar tal-pakketti bit-tliet ktajjen default tiegħu:
1. Il-katina INPUT timmaniġġja pakketti li jidħlu fin-netwerk, li huma destinati għal programmi lokali.
2. Il-katina OUTPUT tintuża biex tanalizza pakketti oriġinaw fin-netwerk lokali, li għandhom jintbagħtu barra.
3. Il-katina FOWARD tipproċessa l-pakketti li għandhom jintbagħtu lejn destinazzjoni oħra (bħal fil-każ ta' router).
Għal kull waħda minn dawn il-ktajjen hemm politika default, li tiddetta x'għandu jsir b'mod awtomatiku meta l-pakketti ma jaqblux ma' xi waħda mir-regoli fil-katina. Tista 'tara r-regoli maħluqa għal kull katina u l-politika default billi tħaddem il-kmand li ġej:
# iptables -L
Il-politiki disponibbli huma kif ġej:
- AĊĊETTA → tħalli l-pakkett jgħaddi. Kwalunkwe pakkett li ma jaqbilx ma' xi regoli fil-katina huwa permess fin-netwerk.
- DROP → twaqqa’ l-pakkett bil-kwiet. Kwalunkwe pakkett li ma jaqbilx ma' xi regoli fil-katina huwa pprojbit milli jidħol fin-netwerk.
- IRĊAĦDA → jirrifjuta l-pakkett u jirritorna messaġġ informattiv. Din b'mod partikolari ma taħdimx bħala politika default. Minflok, huwa maħsub biex jikkumplimenta r-regoli tal-iffiltrar tal-pakketti.
Meta tiġi biex tiddeċiedi liema politika se timplimenta, trid tikkunsidra l-vantaġġi u l-iżvantaġġi ta’ kull approċċ kif spjegat hawn fuq – innota li m’hemm l-ebda għażla waħda. -soluzzjoni kollha.
Biex iżżid regola mal-firewall, invoka l-kmand iptables kif ġej:
# iptables -A chain_name criteria -j target
fejn,
- -A tfisser Append (ehmeż ir-regola attwali mat-tarf tal-katina).
- chain_name huwa jew INPUT, OUTPUT, jew FORWARD.
- mira hija l-azzjoni, jew il-politika, li għandha tiġi applikata f'dan il-każ (AĊĊETTA, ĊĦAĦDA, jew Waqqa').
- kriterji huwa s-sett ta' kundizzjonijiet li magħhom għandhom jiġu eżaminati l-pakketti. Huwa magħmul minn mill-inqas wieħed (x'aktarx aktar) mill-bnadar li ġejjin. Għażliet ġewwa parentesi, separati minn bar vertikali, huma ekwivalenti għal xulxin. Il-bqija jirrappreżenta swiċċijiet fakultattivi:
[--protocol | -p] protocol: specifies the protocol involved in a rule. [--source-port | -sport] port:[port]: defines the port (or range of ports) where the packet originated. [--destination-port | -dport] port:[port]: defines the port (or range of ports) to which the packet is destined. [--source | -s] address[/mask]: represents the source address or network/mask. [--destination | -d] address[/mask]: represents the destination address or network/mask. [--state] state (preceded by -m state): manage packets depending on whether they are part of a state connection, where state can be NEW, ESTABLISHED, RELATED, or INVALID. [--in-interface | -i] interface: specifies the input interface of the packet. [--out-interface | -o] interface: the output interface. [--jump | -j] target: what to do when the packet matches the rule.
Ejja nkolla dak kollu fi 3 eżempji klassiċi billi tuża l-ambjent tat-test li ġej għall-ewwel tnejn:
Firewall: Debian Wheezy 7.5 Hostname: dev2.gabrielcanepa.com IP Address: 192.168.0.15
Source: CentOS 7 Hostname: dev1.gabrielcanepa.com IP Address: 192.168.0.17
U dan għall-aħħar eżempju
NFSv4 server and firewall: Debian Wheezy 7.5 Hostname: debian IP Address: 192.168.0.10
Source: Debian Wheezy 7.5 Hostname: dev2.gabrielcanepa.com IP Address: 192.168.0.15
L-ewwel ser niddefinixxu politika ta' DROP għall-input pings fil-firewall tagħna. Jiġifieri, il-pakketti icmp se jintefgħu bil-kwiet.
# ping -c 3 192.168.0.15
# iptables -A INPUT --protocol icmp --in-interface eth0 -j DROP
Qabel ma nipproċedu bil-parti ta' IR-REJECT, aħna se naħsel ir-regoli kollha mill-katina INPUT biex niżguraw li l-pakketti tagħna jiġu ttestjati b'din ir-regola l-ġdida:
# iptables -F INPUT # iptables -A INPUT --protocol icmp --in-interface eth0 -j REJECT
# ping -c 3 192.168.0.15
Se nkunu qed nittrattaw il-katina OUTPUT hekk kif qed nittrattaw it-traffiku ħerġin:
# iptables -A OUTPUT --protocol tcp --destination-port 22 --out-interface eth0 --jump REJECT
Mexxi l-kmandi li ġejjin fis-server/firewall NFSv4 biex tagħlaq il-portijiet 2049 u 111 għal kull tip ta 'traffiku:
# iptables -F # iptables -A INPUT -i eth0 -s 0/0 -p tcp --dport 2049 -j REJECT # iptables -A INPUT -i eth0 -s 0/0 -p tcp --dport 111 -j REJECT
Issa ejja niftħu dawk il-portijiet u naraw x'jiġri.
# iptables -A INPUT -i eth0 -s 0/0 -p tcp --dport 111 -j ACCEPT # iptables -A INPUT -i eth0 -s 0/0 -p tcp --dport 2049 -j ACCEPT
Kif tistgħu taraw, stajna narmaw is-sehem NFSv4 wara li ftaħt it-traffiku.
Fl-eżempji preċedenti wrejna kif tehmeż ir-regoli mal-ktajjen INPUT u OUTPUT. Jekk irridu ndaħħluhom minflok f'pożizzjoni predefinita, għandna nużaw is-swiċċ -I (i u kbar) minflok.
Trid tiftakar li r-regoli se jiġu evalwati wara xulxin, u li l-evalwazzjoni tieqaf (jew taqbeż) meta politika ta' DROP jew AĊĊETTA tkun imqabbla. Għal dik ir-raġuni, tista 'ssib ruħek fil-ħtieġa li tmexxi r-regoli 'l fuq jew 'l isfel fil-lista tal-katina kif meħtieġ.
Se nużaw eżempju trivjali biex nuru dan:
Ejja npoġġu r-regola li ġejja,
# iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT
fil-pożizzjoni 2) fil-katina INPUT (b'hekk niċċaqlaq #2 preċedenti bħala #3)
Bl-użu tas-setup ta’ hawn fuq, it-traffiku jiġi ċċekkjat biex jara jekk huwiex dirett lejn il-port 80 qabel ma jiċċekkja l-port 2049.
Alternattivament, tista' tħassar regola u tibdel il-mira tar-regoli li fadal għal IR-RIFETTA (bl-użu tas-swiċċ -R):
# iptables -D INPUT 1 # iptables -nL -v --line-numbers # iptables -R INPUT 2 -i eth0 -s 0/0 -p tcp --dport 2049 -j REJECT # iptables -R INPUT 1 -p tcp --dport 80 -j REJECT
Fl-aħħar, iżda mhux l-inqas, ikollok bżonn tiftakar li sabiex ir-regoli tal-firewall ikunu persistenti, ser ikollok bżonn issalvahom f'fajl u mbagħad tirrestawrahom awtomatikament mal-boot (bl-użu tal-metodu preferut tal-għażla tiegħek jew dak li hija disponibbli għad-distribuzzjoni tiegħek).
Iffrankar tar-regoli tal-firewall:
# iptables-save > /etc/iptables/rules.v4 [On Ubuntu] # iptables-save > /etc/sysconfig/iptables [On CentOS / OpenSUSE]
Ir-regoli tar-restawr:
# iptables-restore < /etc/iptables/rules.v4 [On Ubuntu] # iptables-restore < /etc/sysconfig/iptables [On CentOS / OpenSUSE]
Hawnhekk nistgħu naraw proċedura simili (issejvjar u restawr tar-regoli tal-firewall bl-idejn) billi tuża fajl finta msejjaħ iptables.dump minflok dak default kif muri hawn fuq.
# iptables-save > iptables.dump
Biex tagħmel dawn il-bidliet persistenti madwar l-istivali:
Ubuntu: Installa l-pakkett iptables-persistent, li se jgħabbi r-regoli ssejvjati fil-fajl /etc/iptables/rules.v4.
# apt-get install iptables-persistent
CentOS: Żid iż-żewġ linji li ġejjin fil-fajl /etc/sysconfig/iptables-config.
IPTABLES_SAVE_ON_STOP="yes" IPTABLES_SAVE_ON_RESTART="yes"
OpenSUSE: Elenka portijiet permessi, protokolli, indirizzi, eċċ (separati b'virgoli) f'/etc/sysconfig/SuSEfirewall2.
Għal aktar informazzjoni irreferi għall-fajl innifsu, li huwa kkummentat ħafna.
Konklużjoni
L-eżempji pprovduti f'dan l-artikolu, filwaqt li ma jkoprux il-qniepen u s-sfarfar kollha tal-iptables, iservu l-iskop li juru kif jiġi attivat u diżattivat it-traffiku li jkun dieħel jew ħerġin.
Għal dawk minnkom li huma dilettanti tal-firewall, żommu f'moħħok li se nirrevedu dan is-suġġett b'applikazzjonijiet aktar speċifiċi f'Parti 10 ta' din is-serje LFCE.
Ħossok liberu li tgħarrafni jekk għandek xi mistoqsijiet jew kummenti.