Kaip nustatyti UFW ugniasienę Ubuntu ir Debian


Tinkamai veikianti ugniasienė yra pati svarbiausia visos Linux sistemos saugumo dalis. Pagal numatytuosius nustatymus „Debian“ ir „Ubuntu“ platinimas turi ugniasienės konfigūravimo įrankį, pavadintą UFW (nesudėtinga ugniasienė), yra populiariausias ir paprasčiausias komandų eilutės įrankis, skirtas konfigūruoti ir valdyti užkardą Ubuntu ir Debian platinimuose.

Šiame straipsnyje paaiškinsime, kaip įdiegti ir nustatyti UFW užkardą Ubuntu ir Debian platinimuose.

Būtinos sąlygos

Prieš pradėdami nuo šio straipsnio, įsitikinkite, kad prisijungėte prie Ubuntu arba Debian serverio naudodami sudo vartotoją arba root paskyrą. Jei neturite sudo vartotojo, galite jį sukurti naudodami šias instrukcijas kaip root naudotojas.

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

Įdiekite UFW ugniasienę Ubuntu ir Debian

UFW (Nesudėtinga ugniasienė) turėtų būti įdiegta pagal numatytuosius nustatymus Ubuntu ir Debian, jei ne, įdiekite ją naudodami APT paketų tvarkyklę naudodami šią komandą.

sudo apt install ufw

Patikrinkite UFW ugniasienę

Baigę diegti, galite patikrinti UFW būseną įvesdami.

sudo ufw status verbose

Pirmą kartą įdiegus, UFW ugniasienė išjungta pagal numatytuosius nustatymus, išvestis bus panaši į toliau pateiktą.

Status: inactive

Įgalinti UFW ugniasienę

Galite suaktyvinti arba įjungti UFW užkardą naudodami šią komandą, kuri turėtų įkelti ugniasienę ir įgalinti ją paleisti.

sudo ufw enable

Norėdami išjungti UFW užkardą, naudokite šią komandą, kuri iškrauna ugniasienę ir neleidžia jai paleisti įkrovos metu.

sudo ufw disable 

Numatytoji UFW politika

Pagal numatytuosius nustatymus UFW užkarda atmeta visus gaunamus ryšius ir leidžia tik visus išeinančius ryšius su serveriu. Tai reiškia, kad niekas negali pasiekti jūsų serverio, nebent specialiai atidarote prievadą, o visos jūsų serveryje veikiančios paslaugos ar programos gali pasiekti išorinį tinklą.

Numatytoji UFW ugniasienės politika yra įdėta į /etc/default/ufw failą ir gali būti pakeista naudojant šią komandą.

sudo ufw default deny incoming
sudo ufw default allow outgoing

UFW programų profiliai

Diegiant programinės įrangos paketą naudojant APT paketų tvarkyklę, kataloge /etc/ufw/applications.d bus įtrauktas programos profilis, kuris apibrėžia paslaugą ir palaiko UFW nustatymus.

Galite išvardyti visus savo serveryje esančius programų profilius naudodami šią komandą.

sudo ufw app list

Priklausomai nuo programinės įrangos paketo įdiegimo jūsų sistemoje, išvestis atrodys panašiai:

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

Jei norite gauti daugiau informacijos apie tam tikrą profilį ir apibrėžtas taisykles, galite naudoti šią komandą.

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

Įgalinkite IPv6 su UFW

Jei serveris sukonfigūruotas naudojant IPv6, įsitikinkite, kad UFW yra sukonfigūruotas su IPv6 ir IPv4 palaikymu. Norėdami tai patikrinti, atidarykite UFW konfigūracijos failą naudodami mėgstamą redaktorių.

sudo vi /etc/default/ufw

Tada įsitikinkite, kad konfigūracijos faile IPV6 nustatyta kaip yes, kaip parodyta.

IPV6=yes

Išsaugokite ir išeikite. Tada iš naujo paleiskite ugniasienę naudodami šias komandas:

sudo ufw disable
sudo ufw enable

Leisti SSH ryšius UFW

Jei iki šiol įjungėte UFW užkardą, ji blokuotų visus įeinančius ryšius, o jei prie serverio prisijungsite per SSH iš nuotolinės vietos, nebegalėsite jo vėl prisijungti.

Įgalinkime SSH ryšius su mūsų serveriu, kad tai neįvyktų, naudodami šią komandą:

sudo ufw allow ssh

Jei naudojate tinkintą SSH prievadą (pvz., prievadą 2222), turite atidaryti tą prievadą UFW užkardoje naudodami šią komandą.

sudo ufw allow 2222/tcp

Norėdami užblokuoti visus SSH ryšius, įveskite šią komandą.

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

Įgalinti konkrečius UFW prievadus

Taip pat galite atidaryti konkretų prievadą ugniasienėje, kad per jį būtų galima prisijungti prie tam tikros paslaugos. Pavyzdžiui, jei norite nustatyti žiniatinklio serverį, kuris klausosi prievadų 80 (HTTP) ir 443 (HTTPS >>) pagal numatytuosius nustatymus.

Žemiau pateikiami keli pavyzdžiai, kaip leisti įeinančius ryšius su Apache paslaugomis.

