Kaip nustatyti ugniasienę Ubuntu serveryje
Paskelbta: 2025 m. vasario 15 d. 21:34:01 UTC
Paskutinį kartą atnaujinta: 2026 m. sausio 12 d. 08:37:13 UTC
Šiame straipsnyje paaiškinama ir pateikiami keli pavyzdžiai, kaip nustatyti užkardą GNU/Linux sistemoje naudojant ufw, kuris yra „Uncomplicated FireWall“ santrumpa – ir pavadinimas tinkamas, tai tikrai labai paprastas būdas įsitikinti, kad neturite atidarytų prievadų daugiau nei reikia.
How to Set Up a Firewall on Ubuntu Server
Šiame įraše pateikta informacija yra pagrįsta „Ubuntu Server 14.04 x64“. Ji gali būti tinkama arba netinka kitoms versijoms. (Atnaujinimas: galiu patvirtinti, kad šiame įraše pateikta informacija iš esmės vis dar galioja ir veikia nuo „Ubuntu Server 24.04“, tačiau per pastaruosius 10 metų „ufw“ tapo šiek tiek „protingesnė“, nes atsirado profiliai įprastoms serverio programoms (pavyzdžiui, galite įjungti „Nginx full“ vietoj 80 ir 443 prievadų atskirai) ir nebereikia išjungti / įjungti visos užkardos, kad būtų taikomos naujos taisyklės.)
Kai pradėjau dirbti su GNU/Linux (Ubuntu) serveriais, ugniasienės diegimas apėmė rankinį potencialiai sudėtingo „iptables“ konfigūracijos failo kūrimą ir priežiūrą. Tačiau neseniai atradau ufw, kuris yra „Uncomplicated Firewall“ santrumpa – ir tai tikrai yra nesudėtinga ugniasienė :-)
Mano „Ubuntu Server 14.04“ diegime jau buvo įdiegtas „ufw“, bet jei jūsų ne, tiesiog įdiekite jį iš saugyklų:
UFW iš tiesų yra tik įrankis, supaprastinantis „iptables“ konfigūravimą – užkulisiuose filtravimą vis dar atlieka „iptables“ ir „Linux“ branduolio užkarda, todėl „ufw“ nėra nei mažiau, nei saugesnis už šias. Tačiau kadangi „ufw“ labai palengvina teisingą užkardos konfigūravimą, jis gali sumažinti žmogiškųjų klaidų riziką ir todėl gali būti saugesnis nepatyrusiems administratoriams.
Jei jūsų serveris sukonfigūruotas tiek su IPv6, tiek su IPv4, įsitikinkite, kad tai įjungta ir UFW. Redaguokite failą /etc/default/ufw ir ieškokite eilutės, kurioje parašyta IPV6=yes. Mano instaliacijoje ji jau buvo, bet jei jos nėra arba rodoma „ne“, turėtumėte ją redaguoti.
Tada tiesiog komandinėje eilutėje įjunkite norimus atidaryti prievadus. Jei prie serverio prisijungėte per ssh, būtinai įjunkite ir tai, kitaip tai gali sutrikdyti ryšį ir aktyvuojant serverį galite būti užblokuoti – tai gali būti šiek tiek nepatogu, priklausomai nuo to, ar turite fizinę prieigą prie serverio, ar ne ;-)
Pavyzdžiui, jei naudojate ssh standartiniame 22 prievade ir konfigūruojate žiniatinklio serverį, kuris palaiko tiek nešifruotus (HTTP per 80 prievadą), tiek užšifruotus (HTTPS per 443 prievadą) ryšius, norėdami sukonfigūruoti ufw, turėtumėte vykdyti šias komandas:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Jei reikia daugiau taisyklių, tiesiog pridėkite jas, kaip nurodyta aukščiau.
Jei turite statinį IP adresą ir jums reikia prisijungti per SSH tik iš vienos vietos, taip pat galite apriboti SSH ryšius iki vieno kilmės adreso, pvz.:
Žinoma, įveskite savo IP adresą.
Baigę įjunkite ufw įvesdami:
Ir viskas! Ugniasienė veikia ir automatiškai įsijungs, kai perkrausite serverį :-)
Jei atliksite ufw konfigūracijos pakeitimus, gali tekti juos išjungti ir vėl įjungti, kad pakeitimai įsigaliotų, pvz.:
sudo ufw enable
Norėdami peržiūrėti dabartinę konfigūraciją, tiesiog įveskite:
Jei ufw neįjungtas, bus rodomas tiesiog pranešimas „neaktyvus“, kitu atveju bus rodomos šiuo metu apibrėžtos taisyklės.
