Tīkla drošības uzturēšana ir sistēmas administratoru atslēga, un ugunsmūra konfigurēšana, izmantojot komandrindu, ir būtiska prasme mācīties. Rakstā tiks uzsvērts, kā pārvaldīt ugunsmūri ar ugunsmūri-cmd Linux komandrindā.
Ugunsmūris būtībā ir programmatūra, kuru varat konfigurēt, lai kontrolētu ienākošo un izejošo tīkla trafiku. Ugunsmūri var liegt citiem lietotājiem izmantot tīkla pakalpojumus jūsu palaistajā sistēmā. Lielākā daļa Linux sistēmu tiek piegādātas ar noklusējuma ugunsmūri. Iepriekšējās Linux sistēmu versijās iptables tika izmantots kā paketes filtrēšanas dēmons. Jaunākas Fedora, RHEL / CentOS, openSUSE kuģa versijas ar noklusējuma ugunsmūra dēmonu Firewalld. Firewalld var instalēt arī Debian un Ubuntu rajonos.
Iesaku iptables vietā izmantot Firewalld. Neuztveriet tikai manu vārdu. Uzziniet vairāk no mūsu visaptverošās rokasgrāmatas par pieejamajiem atvērtā koda ugunsmūriem jūsu Linux sistēmai.
Firewalld ir dinamisks dēmons, lai pārvaldītu ugunsmūrus, atbalstot tīkla vai ugunsmūra zonas. Ugunsmūra zonas nosaka tīkla saskarņu, pakalpojumu vai savienojumu tīkla drošības uzticamības līmeņus. Tīkla drošības sistēmu administratori ir atklājuši, ka Firewalld lieliski darbojas ar IPv4, IPv6, IP komplektiem un Ethernet tiltiem. Lai pārvaldītu Firewalld, varat izmantot ugunsmūra cmd terminal komandu vai ugunsmūra-config GUI konfigurācijas rīku.
Šajā rokasgrāmatā tiks izmantots ugunsmūris-cmd komandu, lai pārvaldītu tīkla drošību, un mūsu testa vide būs Fedora darbstacija 33.
Pirms mēs iegūstam visu tehnisko informāciju, apgūsim dažus tīkla pamatus.
Tīkla pamati
Datoram, kas savienots ar tīklu, tiek piešķirta IP adrese, kuru izmanto datu maršrutēšanai. Datoriem ir arī porti diapazonā no 0-65535, kas darbojas kā savienojuma punkti IP adresē. Lietojumprogrammas var rezervēt noteiktas ostas. Tīmekļa serveri parasti rezervē 80 portu drošai HTTP saziņai. Būtībā ostu diapazoni 0–1024 ir rezervēti labi zināmiem mērķiem un sistēmai.
Divi galvenie interneta datu pārsūtīšanas protokoli (TCP un UDP) tīkla porta laikā izmanto šīs porti. Resursdators izveido savienojumu starp avota IP adresi un portu (80. ports nedrošam HTTP) un galamērķa adresi un portu.
Lai pārvaldītu tīkla drošību, ugunsmūra programmatūra var atļaut vai bloķēt datu pārsūtīšanu vai saziņu, pamatojoties uz noteikumiem, piemēram, ostām vai IP adresēm.
Firewalld instalēšana
Fedora, RHEL / CentOS 7/8, openSUSE
Firewalld pēc noklusējuma ir instalēts Fedora, RHEL / CentOS 7/8 un openSUSE. Ja nē, varat to instalēt, izmantojot šādu komandu:
# yum instalēt firewalld -y
VAI
#dnf instalēt ugunsmūri -y
Debian / Ubuntu
Pēc noklusējuma Ubuntu sistēmas tiek piegādātas ar Nekomplicēto ugunsmūri. Lai izmantotu firewalld, jums jāiespējo Visuma krātuve un jāaktivizē Nekomplicētais ugunsmūris.
sudo add-apt-repository Visums
sudo apt instalēt
Deaktivizēt nesarežģīto ugunsmūri:
sudo systemctl atspējot ufw
Iespējot ugunsmūri sāknēšanas laikā:
sudo systemctl iespējot tagad ugunsmūri
Pārbaudiet, vai darbojas ugunsmūris:
sudo ugunsmūris-cmd -valsts
skriešana
Ugunsmūra zonas
Firewalld atvieglo ugunsmūra konfigurēšanu, izveidojot noklusējuma zonas. Zonas ir noteikumu kopums, kas atbilst vairuma Linux administratoru ikdienas vajadzībām. Ugunsmūra zona var noteikt uzticamus vai noraidītus līmeņus pakalpojumiem un portiem.
- Uzticamā zona: Visi tīkla savienojumi tiek pieņemti un izmantoti tikai uzticamās vidēs, piemēram, ģimenes mājās vai testa laboratorijā.
- Publiskā zona: Noteikumus varat definēt tikai, lai atļautu noteiktām ostām atvērt savienojumus, kamēr citi savienojumi tiks atcelti. To var izmantot sabiedriskās vietās, ja neuzticaties citiem tīkla resursdatoriem.
- Mājas, iekšējās, darba zonas: Lielākā daļa ienākošo savienojumu tiek pieņemti šajās trīs zonās. Ienākošie savienojumi izslēdz satiksmi ostās, kurās nav gaidāmi savienojumi vai darbības. Varat to izmantot mājas savienojumos, kur ir pārējo tīkla lietotāju vispārēja uzticība. Tas ļauj tikai atlasītos ienākošos savienojumus.
- Bloķēt zonu: Tas ir ārkārtīgi paranojisks ugunsmūra iestatījums, kurā ir iespējami tikai savienojumi, kas uzsākti no tīkla vai servera. Visi ienākošie savienojumi ar tīklu tiek noraidīti un tiek izsniegts ICMP-host-aizliegts ziņojums.
- DMZ zona: Demilitarizēto zonu var izmantot, lai ļautu sabiedrībai piekļūt dažiem pakalpojumiem. Tiek pieņemti tikai atlasītie savienojumi. Tā ir būtiska iespēja noteikta veida serveriem organizācijas tīklā.
- Ārējā zona: Ja šī opcija ir iespējota, šī zona darbosies kā maršrutētājs, un to var izmantot ārējos tīklos ar iespējotu maskēšanu. Jūsu privātā tīkla IP adrese ir kartēta un paslēpta aiz publiskās IP adreses. Tiek pieņemti tikai atlasītie ienākošie savienojumi, ieskaitot SSH.
- Pilināmā zona: Visas ienākošās paketes tiek nomestas bez atbildes. Šī zona atļauj tikai izejošos tīkla savienojumus.
Noklusējuma zonu piemērs, ko noteikusi Fedora darbstacija 33
cat / usr / lib / firewalld / zonas / FedoraWorkstation.xmlFedora darbstacija Nevēlamu ienākošo tīkla paketes tiek noraidītas no 1. līdz 1024. Portam, izņemot atsevišķus tīkla pakalpojumus. [ugunsmūris] Tiek pieņemtas ienākošās paketes, kas saistītas ar izejošajiem tīkla savienojumiem. Izejošie tīkla savienojumi ir atļauti.
Iegūstiet pašreizējo zonu:
Jūs varat izmantot - - get-active-zonas karodziņš, lai pārbaudītu pašreiz aktīvās zonas jūsu sistēmā.
sudo firewall-cmd --get-active-zone
[sudo] parole apmācībām:
FedoraWorkstation
saskarnes: wlp3s0
libvirt
saskarnes: virbr0
Noklusējuma zona Fedora Workstation 33 FedoraWorkstation zonā
Saņemt noklusējuma zonu un visas noteiktās zonas:
sudo firewall-cmd --get-default-zone
[sudo] parole apmācībām:
FedoraWorkstation
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --get-zonas
FedoraServer Fedora darbstacijas bloks dmz nomest ārējās mājas iekšējo libvirt nm koplietojamo publisko uzticamo darbu
Sarakstu pakalpojumi:
Jūs varat saņemt pakalpojumus, kuriem ugunsmūris ļauj piekļūt citām sistēmām, izmantojot - -saraksts-pakalpojumi karogu.
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --list-services
dhcpv6-client mdns samba-klienta ssh
Operētājsistēmā Fedora Linux 33 ugunsmūris ļauj piekļūt četriem pakalpojumiem (dhcpv6-client mdns samba-client ssh) ar labi zināmiem ostu numuriem.
Uzsākt ugunsmūra porta iestatījumus:
Jūs varat izmantot - -saraksts-porti karodziņu, lai redzētu citus ostas iestatījumus jebkurā zonā.
tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --list-ports --zone = FedoraWorkstation
[sudo] parole apmācībām:
1025-65535 / udp 1025-65535 / tcp
Mēs norādījām pārbaudāmo zonu, izmantojot opciju - -zone = FedoraWorkstaion.
Zonu, ostu un pakalpojumu pārvaldība
Ugunsmūra konfigurācijas var konfigurēt kā izpildlaiku vai pastāvīgas. Visas ugunsmūra cmd darbības saglabājas tikai līdz dators vai ugunsmūris tiek restartēts. Jums ir jāizveido pastāvīgi iestatījumi ar -permanent flag.
Izveidojiet zonu
Lai izveidotu zonu, jums jāizmanto - -jaunā zona karogu.
Piemērs:
Izveidojiet jaunu pastāvīgu zonu ar nosaukumu fosscorp:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd - new-zone fosscorp - pastāvīgs
[sudo] parole apmācībām:
panākumi
Atkārtoti ielādējiet ugunsmūra kārtulas, lai aktivizētu jauno zonu:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd - reload
Pievienojiet ssh pakalpojumu fosscorp zonai, lai jūs tam varētu piekļūt attālināti:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --zone fosscorp --add-service ssh - pastāvīgs
[sudo] parole apmācībām:
panākumi
Pārliecinieties, vai jūsu jaunā zona 'fosscorp' ir aktīva:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --get-zonas
FedoraServer FedoraWorkstation bloks dmz nomest ārēju Fosscorp mājas iekšējais libvirt nm dalīts publisks uzticams darbs
Jūsu jaunā zona fosscorp tagad ir aktīva, un tā noraida visus ienākošos savienojumus, izņemot SSH trafiku.
Izmantojiet - -mainīt saskarni karodziņš, lai padarītu zonu fosscorp par aktīvo un noklusējuma zonu tīkla saskarnei (wlp3s0), kuru vēlaties aizsargāt:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --change-interface wlp3s0 \
> --zone fosscorp - pastāvīgs
Saskarne atrodas NetworkManager [ugunsmūra] kontrolē, nosakot zonu uz “fosscorp”.
panākumi
Ja vēlaties iestatīt fosscorp kā noklusējuma un primāro zonu, palaidiet šādu komandu:
[tuts @ fosslinux ~] $ sudo firewall-cmd - set-default fosscorp
panākumi
Apskatiet katram interfeisam pašlaik piešķirtās zonas, izmantojot - -get-active-zonas karogs:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --get-active-zone
Fosscorp
saskarnes: wlp3s0
Pievienojiet un noņemiet pakalpojumus:
Ātrs veids, kā atļaut trafiku caur ugunsmūri, ir pievienot iepriekš noteiktu pakalpojumu.
Sarakstā pieejamos iepriekš definētos pakalpojumus:
tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --get-services
[sudo] parole apmācībām:
RH-Satellite-6 amanda-klienta amanda-k5-klienta amqp amqps apcupsd audita bacula bacula-klienta bb bgp bitcoin bitcoin-rpc
bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client
[…]
Atbloķējiet iepriekš noteiktu pakalpojumu
Izmantojot ugunsmūri, varat atļaut HTTPS trafiku (vai jebkuru citu iepriekš noteiktu pakalpojumu), izmantojot ugunsmūri - -pievienošanas pakalpojums karogu.
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --add-service https --permanent
panākumi
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd - reload
Pakalpojumu var noņemt arī ar - -noņemšanas pakalpojums karogs:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --remove-service https --permanent
panākumi
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd - reload
Pievienojiet un noņemiet porti
Varat arī pievienot porta numuru un prototipu tieši ar karodziņu -add-port. Tieša porta numura pievienošana var būt noderīga, ja nav iepriekš definēta pakalpojuma.
Piemērs:
Jūs varat pievienot nestandarta 1717. osta SSH jūsu pielāgotajai zonai, izmantojot šādu komandu:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd - add-port 1717 / tcp - pastāvīgs
[sudo] parole apmācībām:
panākumi
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd -reload
Noņemiet portu, izmantojot opciju -remove-port flag:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --remove-port 1717 / tcp --permanent
panākumi
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd -reload
Varat arī norādīt zonu ostas pievienošanai vai noņemšanai, komandā pievienojot karodziņu -zone:
Pievienojiet portu 1718 TCP savienojumam ar FedoraWorstation zonu:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --zone = FedoraWorkstation --permanent --add-port = 1718 / tcp
panākumi
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd - reload
panākumi
Pārliecinieties, vai izmaiņas ir stājušās spēkā:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd - list-all
FedoraWorkstation (aktīva)
mērķis: noklusējums
icmp-block-inversion: nē
saskarnes: wlp3s0
avoti:
pakalpojumi: dhcpv6-client mdns samba-client ssh
porti: 1025-65535 / udp 1025-65535 / tcp 1718 / tcp
protokoli:
maskarāde: nē
priekšu ostas:
avota porti:
icmp bloki:
bagātīgi noteikumi:
Piezīme: Zem ostām mēs esam pievienojuši ostas numurs 1718 lai atļautu TCP trafiku.
Jūs varat noņemt osta 1718 / tcp izpildot šādu komandu:
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd --zone = FedoraWorkstation --permanent --remove-port = 1718 / tcp
panākumi
[tuts @ fosslinux ~] $ sudo ugunsmūris-cmd - reload
panākumi
Piezīme. Ja vēlaties, lai izmaiņas būtu neatgriezeniskas, jums jāpievieno - -pastāvīgs atzīmējiet savas komandas.
Atkārtoti
Firewalld ir lieliska lietderība, lai pārvaldītu tīkla drošību. Labākais veids, kā uzlabot sistēmas administratora prasmes, ir iegūt praktisku pieredzi. Es ļoti iesaku Fedora instalēt savā iecienītākajā virtuālajā mašīnā (VM) vai Boxes, lai eksperimentētu ar visām pieejamajām ugunsmūra-cmd funkcijām. Vairāk ugunsmūra-cmd funkciju varat uzzināt oficiālajā ugunsmūra mājas lapā.