Biblioteka Paprastos instrukcijos, kaip dirbti su Profitserver paslauga
pagrindinis Biblioteka „Linux“ ugniasienės konfigūravimas

„Linux“ ugniasienės konfigūravimas


„Linux“ ugniasienė vaidina labai svarbų vaidmenį saugant kompiuterinę sistemą. Jis veikia kaip kliūtis, kontroliuoja ir filtruoja tinklo srautą, kad apsaugotų sistemą nuo neteisėtos prieigos, atakų ir kitų grėsmių. Be tinkamai sukonfigūruotos ugniasienės serveris gali būti pažeidžiamas įvairių tipų kibernetinių atakų, o tai gali turėti rimtų pasekmių duomenų saugumui ir konfidencialumui.

Šiame straipsnyje apžvelgsime du pagrindinius Linux ugniasienės konfigūravimo įrankius: ugniasienę ir iptables. Atliksime lyginamąją jų savybių, funkcionalumo ir privalumų analizę. Be to, pateiksime išsamias kiekvieno iš šių įrankių nustatymo ir naudojimo instrukcijas, taip pat aptarsime geriausią praktiką, kaip apsaugoti sistemą naudojant ugniasienę Linux platformoje. Visi veiksmai bus parodyti a Virtualus serveris su prieiga prie šaknies.

„Linux“ ugniasienės konfigūravimas

Ugniasienė (Firewall Daemon) yra programa, skirta valdyti užkardą Linux operacinėse sistemose. Tai suteikia vartotojo sąsają, leidžiančią konfigūruoti ugniasienės taisykles, leisti arba blokuoti tinklo programų ryšius. Pagal numatytuosius nustatymus jis yra iš anksto įdiegtas daugelyje serverių paskirstymų. Jei ugniasienė nėra iš anksto įdiegta, ją galima įdiegti atskirai nuo oficialių platinimo saugyklų.

Red Hat sistemose (pvz., RHEL, CentOS, Fedora) diegimas atliekamas naudojant komandą:

yum install firewalld

„Debian“ / „Ubuntu“:

apt-get install firewalld

Po įdiegimo jį galima paleisti ir iš karto suaktyvinti komanda:

systemctl start firewalld

Tada, norėdami paleisti, turite pridėti paslaugą:

systemctl enable firewalld
Užkardos pridėjimas prie „Linux“ automatinio įkėlimo

Šiuo metu rekomenduojame išjungti ufw, nes nerekomenduojama vienu metu naudoti šio įrankio su ugniasienėmis ar iptables. Patikrinkite būseną:

systemctl status ufw
Tikrinama ufw linux

Norėdami jį sustabdyti, įveskite komandą:

systemctl stop ufw

Norėdami visiškai išjungti:

ufw disable

Atlikę šiuos veiksmus, galite tęsti ugniasienės konfigūravimą.

Pirma, būtina apibrėžti pasitikėjimo zonas. Firewall naudoja zonų sąvoką, kad nustatytų tinklo sąsajų pasitikėjimo lygį. Kiekvienai sąsajai priskiriama viena zona, o ugniasienės taisyklės taikomos atsižvelgiant į zoną. Visų galimų zonų sąrašas atidaromas komanda:

firewall-cmd --get-zones

Paprastai naudojamos 4 pagrindinės zonos:

  1. Visuomenės: ši zona skirta tinklams, kuriuos laikote nesaugiais;
  2. Privatus: taikoma namų tinklams arba kitiems patikimiems tinklo ryšiams;
  3. Vidaus: naudojamas vidiniams tinklams, pvz., organizacijos ar įmonės tinkle;
  4. DMZ: Šioje zonoje paprastai yra serveriai, kurie turėtų būti pasiekiami iš interneto.

Tačiau tai tik vienas pavyzdys. Galite pridėti savo zoną naudodami komandą:

firewall-cmd --permanent --new-zone=nameyourzone

Pridėjus, reikia iš naujo įkelti:

firewall-cmd --reload

Norėdami ištrinti zoną, naudojamas panašus metodas

firewall-cmd --permanent --delete-zone=nameyourzone

Nustačius zonas, būtina leisti eismą reikalingoms paslaugoms ir uostams. Norėdami leisti tam tikrą paslaugą, naudokite komandą:

firewall-cmd --zone=public --add-service=name

Kur pavadinimas yra paslaugos pavadinimas. Pavyzdžiui, norėdami leisti srautą „Apache“:

firewall-cmd --zone=public --add-service=http

Norėdami apibrėžti leistinus prievadus, naudokite komandą:

firewall-cmd --zone=public --add-port=number/protocol

Pavyzdžiui, standartinis SSH 22 prievadas atrodytų taip:

firewall-cmd --zone=public --add-port=22/tcp

