UFW-palomuurin asentaminen Ubuntuun ja Debianiin


Oikein toimiva palomuuri on tärkein osa koko Linux-järjestelmän tietoturvaa. Oletusarvoisesti Debianin ja Ubuntu-jakelun mukana tulee palomuurin määritystyökalu nimeltä UFW (yksinkertainen palomuuri), se on suosituin ja helppokäyttöisin komentorivityökalu palomuurin määrittämiseen ja hallintaan Ubuntu- ja Debian-jakelussa.

Tässä artikkelissa kerrotaan, kuinka UFW-palomuuri asennetaan ja asennetaan Ubuntu- ja Debian-jakeluihin.

Ennen kuin aloitat tämän artikkelin kanssa, varmista, että olet kirjautunut Ubuntu- tai Debian-palvelimellesi sudo-käyttäjän tai juuritilin kanssa. Jos sinulla ei ole sudo-käyttäjää, voit luoda sellaisen seuraavien ohjeiden avulla pääkäyttäjänä.

# adduser username
# usermod -aG sudo username 
# su - username
$ sudo whoami

Asenna UFW-palomuuri Ubuntuun ja Debianiin

UFW (yksinkertainen palomuuri) on asennettava oletusarvoisesti Ubuntuun ja Debianiin. Jos ei, asenna se APT-paketinhallinnalla seuraavan komennon avulla.

$ sudo apt install ufw

Kun asennus on valmis, voit tarkistaa UFW: n tilan kirjoittamalla.

$ sudo ufw status verbose

Ensimmäisessä asennuksessa UFW-palomuuri on oletusarvoisesti poissa käytöstä, lähtö on samanlainen kuin alla.

Status: inactive

Voit aktivoida tai ottaa käyttöön UFW-palomuurin seuraavalla komennolla, jonka pitäisi ladata palomuuri ja sallia sen käynnistyminen käynnistettäessä.

$ sudo ufw enable

Poista UFW-palomuuri käytöstä seuraavalla komennolla, joka poistaa palomuurin ja estää sen käynnistymisen käynnistyksen yhteydessä.

$ sudo ufw disable 

Oletuksena UFW-palomuuri estää kaikki saapuvat yhteydet ja sallii vain kaikki lähtevät yhteydet palvelimelle. Tämä tarkoittaa, että kukaan ei voi käyttää palvelinta, ellet avaa porttia erikseen, kun taas kaikki palvelimesi käynnissä olevat palvelut tai sovellukset voivat käyttää ulkoista verkkoa.

UFW: n oletuspolitiikat sijoitetaan /etc/default/ufw -tiedostoon, ja niitä voidaan muuttaa seuraavalla komennolla.

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

Kun asennat ohjelmistopaketin APT-paketinhallinnan avulla, se sisältää sovellusprofiilin hakemistossa /etc/ufw/applications.d , joka määrittelee palvelun ja pitää UFW-asetukset.

Voit luetella kaikki palvelimessasi olevat sovellusprofiilit seuraavan komennon avulla.

$ sudo ufw app list

Järjestelmän ohjelmistopakettien asennuksista riippuen lähtö näyttää seuraavalta:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Jos haluat saada lisätietoja tietystä profiilista ja määritetyistä säännöistä, voit käyttää seuraavaa komentoa.

$ sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

Jos palvelimellesi on määritetty IPv6, varmista, että UFW on määritetty IPv6- ja IPv4-tuella. Vahvista se avaamalla UFW-määritystiedosto suosikkieditorilla.

$ sudo vi /etc/default/ufw

Varmista sitten, että ”IPV6” -asetukseksi on määritetty \"yes \" määritystiedostossa kuvan osoittamalla tavalla.

IPV6=yes

Tallenna ja lopeta. Käynnistä sitten palomuuri uudelleen seuraavilla komennoilla:

$ sudo ufw disable
$ sudo ufw enable

Jos olet ottanut UFW-palomuurin käyttöön jo nyt, se estää kaikki saapuvat yhteydet, ja jos olet yhteydessä palvelimeesi SSH: n kautta etäpaikasta, et voi enää yhdistää sitä uudelleen.

Ota käyttöön SSH-yhteydet palvelimellemme pysäyttääkseen sen tapahtuminen seuraavan komennon avulla:

$ sudo ufw allow ssh

Jos käytät mukautettua SSH-porttia (esimerkiksi portti 2222), sinun on avattava kyseinen portti UFW-palomuurissa seuraavalla komennolla.

$ sudo ufw allow 2222/tcp

Estä kaikki SSH-yhteydet kirjoittamalla seuraava komento.

$ sudo ufw deny ssh/tcp
$ sudo ufw deny 2222/tcp  [If using custom SSH port]

Voit myös avata palomuurissa tietyn portin, jotta sen kautta voidaan muodostaa yhteys tiettyyn palveluun. Esimerkiksi, jos haluat määrittää verkkopalvelimen, joka kuuntelee oletusarvoisesti portteja 80 (HTTP) ja 443 (HTTPS).