Atidarykite UFW prievadą 80 HTTP
sudo ufw allow http     [By service name]
sudo ufw allow 80/tcp   [By port number]
sudo ufw allow 'Apache' [By application profile]
Atidarykite 443 prievadą HTTPS UFW
sudo ufw allow https
sudo ufw allow 443/tcp
sudo ufw allow 'Apache Secure'

Leisti UFW prievadų diapazonus

Darant prielaidą, kad turite programų, kurias norite paleisti įvairiuose prievaduose (5000–5003), galite pridėti visus šiuos prievadus naudodami šias komandas.

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

Leisti konkrečius IP adresus

Jei norite leisti jungtis visuose prievaduose iš konkretaus IP adreso 192.168.56.1, turite nurodyti prieš IP adresą.

sudo ufw allow from 192.168.56.1

Leisti konkrečius IP adresus konkrečiame prievade

Jei norite leisti prisijungti prie konkretaus prievado (pvz., prievado 22) iš namų įrenginio, kurio IP adresas yra 192.168.56.1, turite pridėti bet kurį prievadą< ir prievado numerį po IP adreso, kaip parodyta.

sudo ufw allow from 192.168.56.1 to any port 22

Leisti tinklo potinklius prie konkretaus prievado

Leisti prisijungti tam tikriems IP adresams nuo 192.168.1.1 iki 192.168.1.254 iki prievado 22 (SSH) , paleiskite šią komandą.

sudo ufw allow from 192.168.1.0/24 to any port 22

Leisti konkrečią tinklo sąsają

Jei norite leisti prisijungti prie konkrečios tinklo sąsajos eth2 tam tikram prievadui 22 (SSH), paleiskite šią komandą.

sudo ufw allow in on eth2 to any port 22

Neleisti prisijungti prie UFW

Pagal numatytuosius nustatymus visi gaunami ryšiai yra blokuojami, nebent konkrečiai atidarėte ryšį UFW. Pavyzdžiui, atidarėte prievadus 80 ir 443, o jūsų žiniatinklio serveris yra užpultas iš nežinomo tinklo 11.12.13.0/24.

Norėdami užblokuoti visus ryšius iš šio konkretaus 11.12.13.0/24 tinklo diapazono, galite naudoti šią komandą.

sudo ufw deny from 11.12.13.0/24

Jei norite blokuoti tik 80 ir 443 prievadų ryšius, galite naudoti šias komandas.

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

Ištrinkite UFW taisykles

Yra du būdai, kaip ištrinti UFW taisykles: pagal taisyklės numerį ir pagal faktinę taisyklę.

Norėdami ištrinti UFW taisykles naudodami taisyklės numerį, pirmiausia turite pateikti taisykles pagal skaičius, naudodami šią komandą.

sudo ufw status numbered
Pavyzdžio išvestis
Status: active

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

Jei norite ištrinti taisyklę Nr. 1, naudokite šią komandą.

sudo ufw delete 1

Antrasis būdas yra ištrinti taisyklę naudojant faktinę taisyklę, pavyzdžiui, norėdami ištrinti taisyklę, nurodykite prievado numerį su protokolu, kaip parodyta.

sudo ufw delete allow 22/tcp

Sauso paleidimo UFW taisyklės

Naudodami vėliavėlę --dry-run, galite paleisti bet kokias ufw komandas neatlikdami jokių pakeitimų sistemos užkardoje. Tai tiesiog parodo pakeitimus, kurie turėtų įvykti.

sudo ufw --dry-run enable

Iš naujo nustatykite UFW ugniasienę

Dėl vienos ar kitos priežasties, jei norite ištrinti/iš naujo nustatyti visas ugniasienės taisykles, įveskite šias komandas, tai grąžins visus jūsų pakeitimus ir pradės iš naujo.

sudo ufw reset
sudo ufw status

Išplėstinė UFW funkcija

UFW ugniasienė gali atlikti bet ką, ką daro iptables. Tai galima padaryti naudojant skirtingus taisyklių rinkinius, kurie yra ne kas kita, o paprasti iptables-restore tekstiniai failai.

UFW ugniasienės derinimas arba papildomų iptables komandų pridėjimas neleidžiamas naudojant ufw komandą, tereikia pakeisti šiuos tekstinius failus

  • /etc/default/ufw: pagrindinis konfigūracijos failas su iš anksto nustatytomis taisyklėmis.
  • /etc/ufw/before[6].rules: šiame faile taisyklės apskaičiuojamos prieš pridedant naudojant ufw komandą.
  • /etc/ufw/after[6].rules: šiame faile taisyklės apskaičiuojamos pridėjus naudojant ufw komandą.
  • /etc/ufw/sysctl.conf: šis failas naudojamas branduolio tinklui derinti.
  • /etc/ufw/ufw.conf: šis failas įgalina ufw paleidžiant.

Viskas! UFW – tai puiki sąsaja su iptables su patogia sąsaja, leidžiančia apibrėžti sudėtingas taisykles viena ufw komanda.

Jei turite klausimų ar minčių apie šį ufw straipsnį, naudokite toliau pateiktą komentarų formą, kad su mumis susisiektumėte.