Palomuurin määrittäminen Ubuntu-palvelimelle
Julkaistu: 15. helmikuuta 2025 klo 21.33.39 UTC
Viimeksi päivitetty: 12. tammikuuta 2026 klo 8.37.00 UTC
Tässä artikkelissa selitetään ja annetaan esimerkkejä palomuurin asentamisesta GNU/Linuxissa käyttämällä ufw:tä, joka on lyhenne sanoista Uncomplicated FireWall. Nimi on osuva, sillä se on todella helppo tapa varmistaa, ettei portteja ole auki enempää kuin tarvitaan.
How to Set Up a Firewall on Ubuntu Server
Tämän viestin tiedot perustuvat Ubuntu Server 14.04 x64 -versioon. Ne eivät välttämättä päde muihin versioihin. (Päivitys: Voin vahvistaa, että tämän viestin tiedot ovat periaatteessa edelleen päteviä ja toimivia Ubuntu Server 24.04 -versiosta lähtien, mutta kuluneiden 10 vuoden aikana ufw on tullut jonkin verran "älykkäämmäksi", koska siinä on profiilit yleisille palvelinsovelluksille (voit esimerkiksi ottaa käyttöön "Nginx full" -profiilin porttien 80 ja 443 sijaan erikseen), eikä koko palomuurin poistaminen käytöstä/ottaminen käyttöön uusien sääntöjen käyttöönottamiseksi ole enää tarpeen.)
Kun aloitin GNU/Linux (Ubuntu) -palvelimien kanssa, palomuurin asentaminen edellytti potentiaalisesti monimutkaisen iptables-asetustiedoston manuaalista luomista ja ylläpitoa. Olen kuitenkin äskettäin löytänyt ufw:n, joka on lyhenne sanoista Uncomplicated Firewall – ja sitä se todellakin on :-)
Ubuntu Server 14.04 -asennuksessani oli jo ufw asennettuna, mutta jos sinulla ei ole, asenna se vain arkistoista:
UFW on itse asiassa vain työkalu, joka yksinkertaistaa iptables-konfiguraatiota – kulissien takana suodatuksen hoitavat edelleen iptables ja Linux-ytimen palomuuri, joten ufw ei ole näitä huonompi eikä turvallisempi. Koska ufw kuitenkin helpottaa palomuurin konfigurointia huomattavasti, se voi vähentää inhimillisten virheiden riskiä ja on siksi mahdollisesti turvallisempi kokemattomille ylläpitäjille.
Jos palvelimesi on määritetty käyttämään sekä IPv6:ta että IPv4:ää, varmista, että tämä on käytössä myös UFW:lle. Muokkaa tiedostoa /etc/default/ufw ja etsi rivi, jossa lukee IPV6=yes. Minun asennuksessani se oli jo rivillä, mutta jos sitä ei ole tai jos siinä lukee ei, sinun kannattaa muokata sitä.
Käytä sitten komentokehotetta ottaaksesi käyttöön haluamasi portit. Jos olet yhteydessä palvelimeesi ssh:n kautta, varmista, että sallit myös sen, muuten se voi häiritä yhteyttäsi ja mahdollisesti lukita sinut ulos palvelimeltasi, kun aktivoit sen – riippuen siitä, onko sinulla fyysinen pääsy palvelimelle vai ei, tämä voi olla hieman hankalaa ;-)
Jos esimerkiksi käytät ssh:ta vakioportissa 22 ja määrität web-palvelinta, joka tukee sekä salaamattomia (HTTP portissa 80) että salattuja (HTTPS portissa 443) yhteyksiä, sinun pitäisi määrittää ufw antamalla seuraavat komennot:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Jos tarvitset lisää sääntöjä, lisää ne vain kuten yllä.
Jos sinulla on staattinen IP-osoite ja sinun tarvitsee voida muodostaa yhteys SSH:n kautta vain yhdestä sijainnista, voit myös rajoittaa SSH-yhteydet yhteen lähtöosoitteeseen seuraavasti:
Syötä tietenkin oma IP-osoitteesi.
Kun olet valmis, ota ufw käyttöön kirjoittamalla:
Ja olet valmis! Palomuuri on käynnissä ja käynnistyy automaattisesti, kun käynnistät palvelimesi uudelleen :-)
Jos teet muutoksia ufw-kokoonpanoon, sinun on ehkä poistettava se käytöstä ja otettava se uudelleen käyttöön, jotta muutokset tulevat voimaan, kuten tässä:
sudo ufw enable
Voit tarkastella nykyistä kokoonpanoa kirjoittamalla vain:
Jos ufw ei ole käytössä, tämä näyttää vain "inactive"-viestin, muuten se listaa tällä hetkellä määritetyt säännöt.