Šiame etape pagrindinės taisyklės jau sukurtos. Tada nustatykite, kaip srautas bus apdorojamas, atsižvelgiant į šaltinį, paskirties vietą, prievadą ir kitus kriterijus. Norėdami pridėti taisyklę (naudodami visuomenės zona kaip pavyzdys):

firewall-cmd --zone=public rule

Pavyzdžiui, norėdami leisti įeinantį srautą iš bet kurio šaltinio į 80 prievadą (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent

Norėdami pašalinti taisyklę:

firewall-cmd --permanent --remove-rule=rule_specification

Kur atmesti yra taisyklės tipas (pvz., uostas, paslauga, turtinga taisyklė ir kt.) ir taisyklės_specifikacija yra pačios taisyklės specifikacija.

Pakeitus ugniasienės konfigūraciją, būtina juos išsaugoti ir pritaikyti. Norėdami išsaugoti pakeitimus, naudokite komandą:

firewall-cmd --runtime-to-permanent

Norėdami pritaikyti pakeitimus:

firewall-cmd --reload

Baigę sąranką galite patikrinti pasirinktus parametrus atidarę visų taisyklių sąrašą:

firewall-cmd --list-all
ugniasienės Linux taisyklės

Jei kyla problemų, patikrinkite ugniasienės žurnalus naudodami komandą:

journalctl -u firewalld

Pastaba: apžvelgėme tik bendrą ryšio nustatymo algoritmą. Įrankis turi platų funkcionalumą. Norėdami gauti visą informaciją apie visas galimas parinktis, galite naudoti oficialūs dokumentai arba atidarykite žinyną:

firewall-cmd --help

„IPtables“ konfigūravimas „Linux“.

Skirtingai nuo ugniasienės, iptables yra senesnis, bet vis dar plačiai naudojamas Linux užkardos valdymo įrankis. Tai suteikia tiesioginį ir lankstesnį požiūrį į paketų filtravimo taisykles Linux branduolio lygiu. Tačiau „iptables“ reikalauja daugiau pažangių žinių ir patirties, palyginti su „Firewalld“, todėl ji yra mažiau prieinama pradedantiesiems. Patikrinkite iš anksto įdiegtą įrankio versiją naudodami komandą:

iptables -V

Jei įrankis neįdiegtas, jį reikės įdiegti. Diegimo komanda Ubuntu, Debian:

apt install iptables

„Red Hat“ sistemoms (pvz., „CentOS“, „Fedora“):

yum install iptables

Suaktyvinimo komanda po įdiegimo:

systemctl start iptables

Norėdami pridėti prie paleisties, vykdykite:

systemctl enable iptables

Prieš pradedant iptables konfigūraciją, svarbu suprasti, kaip ji veikia. Tai padeda programos sintaksė. Tai atrodo taip:

iptables -t table action chain additional_parameters

Į kiekvieną elementą pasigilinkime giliau.

„Iptables“ turi keturias pagrindines lenteles: filtras, natas, mangle ir neapdorotas. Kiekvienas iš jų yra skirtas apdoroti tam tikrų tipų paketus ir turi savo taisyklių grandines:

  1. filtruoti: Tai dažniausiai naudojama lentelė, kurioje yra paketų filtravimo taisyklės. Jis naudojamas priimant sprendimus, ar leisti, ar uždrausti paketus.
  2. NAT: Ši lentelė naudojama tinklo adresams ir prievadams keisti paketuose. Jis dažnai naudojamas nustatant maskavimą (NAT).
  3. raištis: Šioje lentelėje galite keisti paketų antraštes. Jis naudojamas specializuotoms paketų operacijoms, tokioms kaip žymėjimas.
  4. žalias: ši lentelė naudojama taisyklėms, kurios taikomos prieš joms pereinant per ryšio stebėjimo sistemą, konfigūruoti. Paprastai jis naudojamas nustatant taisykles, kurių stebėjimo sistema neturėtų keisti, pvz., išmesti paketus iš tam tikrų adresų.

Kiekvienoje lentelėje yra grandinių rinkinys. Grandinės yra taisyklių seka, kuri tikrinama nuosekliai. Yra trys iš anksto nustatytos grandinės:

  1. Įvestis (gaunama). Šios grandinės taisyklės nustato, ką daryti su gaunamais paketais.
  2. IŠVESTIS (išeinantis). Ši grandinė taikoma visiems paketams, kuriuos jūsų kompiuteris siunčia į kitus tinklo įrenginius ar kompiuterius.
  3. FORWARD (persiuntimas). Šios grandinės taisyklės nurodo, ką daryti su persiųstais paketais.

Galiausiai kiekviena grandinė turi tam tikrą veiksmą (taikinį). Praktiškai naudojami 5 pagrindiniai veiksmai:

  1. PRIIMTI: Leiskite paketui pereiti per ugniasienę.
  2. DROP: atmeskite paketą ir išmeskite jį be jokio atsakymo.
  3. ATSISAKYTI: atmeskite paketą ir nusiųskite siuntėjui ICMP klaidos pranešimą.
  4. PRISIJUNGTI: užregistruokite paketą sistemos žurnale ir atlikite kitą veiksmą (pvz., ACCEPT arba DROP).
  5. GRĄŽINIMAS: nustokite tikrinti dabartinės grandinės taisykles ir grįžkite į skambinimo grandinę (jei taikoma).

Norėdami pradėti sąranką, atidarykite esamų taisyklių sąrašą naudodami komandą:

iptables -L
„Linux“ ugniasienės konfigūravimas

Kaip Iptables konfigūravimo vadovą, pažvelkime į praktinius dažniausiai naudojamų komandų pavyzdžius. Kad būtų patogiau, pavyzdžius suskirstysime į 3 grupes, priklausomai nuo konkrečios grandinės.

grandinė ĮVADAS:

  1. Leisti įeinantį srautą per TCP protokolą per 80 prievadą:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. Leisti įeinantį srautą per UDP protokolą 22 prievadu:

iptables -A INPUT -p udp --dport 22 -j ACCEPT

3. Blokuokite įeinantį srautą iš konkretaus IP adreso:

iptables -A INPUT -s 192.168.1.100 -j DROP

grandinė IŠĖJIMAS:

  1. Leisti išeinantį srautą per TCP protokolą 443 prievadu:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. Leiskite išeinantį srautą per UDP protokolą 80 prievadu:

iptables -A OUTPUT -p udp --dport 80 -j ACCEPT

3. Blokuokite išeinantį srautą į konkretų prievadą (pavyzdžiui, 21):

iptables -A OUTPUT -p tcp --dport 21 -j DROP

grandinė PIRMYN:

  1. Blokuoti persiųstą srautą iš konkretaus IP adresų diapazono:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. Blokuokite paketų persiuntimą iš konkrečios tinklo sąsajos:

iptables -A FORWARD -i eth1 -j DROP

3. Apribokite konkretaus prievado vienalaikių jungčių skaičių (šiame pavyzdyje 10 jungčių per minutę per 80 prievadą):

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT

Kaip matote, kiekvienu atskiru atveju naudojamas papildomas argumentas (komanda). Norėdami gauti visą galimų argumentų sąrašą ir bendrą įrankio funkcionalumo palaikymą, įveskite:

iptables -h
iptables linux sąrankos komandų sąrašas

Norėdami įsitikinti, kad nustatymai yra teisingi, iš naujo įveskite komandą, kad peržiūrėtumėte taisyklių sąrašą:

iptables -L
Patikrinkite iptables linux taisykles

Norėdami ištrinti konkrečią taisyklę, naudokite komandą:

iptables -D chain rule_number

Pavyzdžiui, jei norite ištrinti taisyklę numeris 1 iš INPUT grandinės, komanda atrodys taip:

iptables -D INPUT 1

Norėdami ištrinti visas taisykles viena komanda:

iptables -F

Svarbi pastaba: iptables taisyklės neišsaugomos automatiškai iš naujo paleidus sistemą ar paslaugą. Norint išsaugoti taisykles, jas reikia įtraukti į konfigūracijos failą ir atkurti po perkrovimo. The iptables-save bei iptables-restore komunalinės paslaugos gali tai padėti. Norėdami išsaugoti taisykles, įveskite komandą:

iptables-save > /etc/iptables/rules.v4

Tai išsaugo dabartines iptables taisykles faile rules.v4. Norėdami atkurti po perkrovimo, įveskite:

iptables-restore < /etc/iptables/rules.v4

Ši komanda atkuria taisykles iš failo taisyklės.v4.

Išvada

„Linux“ ugniasienės konfigūravimas naudojant ugniasienę arba „iptables“ yra svarbus serverio saugumo užtikrinimo aspektas. Abu įrankiai siūlo patikimas tinklo srauto valdymo priemones ir sistemos apsaugą nuo neteisėtos prieigos ir kibernetinių atakų. Pasirinkimas tarp ugniasienės ir iptables priklauso nuo konkrečių vartotojo poreikių ir pageidavimų, atsižvelgiant į skirtingas jų funkcijas ir stipriąsias puses.

❮ Ankstesnis straipsnis Linux vartotojai: valdymas ir leidimai
Kitas straipsnis ❯ Serverio apkrovos diagnostika

Klauskite mūsų apie VPS

Mes visada pasiruošę atsakyti į jūsų klausimus bet kuriuo dienos ar nakties metu.