Si funksionon Firewall i Iptables
Prezantimi
Vendosja e një muri zjarri është një hap thelbësor për të siguruar çdo sistem operativ modern. Shumica e shpërndarjeve Linux dërgohen me disa mjete të ndryshme të murit të zjarrit që mund t'i përdorni për të konfiguruar një mur zjarri. Në këtë udhëzues, ne do të mbulojmë murin e zjarrit iptables
.
Iptables është një mur zjarri standard i përfshirë në shumicën e shpërndarjeve Linux si parazgjedhje. Është një ndërfaqe e linjës së komandës për grepat e netfilterit të nivelit të kernelit që mund të manipulojë grupin e rrjetit Linux. Ai funksionon duke përputhur çdo paketë që kalon ndërfaqen e rrjetit me një sërë rregullash për të vendosur se çfarë të bëni.
Në këtë udhëzues, ju do të rishikoni se si funksionon Iptables. Për një qasje më të thelluar, mund të lexoni Një Zhytje e Thellë në Iptables dhe Arkitekturën Netfilter.
Si funksionon Iptables
Së pari, le të shqyrtojmë disa terminologji dhe të diskutojmë se si funksionon iptables.
Firewall iptables funksionon duke krahasuar trafikun e rrjetit me një grup rregullash. Rregullat përcaktojnë karakteristikat që duhet të ketë një paketë rrjeti për t'u përshtatur, dhe veprimet që duhet të ndërmerren për përputhjen e paketave.
Ka shumë opsione për të përcaktuar se cilat pako përputhen me një rregull specifik. Ju mund të përputhni llojin e protokollit të paketës, adresën ose portin e burimit ose destinacionit, ndërfaqen që përdoret, lidhjen e tij me paketat e mëparshme etj.
Kur modeli i përcaktuar përputhet, veprimi që ndodh quhet objektiv. Një objektiv mund të jetë një vendim përfundimtar i politikës për paketën, si p.sh. ACCEPT
ose DROP
. Ai gjithashtu mund ta zhvendosë paketën në një zinxhir tjetër për përpunim, ose të regjistrojë takimin. Ka shumë opsione.
Këto rregulla janë të organizuara në grupe të quajtura zinxhirë. Një zinxhir është një grup rregullash ndaj të cilave një paketë kontrollohet në mënyrë sekuenciale. Kur paketa përputhet me një nga rregullat, ajo ekzekuton veprimin e lidhur dhe kapërcen rregullat e mbetura në zinxhir.
Një përdorues mund të krijojë zinxhirë sipas nevojës. Janë tre zinxhirë të përcaktuar si parazgjedhje. Ata janë:
- HYRJE: Ky zinxhir trajton të gjitha paketat që i drejtohen serverit tuaj.
- DALIM: Ky zinxhir përmban rregulla për trafikun e krijuar nga serveri juaj.
- Përpara: Ky zinxhir përdoret për të trajtuar trafikun e destinuar për serverë të tjerë që nuk janë krijuar në serverin tuaj. Ky zinxhir është një mënyrë për të konfiguruar serverin tuaj për të drejtuar kërkesat në makina të tjera.
Çdo zinxhir mund të përmbajë zero ose më shumë rregulla dhe ka një politikë të paracaktuar. Politika përcakton se çfarë ndodh kur një paketë kalon nëpër të gjitha rregullat në zinxhir dhe nuk përputhet me asnjë rregull. Ju ose mund ta hiqni paketën ose ta pranoni paketën nëse nuk përputhen rregulla.
Iptables gjithashtu mund të gjurmojë lidhjet. Kjo do të thotë që ju mund të krijoni rregulla që përcaktojnë se çfarë ndodh me një paketë bazuar në marrëdhëniet e saj me paketat e mëparshme. Aftësia është \ndjekja e gjendjes, \gjurmimi i lidhjes ose konfigurimi i \makinerisë së gjendjes.
IPv4 kundrejt IPv6
Firewall-i i netfilterit që përfshihet në kernelin Linux mban trafikun IPv4 dhe IPv6 plotësisht të ndarë. Veglat Iptables të përdorura për të manipuluar tabelat që përmbajnë grupet e rregullave të murit të zjarrit janë gjithashtu të dallueshme. Nëse keni IPv6 të aktivizuar në serverin tuaj, do t'ju duhet të konfiguroni të dyja tabelat për të adresuar trafikun në serverin tuaj.
Shënim: Nftables, një pasues i Iptables, integron trajtimin e IPv4 dhe IPv6 më nga afër. Komanda iptables-translate mund të përdoret për të migruar rregullat e Iptables në Nftables.
Komanda e rregullt iptables
përdoret për të manipuluar tabelën që përmban rregullat që rregullojnë trafikun IPv4. Për trafikun IPv6, përdoret një komandë shoqëruese e quajtur ip6tables
. Çdo rregull që vendosni me iptables
do të prekë vetëm paketat që përdorin adresimin IPv4, por sintaksa midis këtyre komandave është e njëjtë. Komanda iptables
do të krijojë rregullat që zbatohen për trafikun IPv4 dhe komanda ip6tables
do të bëjë rregullat që zbatohen për trafikun IPv6. Mos harroni të përdorni adresat IPv6 të serverit tuaj për të krijuar rregullat ip6tabela
.
Gjërat që duhen mbajtur parasysh
Tani që e dini se si iptables i drejton paketat që vijnë përmes ndërfaqes së tij - drejtojeni paketën në zinxhirin e duhur, kontrolloni atë me çdo rregull derisa të përputhet njëri, lëshoni politikën e paracaktuar të zinxhirit nëse nuk gjendet asnjë përputhje - mund të filloni të krijoni rregulla .
Së pari, duhet të siguroheni që keni rregulla për të mbajtur aktive lidhjet aktuale nëse zbatoni një politikë të paracaktuar të heqjes. Kjo është veçanërisht e rëndësishme nëse jeni i lidhur me serverin tuaj përmes SSH. Nëse zbatoni aksidentalisht një rregull ose politikë që prish lidhjen tuaj aktuale, mund t'ju duhet të identifikoheni në serverin tuaj duke përdorur një tastierë rikuperimi të bazuar në shfletues.
Një tjetër gjë që duhet mbajtur parasysh është se rendi i rregullave në çdo zinxhir ka rëndësi. Një paketë nuk duhet të hasë në një rregull më të përgjithshëm që përputhet nëse synohet të përputhet me një rregull më specifik.
Për shkak të kësaj, rregullat pranë majës së një zinxhiri duhet të kenë një nivel më të lartë specifikë sesa rregullat në fund. Fillimisht duhet të përputheni me raste specifike dhe më pas të jepni rregulla më të përgjithshme për t'iu përshtatur modeleve më të gjera. Nëse një paketë bie në të gjithë zinxhirin (nëse nuk përputhet me ndonjë rregull), ajo do të ndjekë rregullin më të përgjithshëm, d.m.th., politikën e paracaktuar.
Për këtë arsye, politika e paracaktuar e një zinxhiri dikton fuqishëm llojet e rregullave që do të përfshihen në zinxhir. Një zinxhir me politikën e paracaktuar të ACCEPT
do të përmbajë rregulla që hedhin në mënyrë të qartë paketat. Një zinxhir që është i paracaktuar në DROP
do të përmbajë përjashtime për paketat që duhet të pranohen në mënyrë specifike.
konkluzioni
Në këtë pikë, ju jeni gati të zbatoni murin tuaj të zjarrit. Për këtë, duhet të lexoni Firewall-et e Cloud të DigitalOcean.