Kaip nustatyti ugniasienę Ubuntu serveryje
Paskelbta: 2025 m. vasario 15 d. 21:34:01 UTC
Šiame straipsnyje paaiškinama ir pateikiami keli pavyzdžiai, kaip nustatyti ugniasienę GNU/Linux naudojant ufw, kuris yra nesudėtingos ugniasienės trumpinys – ir pavadinimas tinka, tai tikrai labai paprastas būdas įsitikinti, kad nėra atidarytų daugiau prievadų nei reikia.
How to Set Up a Firewall on Ubuntu Server
Šiame įraše pateikta informacija yra pagrįsta Ubuntu Server 14.04 x64. Jis gali galioti arba negalioja kitoms versijoms. (Atnaujinimas: galiu patvirtinti, kad šiame įraše pateikta informacija iš esmės vis dar galioja ir veikia kaip Ubuntu Server 24.04, tačiau per 10 metų ufw tapo šiek tiek „išmanesnis“, nes turėjo profilius įprastoms serverio programoms (pavyzdžiui, galite įjungti „Nginx full“, o ne 80 prievadų ir 443 prievadų išjungimą ir visiškai išjungti ugniasienę). reikia ilgiau)
Kai pirmą kartą pradėjau naudotis GNU/Linux (Ubuntu) serveriais, nustatant ugniasienę reikėjo rankiniu būdu sukurti ir prižiūrėti potencialiai sudėtingą iptables konfigūracijos failą. Tačiau neseniai atradau ufw , kuris yra nesudėtingos ugniasienės trumpinys – ir tikrai taip :-)
Mano įdiegtas Ubuntu Server 14.04 jau buvo įdiegtas ufw, bet jei ne jūs, tiesiog įdiekite jį iš saugyklų:
Iš tikrųjų UFW yra tik įrankis, supaprastinantis iptables konfigūraciją – užkulisiuose vis dar filtruoja iptables ir Linux branduolio ugniasienė, todėl ufw nėra nei mažiau, nei saugesnis už šiuos. Tačiau kadangi ufw labai palengvina teisingą ugniasienės konfigūravimą, ji gali sumažinti žmogiškųjų klaidų riziką, todėl gali būti saugesnė nepatyrusiems administratoriams.
Jei jūsų serveris sukonfigūruotas naudojant IPv6 ir IPv4, įsitikinkite, kad tai įjungta ir UFW. Redaguokite failą /etc/default/ufw ir ieškokite eilutės, kurioje sakoma IPV6=yes . Mano diegime jis jau buvo, bet jei jo nėra arba jei sakoma ne, turėtumėte jį redaguoti
Tada tiesiog naudokite komandų eilutę, kad įjungtumėte norimus atidaryti prievadus. Jei esate prisijungę prie serverio per ssh, būtinai leiskite tai taip pat, nes tai gali sutrikdyti jūsų ryšį ir galbūt užblokuoti jus nuo serverio, kai jį suaktyvinsite – priklausomai nuo to, ar turite fizinę prieigą prie serverio, ar ne, tai gali būti nepatogu ;-)
Pavyzdžiui, jei naudojate ssh standartiniame 22 prievade ir konfigūruojate žiniatinklio serverį, kuris palaiko ir nešifruotus (HTTP prie 80 prievado), ir užšifruotus (HTTPS prie 443 prievado) ryšius, ufw konfigūruodami turėsite išleisti šias komandas:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Jei jums reikia daugiau taisyklių, tiesiog pridėkite jas, kaip nurodyta aukščiau.
Jei turite statinį IP adresą ir turite turėti galimybę prisijungti tik per ssh iš vienos vietos, taip pat galite apriboti ssh ryšius iki vieno kilmės adreso, pavyzdžiui:
Žinoma, vietoj to įveskite savo IP adresą.
Baigę įgalinkite ufw įvesdami:
Ir viskas! Užkarda veikia ir bus automatiškai paleista, kai iš naujo paleisite serverį :-)
Jei pakeisite ufw konfigūraciją, gali tekti ją išjungti ir vėl įjungti, kad jie įsigaliotų, pavyzdžiui:
sudo ufw enable
Norėdami peržiūrėti dabartinę konfigūraciją, tiesiog įveskite:
Jei ufw neįjungtas, tai tiesiog parodys „neaktyvų“ pranešimą, priešingu atveju bus pateiktos šiuo metu nustatytos taisyklės.