Sužinokite „Linux“

Valdykite tinklo saugumą naudodami „Firewalld“ naudodami komandų eilutes

Valdykite tinklo saugumą naudodami „Firewalld“ naudodami komandų eilutes

Tinklo saugumo palaikymas yra sistemos administratorių raktas, o ugniasienės konfigūravimas naudojant komandinę eilutę yra būtinas mokymosi įgūdis. Straipsnyje bus paryškinta, kaip valdyti užkardą naudojant „firewall-cmd“ „Linux“ komandinėje eilutėje.

Ugniasienė iš esmės yra programinė įranga, kurią galite sukonfigūruoti valdyti įeinantį ir išeinantį tinklo srautą. Ugniasienės gali užkirsti kelią kitiems vartotojams naudotis tinklo paslaugomis jūsų vykdomoje sistemoje. Dauguma „Linux“ sistemų siunčiamos su numatytąja užkarda. Ankstesnėse „Linux“ sistemų versijose „iptables“ buvo naudojamas kaip paketų filtravimo deimonas. Naujesnės „Fedora“, „RHEL / CentOS“, „openSUSE“ laivo versijos su ugniasienėmis kaip numatytąją užkardos deemoną. „Firewalld“ taip pat galite įdiegti „Debian“ ir „Ubuntu“ skyriuose.


Aš rekomenduoju naudoti „Firewalld“, o ne „iptables“. Ne tik imk mano žodį. Sužinokite daugiau iš mūsų išsamaus „Linux“ sistemos atvirojo kodo užkardų vadovo.

„Firewalld“ yra dinamiška programa, skirta valdyti užkardas, palaikant tinklo ar užkardos zonas. Ugniasienės zonos apibrėžia tinklo sąsajų, paslaugų ar ryšių tinklo saugumo pasitikėjimo lygius. Tinklo apsaugos sistemos administratoriai nustatė, kad „Firewalld“ puikiai veikia su „IPv4“, „IPv6“, IP rinkiniais ir „Ethernet“ tiltais. Norėdami valdyti „Firewalld“, galite naudoti „firewall-cmd“ terminalo komandą arba „firewall-config“ GUI konfigūravimo įrankį.

Šiame vadove bus naudojamas ugniasienė-cmd komanda valdyti tinklo saugumą, o mūsų bandomoji aplinka bus „Fedora Workstation 33“.

Prieš pradėdami naudotis visais techniniais klausimais, sužinokime keletą tinklo pagrindų.

Tinklo pagrindai

Prie tinklo prijungtam kompiuteriui priskiriamas IP adresas, kuris naudojamas duomenims nukreipti. Kompiuteriai taip pat turi 0-65535 diapazono prievadus, kurie veikia kaip prisijungimo taškai IP adresu. Programos gali rezervuoti konkrečius uostus. Žiniatinklio serveriai paprastai rezervuoja 80 prievadą saugiam HTTP ryšiui. Iš esmės prievadų diapazonai nuo 0 iki 1024 yra rezervuoti gerai žinomiems tikslams ir sistemai.

Du pagrindiniai interneto duomenų perdavimo protokolai (TCP ir UDP) naudoja šiuos prievadus tinklo ryšio metu. Pagrindinis kompiuteris užmezga ryšį tarp šaltinio IP adreso ir prievado (80 prievadas nesaugiam HTTP) ir paskirties adreso bei prievado.

Norėdami valdyti tinklo saugumą, užkardos programinė įranga gali leisti arba blokuoti duomenų perdavimą ar ryšį, remdamasi tokiomis taisyklėmis kaip prievadai ar IP adresai.

„Firewalld“ diegimas

„Fedora“, „RHEL“ / „CentOS 7/8“, „openSUSE“

Pagal numatytuosius nustatymus „Firewalld“ yra įdiegta „Fedora“, „RHEL / CentOS 7/8“ ir „openSUSE“. Jei ne, galite jį įdiegti naudodami šią komandą:

# yum įdiegti užkardą -y
ARBA
#dnf įdiekite užkardą -y

„Debian“ / „Ubuntu“

Pagal numatytuosius nustatymus „Ubuntu“ sistemos turi nesudėtingą užkardą. Norėdami naudoti „firewalld“, turite įgalinti visatos saugyklą ir išaktyvinti nesudėtingą užkardą.

sudo add-apt-repository visata
sudo apt įdiegti užkardą

Išjunkite nesudėtingą užkardą:

sudo systemctl išjungti ufw

Įgalinti „firewalld“ įkrovos metu:

sudo systemctl įjungti-now firewalld

Patikrinkite, ar veikia užkarda:

