Kā iestatīt ugunsmūri Ubuntu serverī
Publicēts: 2025. gada 15. februāris 21:34:04 UTC
Šajā rakstā ir paskaidrots un sniegti daži piemēri, kā iestatīt ugunsmūri GNU/Linux, izmantojot ufw, kas ir saīsinājums no Uncomplicated FireWall — un nosaukums ir atbilstošs, tas tiešām ir ļoti vienkāršs veids, kā pārliecināties, ka jums nav atvērts vairāk portu, nekā nepieciešams.
How to Set Up a Firewall on Ubuntu Server
Informācija šajā ziņā ir balstīta uz Ubuntu Server 14.04 x64. Tas var būt un var nebūt derīgs citām versijām. (Atjauninājums: varu apstiprināt, ka šajā ziņojumā esošā informācija būtībā joprojām ir derīga un funkcionāla Ubuntu Server 24.04, tomēr starpposma 10 gadu laikā ufw ir kļuvis nedaudz "gudrāks", jo ir izveidoti profili parastajām servera lietojumprogrammām (piemēram, varat iespējot "Nginx full", nevis portus 80 un 443, atsevišķi nepiemērojot visus ugunsmūra noteikumus) nepieciešams ilgāk)
Kad es pirmo reizi sāku darbu 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 esmu atklājis ufw , kas ir saīsinājums no Uncomplicated Firewall – un tā tas tiešām ir :-)
Manā Ubuntu Server 14.04 instalācijā jau bija instalēts ufw, bet, ja jums tā nav, vienkārši instalējiet to no krātuvēm:
UFW patiesībā ir tikai rīks, kas vienkāršo iptables konfigurāciju – aizkulisēs joprojām filtrē iptables un Linux kodola ugunsmūris, tāpēc ufw nav ne mazāks, ne drošāks par šiem. Tomēr, tā kā ufw ļauj daudz vieglāk pareizi konfigurēt ugunsmūri, tas var samazināt cilvēka kļūdu risku un tāpēc, iespējams, ir drošāks nepieredzējušiem administratoriem.
Ja jūsu serveris ir konfigurēts ar IPv6, kā arī IPv4, pārliecinieties, vai tas ir iespējots arī UFW. Rediģējiet failu /etc/default/ufw un meklējiet rindiņu, kurā teikts IPV6=yes . Manā instalācijā tas jau bija tur, bet, ja tā nav vai ja tas saka nē, jums tas ir jārediģē
Pēc tam vienkārši izmantojiet komandu uzvedni, lai iespējotu portus, kurus vēlaties atvērt. Ja esat izveidojis savienojumu ar serveri, izmantojot ssh, noteikti atļaujiet arī to, pretējā gadījumā tas var traucēt jūsu savienojumu un, iespējams, bloķēt jūs no servera, kad to aktivizējat — atkarībā no tā, vai jums ir fiziska piekļuve serverim vai nav, tas var būt neērti ;-)
Piemēram, ja izmantojat ssh standarta portā 22 un konfigurējat tīmekļa serveri, kas atbalsta gan nešifrētus (HTTP portā 80), gan šifrētus (HTTPS portā 443) savienojumus, jums ir jāizdod šādas komandas, lai konfigurētu ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Ja jums ir nepieciešami citi noteikumi, vienkārši pievienojiet tos, kā norādīts iepriekš.
Ja jums ir statiska IP adrese un ir jāspēj izveidot savienojumu, izmantojot ssh tikai no vienas vietas, varat arī ierobežot ssh savienojumus ar vienu izcelsmes adresi, piemēram:
Protams, tā vietā ievadiet savu IP adresi.
Kad esat pabeidzis, iespējojiet ufw, ievadot:
Un esat pabeidzis! Ugunsmūris darbojas un automātiski startēs, kad restartēsiet serveri :-)
Ja veicat izmaiņas ufw konfigurācijā, iespējams, tā būs jāatspējo un vēlreiz jāiespējo, lai tās stātos spēkā, piemēram:
sudo ufw enable
Lai skatītu pašreizējo konfigurāciju, vienkārši ievadiet:
Ja ufw nav iespējots, tas vienkārši parādīs "neaktīvu" ziņojumu, pretējā gadījumā tajā tiks uzskaitīti pašlaik definētie noteikumi.