Miklix

Kā iestatīt ugunsmūri Ubuntu serverī

Publicēts: 2025. gada 15. februāris 21:34:04 UTC
Pēdējo reizi atjaunināts: 2026. gada 12. janvāris 08:37:14 UTC

Šajā rakstā ir paskaidrots un sniegti daži piemēri, kā iestatīt ugunsmūri operētājsistēmā GNU/Linux, izmantojot ufw, kas ir saīsinājums no Uncomplicated FireWall (nekomplicēts ugunsmūris) — un nosaukums ir atbilstošs, tas tiešām ir ļoti vienkāršs veids, kā pārliecināties, ka jums nav atvērtu vairāk portu nekā nepieciešams.


Šī lapa tika mašīntulkota no angļu valodas, lai padarītu to pieejamu pēc iespējas vairāk cilvēkiem. Diemžēl mašīntulkošana vēl nav pilnīga tehnoloģija, tāpēc tajā var rasties kļūdas. Ja vēlaties, oriģinālo versiju angļu valodā varat apskatīt šeit:

How to Set Up a Firewall on Ubuntu Server

Šajā ierakstā sniegtā informācija ir balstīta uz Ubuntu Server 14.04 x64. Tā var būt vai nebūt derīga citām versijām. (Atjauninājums: varu apstiprināt, ka šajā ierakstā sniegtā informācija būtībā joprojām ir derīga un funkcionāla, sākot ar Ubuntu Server 24.04, tomēr pēdējo 10 gadu laikā ufw ir kļuvis nedaudz "gudrāks", pateicoties profiliem izplatītām servera lietojumprogrammām (piemēram, varat iespējot "Nginx full", nevis atsevišķi 80. un 443. portus), un vairs nav nepieciešams atspējot/iespējot visu ugunsmūri, lai piemērotu jaunus noteikumus.)

Kad es pirmo reizi sāku strādāt ar GNU/Linux (Ubuntu) serveriem, ugunsmūra iestatīšana ietvēra potenciāli sarežģīta iptables konfigurācijas faila manuālu izveidi un uzturēšanu. Tomēr nesen atklāju ufw, kas ir saīsinājums no Uncomplicated Firewall (nekomplicēts ugunsmūris) – un tas tiešām tā ir :-)

Manā Ubuntu Server 14.04 instalācijā jau bija instalēts ufw, bet, ja jūsu versijā tā nav, vienkārši instalējiet to no krātuvēm:

sudo apt-get install ufw

UFW patiesībā ir tikai rīks, kas vienkāršo iptables konfigurēšanu — aizkulisēs filtrēšanu joprojām veic iptables un Linux kodola ugunsmūris, tāpēc ufw nav ne mazāk, ne drošāks par šiem rīkiem. Tomēr, tā kā ufw ievērojami atvieglo ugunsmūra pareizu konfigurēšanu, tas var samazināt cilvēcisku kļūdu risku un tāpēc, iespējams, ir drošāks nepieredzējušiem administratoriem.

Ja jūsu serveris ir konfigurēts gan ar IPv6, gan IPv4, pārliecinieties, vai tas ir iespējots arī UFW. Rediģējiet failu /etc/default/ufw un meklējiet rindu ar tekstu IPV6=yes. Manā instalācijā tā jau bija tur, bet, ja tā nav vai ja tiek norādīts nē, jums tā ir jārediģē.

Pēc tam vienkārši izmantojiet komandrindu, lai iespējotu vēlamās atvērtās pieslēgvietas. Ja esat izveidojis savienojumu ar serveri, izmantojot ssh, noteikti atļaujiet arī to, pretējā gadījumā tas var traucēt savienojumu un, aktivizējot serveri, iespējams, bloķēt jūs no tā — atkarībā no tā, vai jums ir fiziska piekļuve serverim vai nē, tas var būt nedaudz neērti ;-)

Piemēram, ja izmantojat ssh standarta 22. portā un konfigurējat tīmekļa serveri, kas atbalsta gan nešifrētus (HTTP 80. portā), gan šifrētus (HTTPS 443. portā) savienojumus, ufw konfigurēšanai jāizmanto šādas komandas:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Ja nepieciešami vēl citi noteikumi, vienkārši pievienojiet tos, kā norādīts iepriekš.

Ja jums ir statiska IP adrese un jums ir nepieciešams izveidot savienojumu, izmantojot ssh, tikai no vienas atrašanās vietas, varat arī ierobežot ssh savienojumus ar vienu izcelsmes adresi, piemēram:

sudo ufw allow from 192.168.0.1 to any port 22

Protams, tā vietā ievadiet savu IP adresi.

Kad esat pabeidzis, iespējojiet ufw, ievadot:

sudo ufw enable

Un viss ir gatavs! Ugunsmūris darbojas un automātiski startēsies, kad pārstartēsiet serveri :-)

Ja veicat izmaiņas ufw konfigurācijā, iespējams, tā būs jāatspējo un jāiespējo vēlreiz, lai izmaiņas stātos spēkā, piemēram:

sudo ufw disable
sudo ufw enable

Lai apskatītu pašreizējo konfigurāciju, vienkārši ievadiet:

sudo ufw status

Ja ufw nav iespējots, tas vienkārši parādīs ziņojumu “neaktīvs”, pretējā gadījumā tas uzskaitīs pašlaik definētos noteikumus.

Kopīgojiet pakalpojumā BlueskyKopīgot FacebookKopīgojiet vietnē LinkedInKopīgojiet vietnē TumblrKopīgot vietnē XKopīgojiet vietnē LinkedInPiespraust vietnē Pinterest

Mikkel Christensen

Par autoru

Mikkel Christensen
Mikels ir miklix.com radītājs un īpašnieks. Viņam ir vairāk nekā 20 gadu pieredze kā profesionālam programmētājam/programmatūras izstrādātājam, un pašlaik viņš strādā pilna laika darbu lielā Eiropas IT korporācijā. Kad viņš neraksta blogus, viņš pavada brīvo laiku, pievēršoties dažādām interesēm, hobijiem un aktivitātēm, kas zināmā mērā var atspoguļoties šajā tīmekļa vietnē aplūkoto tēmu daudzveidībā.