sudo ugniasienė-cmd-valstybė
bėgimas

Ugniasienės zonos

„Firewalld“ palengvina jūsų užkardos konfigūravimą nustatant numatytąsias zonas. Zonos yra taisyklių rinkinys, atitinkantis kasdienius daugumos „Linux“ administratorių poreikius. Ugniasienės zona gali apibrėžti patikimus ar neleistus paslaugų ir prievadų lygius.

Numatytųjų zonų, kurias nustato „Fedora“ darbo vieta, pavyzdys 33

katė / usr / lib / ugniasienė / zonos / „FedoraWorkstation“.xml


„Fedora“ darbo vieta
Nepageidaujami įeinantys tinklo paketai atmetami nuo 1 iki 1024 prievado, išskyrus tam tikras tinklo paslaugas. [ugniasienė] Priimami paketai, susiję su išeinančiais tinklo ryšiais. Leidžiami išeinantys tinklo ryšiai.





Gaukite dabartinę zoną:
Galite naudoti - - „get-active-zone“ pažymėti, jei norite patikrinti šiuo metu aktyvias jūsų sistemos zonas.

sudo firewall-cmd --get-active-zone
[sudo] slaptažodis mokiniams:
„FedoraWorkstation“
sąsajos: wlp3s0
libvirt
sąsajos: virbr0

Numatytoji „Fedora“ darbo vietos 33 zona „FedoraWorkstation“ zonoje

Gauti numatytąją zoną ir visas apibrėžtas zonas:

sudo firewall-cmd --get-default-zone
[sudo] slaptažodis mokiniams:
„FedoraWorkstation“
[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --get-zone
„FedoraServer“ „Fedora“ darbo vietos blokas „dmz“ išleidžia išorinio namo vidinį „libvirt nm“ bendrai naudojamą viešą patikimą darbą

Sąrašo paslaugos:

Galite gauti paslaugas, kurias ugniasienė leidžia pasiekti kitoms sistemoms naudojant  - -sąrašas-paslaugos vėliava.

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --list-services
dhcpv6-klientas mdns samba-klientas ssh

„Fedora Linux 33“ užkarda leidžia pasiekti keturias paslaugas („dhcpv6-client mdns samba-client ssh“) ​​su gerai žinomais prievado numeriais.

Ugniasienės prievado nustatymų sąrašas:
Galite naudoti - -sąrašas-prievadai vėliava, kad pamatytumėte kitus uosto nustatymus bet kurioje zonoje.

tuts @ fosslinux ~] $ sudo ugniasienė-cmd --list-ports --zone = FedoraWorkstation
[sudo] slaptažodis mokiniams:
1025-65535 / udp 1025-65535 / tcp

Nurodėme zoną, kurią norite patikrinti naudodami parinktį - -zone = FedoraWorkstaion.

Zonų, uostų ir paslaugų valdymas

Ugniasienės konfigūracijos gali būti konfigūruojamos kaip vykdymo arba nuolatinės. Visi ugniasienės „cmd“ veiksmai tęsiasi tik tol, kol kompiuteris ar užkarda bus paleisti iš naujo. Turite sukurti nuolatinius nustatymus naudodamiesi nuolatine vėliava.

Sukurkite zoną

Norėdami sukurti zoną, turite naudoti - -naujoji zona vėliava.
Pavyzdys:
Sukurkite naują nuolatinę zoną, vadinamą „fosscorp“:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd - new-zonos fosscorp --permanent
[sudo] slaptažodis mokiniams:
sėkmė

Iš naujo įkelkite užkardos taisykles, kad suaktyvintumėte naują zoną:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd - perkrauti

Pridėkite „ssh“ paslaugą prie „Fosscorp“ zonos, kad galėtumėte ją pasiekti nuotoliniu būdu:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --zone fosscorp --add-service ssh --permanent
[sudo] slaptažodis mokiniams:
sėkmė

Patvirtinkite, kad jūsų nauja zona „fosscorp“ yra aktyvi:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --get-zone
„FedoraServer“ „FedoraWorkstation“ blokas dmz drop external Fosscorp namo vidinis libvirt nm bendrinamas viešas patikimas darbas

Jūsų naujoji zona „Fosscorp“ dabar yra aktyvi ir atmeta visus gaunamus ryšius, išskyrus SSH srautą.

Naudoti - -pakeisti sąsają vėliava, kad zona fosscorp būtų aktyvi ir numatytoji tinklo sąsajos (wlp3s0) zona, kurią norite apsaugoti:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd - change-interface wlp3s0 \
> --zone fosscorp - nuolatinis
Sąsają kontroliuoja „NetworkManager“ [užkarda], nustatydama zoną į „fosscorp“.
sėkmė