Alla on muutama esimerkki saapuvien yhteyksien sallimisesta Apache-palveluihin.

$ sudo ufw allow http     [By service name]
$ sudo ufw allow 80/tcp   [By port number]
$ sudo ufw allow 'Apache' [By application profile]
$ sudo ufw allow https
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

Olettaen, että sinulla on joitain sovelluksia, jotka haluat suorittaa useilla porttialueilla (5000-5003), voit lisätä kaikki nämä portit seuraavilla komennoilla.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Jos haluat sallia yhteydet kaikkiin portteihin tietystä IP-osoitteesta 192.168.56.1, sinun on määritettävä ennen IP-osoitetta.

$ sudo ufw allow from 192.168.56.1

Jos haluat sallia yhteyden tiettyyn porttiin (esimerkiksi porttiin 22) kotikoneestasi, jonka IP-osoite on 192.168.56.1, sinun on lisättävä mikä tahansa portti ja portin numero IP-osoitteen jälkeen kuvan osoittamalla tavalla.

$ sudo ufw allow from 192.168.56.1 to any port 22

Voit sallia yhteydet tietyille IP-osoitteille välillä 192.168.1.1 - 192.168.1.254 - portti 22 (SSH) suorittamalla seuraava komento.

$ sudo ufw allow from 192.168.1.0/24 to any port 22

Salli seuraava yhteys tietylle portille 22 (SSH) tiettyyn verkkoliitäntään eth2 suorittamalla seuraava komento.

$ sudo ufw allow in on eth2 to any port 22

Oletusarvoisesti kaikki saapuvat yhteydet estetään, ellet ole nimenomaisesti avannut yhteyttä UFW: llä. Olet esimerkiksi avannut portit 80 ja 443 ja verkkopalvelimesi on hyökkäyksessä tuntemattomasta verkosta 11.12.13.0/24.

Voit estää kaikki yhteydet tältä tietyltä 11.12.13.0/24 verkkoalueelta käyttämällä seuraavaa komentoa.

$ sudo ufw deny from 11.12.13.0/24

Jos haluat estää vain porttien 80 ja 443 yhteydet, voit käyttää seuraavia komentoja.

$ sudo ufw deny from 11.12.13.0/24 to any port 80
$ sudo ufw deny from 11.12.13.0/24 to any port 443

UFW-sääntöjä voidaan poistaa kahdella tavalla sääntöjen numeroiden ja todellisten sääntöjen mukaan.

Jos haluat poistaa UFW-säännöt säännönumerolla, sinun on ensin lueteltava säännöt numeroiden mukaan seuraavan komennon avulla.

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

Poista sääntö numero 1 seuraavalla komennolla.

$ sudo ufw delete 1

Toinen tapa on poistaa sääntö käyttämällä varsinaista sääntöä, esimerkiksi säännön poistamiseksi määritä portin numero protokollalla kuvan mukaisesti.

$ sudo ufw delete allow 22/tcp

Voit suorittaa minkä tahansa ufw-komennon tekemättä mitään muutoksia järjestelmän palomuuriin käyttämällä --dry-run -lippua. Tämä vain näyttää muutokset, joissa oletetaan tapahtuvan.

$ sudo ufw --dry-run enable

Jos haluat jostakin tai toisesta syystä poistaa/nollata kaikki palomuurisäännöt, kirjoita seuraavat komennot, se palauttaa kaikki muutokset ja alkaa uudestaan.

$ sudo ufw reset
$ sudo ufw status

UFW-palomuuri voi hallita mitä tahansa, mitä iptables tekee. Tämä voidaan tehdä erilaisilla sääntötiedostosarjoilla, jotka eivät ole mitään, mutta yksinkertaisia iptables-palauttaa tekstitiedostoja.

UFW-palomuurin virittäminen tai uusien iptables-komentojen lisääminen ei ole sallittua ufw-komennolla, on vain seuraavien tekstitiedostojen muuttaminen

  • /etc/default/ufw: Päämääritystiedosto, jossa on ennalta määritetyt säännöt.
  • /etc/ufw/before[6].rules: Tässä tiedostossa säännöt lasketaan ennen lisäämistä ufw-komennolla.
  • /etc/ufw/after[6].rules: Tässä tiedostossa säännöt lasketaan ufw-komennolla lisäämisen jälkeen.
  • /etc/ufw/sysctl.conf: Tätä tiedostoa käytetään ytimen verkon virittämiseen.
  • /etc/ufw/ufw.conf: Tämä tiedosto sallii ufw: n käynnistyksen yhteydessä.

Se siitä! UFW on erinomainen iptables-käyttöliittymä, jossa on käyttäjäystävällinen käyttöliittymä monimutkaisten sääntöjen määrittelemiseksi yhdellä ufw-komennolla.

Jos sinulla on kysyttävää tai ajatuksia jakaa tästä ufw-artikkelista, käytä alla olevaa kommenttilomaketta päästäksesi meihin.