Jei norite nustatyti „fosscorp“ kaip numatytąją ir pagrindinę zoną, vykdykite šią komandą:

[tuts @ fosslinux ~] $ sudo firewall-cmd - set-default fosscorp
sėkmė

Peržiūrėkite šiuo metu kiekvienai sąsajai priskirtas zonas naudodami - -get-active-zonas vėliava:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --get-active-zone
Fosscorp
sąsajos: wlp3s0

Pridėti ir pašalinti paslaugas:

Greitas būdas leisti srautą per užkardą yra iš anksto nustatytos paslaugos pridėjimas.

Išvardykite galimas iš anksto nustatytas paslaugas:

tuts @ fosslinux ~] $ sudo ugniasienė-cmd --get-services
[sudo] slaptažodis mokiniams:
RH-Satellite-6 amanda-klientas amanda-k5-klientas amqp amqps apcupsd audito bacula bacula-klientas bb bgp bitcoin
bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client
[…]

Atblokuokite iš anksto nustatytą paslaugą

Galite leisti HTTPS srautą (ar bet kurią kitą iš anksto nustatytą paslaugą) per savo užkardą naudodami - -papildoma paslauga vėliava.

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --add-service https --permanent
sėkmė
[tuts @ fosslinux ~] $ sudo ugniasienė-cmd - perkrauti

Taip pat galite pašalinti paslaugą naudodami - -pašalinimo paslauga vėliava:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --remove-service https --permanent
sėkmė
[tuts @ fosslinux ~] $ sudo ugniasienė-cmd - perkrauti

Pridėkite ir pašalinkite uostus

Taip pat galite tiesiogiai pridėti uosto numerį ir prototipą naudodami vėliavą -add-port. Tiesiog pridedant uosto numerį gali būti naudinga, kai iš anksto nustatytos paslaugos nėra.

Pavyzdys:
Galite pridėti nestandartinį uostas 1717 m SSH į pasirinktinę zoną naudodami šią komandą:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --add-port 1717 / tcp --permanent
[sudo] slaptažodis mokiniams:
sėkmė
[tuts @ fosslinux ~] $ sudo ugniasienė-cmd -reload

Pašalinkite prievadą naudodami parinktį -remove-port flag:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --remove-port 1717 / tcp --permanent
sėkmė
[tuts @ fosslinux ~] $ sudo ugniasienė-cmd -reload

Taip pat galite nurodyti zoną, norėdami pridėti arba pašalinti uostą, komandoje pridėdami vėliavą -zone:
Pridėkite 1718 prievadą TCP ryšiui prie „FedoraWorstation“ zonos:

[tuts @ fosslinux ~] $ sudo užkarda-cmd --zone = FedoraWorkstation --permanent --add-port = 1718 / tcp
sėkmė
[tuts @ fosslinux ~] $ sudo ugniasienė-cmd - perkrauti
sėkmė

Patvirtinkite, ar pakeitimai įsigaliojo:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --list-all
„FedoraWorkstation“ (aktyvi)
target: numatytasis
icmp-block-inversion: ne
sąsajos: wlp3s0
šaltiniai:
paslaugos: dhcpv6-klientas mdns samba-klientas ssh
prievadai: 1025-65535 / udp 1025-65535 / tcp 1718 / tp
protokolai:
kaukė: ne
priekiniai uostai:
šaltinio prievadai:
„icmp“ blokai:
turtingos taisyklės:

Pastaba: Pagal uostus pridėjome uosto numeris 1718 leisti TCP srautą.

Galite pašalinti uostas 1718 / tcp vykdydami šią komandą:

[tuts @ fosslinux ~] $ sudo ugniasienė-cmd --zone = FedoraWorkstation --permanent --remove-port = 1718 / tcp
sėkmė
[tuts @ fosslinux ~] $ sudo ugniasienė-cmd - perkrauti
sėkmė

Pastaba: jei norite, kad pakeitimai būtų nuolatiniai, turite pridėti - -nuolatinis pažymėkite savo komandas.

Pakartoti

Firewalld yra puikus įrankis valdyti jūsų tinklo saugumą. Geriausias būdas padidinti sistemos administratoriaus įgūdžius yra įgyti praktinės patirties. Aš labai rekomenduoju įdiegti „Fedora“ į mėgstamą virtualią mašiną (VM) arba „Boxes“, kad galėtumėte eksperimentuoti su visomis prieinamomis užkardos-cmd funkcijomis. Daugiau ugniasienės-cmd funkcijų galite sužinoti oficialiame „Firewalld“ pagrindiniame puslapyje.

„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...
„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...
„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...