ufw konfigūravimas žingsnis po žingsnio: Linux ugniasienė 2026
Paleiskite serveryje viena komanda (pirmiausia patikrinkite skripto turinį žemiau):
curl -sSL https://cp.lv/scripts/nastrojka-ufw-poshagovo.sh | sudo bash…arba su wget:
wget -qO- https://cp.lv/scripts/nastrojka-ufw-poshagovo.sh | sudo bashSkripto turinys nastrojka-ufw-poshagovo.sh:
#!/usr/bin/env bash
# Basic ufw firewall setup (Ubuntu/Debian)
set -euo pipefail
# 1. Install
sudo apt update && sudo apt install -y ufw
# 2. Default policies: deny everything inbound, allow outbound
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 3. IMPORTANT: allow SSH before enabling, otherwise you lock yourself out
sudo ufw allow OpenSSH
sudo ufw limit OpenSSH
# 4. Web ports: HTTP and HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 5. Logging and enable (--force skips the interactive confirmation)
sudo ufw logging on
sudo ufw --force enable
# 6. Verify
sudo ufw status verbose
echo "Done: the firewall is on; SSH, HTTP and HTTPS are open."
ufw (Uncomplicated Firewall) — paprastas iptables apvalkalas. Bazinis konfigūravimas užtrunka keturias komandas: uždrausti visą įeinantį srautą, leisti išeinantį, atverti SSH ir įjungti ugniasienę. Žemiau — visa seka su patikrinimu, kad neprarastumėte prieigos prie serverio.
Ką daro ufw
Pagal numatytuosius nustatymus serveris priima prisijungimus visais atvirais prievadais. ufw leidžia aiškiai nurodyti, kurie prievadai pasiekiami iš išorės, o visa kita blokuoti. Tai pirmoji bet kurio VPS apsaugos linija.
1 žingsnis. Diegimas
Ubuntu sistemoje ufw paprastai jau įdiegtas. Jei ne:
apt update
apt install -y ufw
2 žingsnis. Numatytosios politikos
ufw default deny incoming
ufw default allow outgoing
Dabar visas įeinantis srautas blokuojamas, o išeinantis leidžiamas.
3 žingsnis. SVARBU: leiskite SSH prieš įjungdami
Jei įjungsite ugniasienę be SSH taisyklės, prarasite prieigą:
ufw allow OpenSSH
Arba pagal prievado numerį (jei SSH veikia nestandartiniame prievade):
ufw allow 2222/tcp
4 žingsnis. Žiniatinklio prievadai
Svetainei ar API atverkite HTTP ir HTTPS:
ufw allow 80/tcp
ufw allow 443/tcp
Galima naudoti programų profilius:
ufw app list
ufw allow 'Nginx Full'
5 žingsnis. Įjungimas
ufw enable
Patvirtinkite y. Patikrinkite būseną:
ufw status verbose
Išvestyje matysite aktyvias taisykles ir numatytąsias politikas.
Prieigos ribojimas pagal IP
Leisti SSH tik iš jūsų IP — tai stipriai sumažina brutalios jėgos atakų riziką:
ufw allow from 203.0.113.10 to any port 22 proto tcp
Leisti visą potinklį:
ufw allow from 192.168.1.0/24
Uždrausti konkretų IP:
ufw deny from 198.51.100.5
SSH apsauga nuo slaptažodžių perrinkimo
Taisyklė limit blokuoja IP, kuris per 30 sekundžių sukuria daugiau nei 6 prisijungimus:
ufw limit OpenSSH
Tai geras papildymas prie fail2ban.
Taisyklių valdymas
Parodyti taisykles su numeriais:
ufw status numbered
Pašalinti taisyklę pagal numerį:
ufw delete 3
Pašalinti pagal aprašymą:
ufw delete allow 80/tcp
Žurnalų rašymas
ufw logging on
ufw logging medium
Žurnalai rašomi į /var/log/ufw.log. Stebėti realiuoju laiku:
tail -f /var/log/ufw.log
Naudingos komandos
| Komanda | Veiksmas |
|---|---|
ufw status verbose |
Išsami būsena |
ufw reload |
Perskaityti taisykles iš naujo |
ufw disable |
Išjungti ugniasienę |
ufw reset |
Atstatyti visas taisykles |
Programų profiliai
ufw saugo paruoštus prievadų profilius populiarioms tarnyboms. Peržiūrėti sąrašą:
ufw app list
Profilio informacija:
ufw app info 'Nginx Full'
Naudojant profilius taisyklės tampa aiškesnės: vietoj 80,443/tcp matote suprantamą pavadinimą Nginx Full.
IPv6 konfigūravimas
Jei serveris turi IPv6, įsitikinkite, kad ufw valdo ir jį. Faile /etc/default/ufw:
IPV6=yes
Po pakeitimo perkraukite ugniasienę:
ufw disable && ufw enable
Taisyklės allow ir deny bus automatiškai pritaikytos abiem protokolams.
Taisyklių eiliškumas yra svarbus
ufw apdoroja taisykles iš viršaus į apačią ir sustoja ties pirmuoju atitikmeniu. Todėl draudžiančias taisykles konkretiems IP reikia įterpti AUKŠČIAU bendrų leidžiančių taisyklių. Įterpti taisyklę į pirmą poziciją:
ufw insert 1 deny from 198.51.100.5
Eiliškumą patikrinkite komanda ufw status numbered.
Atsarginė kopija ir atkūrimas
ufw taisyklės saugomos tekstiniuose failuose. Išsaugokite juos:
cp -r /etc/ufw /root/ufw-backup
Perkeliant į naują serverį grąžinkite failus ir paleiskite ufw iš naujo. Tai greičiau, nei rankomis suvesti dešimtis taisyklių.
Dažni klausimai
Ar neprarasiu prieigos įjungdamas ugniasienę?
Tik jei pamiršite ufw allow OpenSSH. Visada atverkite SSH prievadą prieš ufw enable.
Ar galima ufw ir iptables kartu? ufw pats valdo iptables. Rankinės iptables taisyklės gali konfliktuoti — naudokite kažką vieną.
Kaip atverti prievadų diapazoną?
ufw allow 6000:6010/tcp atvers prievadus nuo 6000 iki 6010.
Ar reikia ufw, jei yra fail2ban? Taip, tai skirtingi lygiai: ufw uždaro nereikalingus prievadus, fail2ban blokuoja pažeidėjus atviruose. Jie veikia kartu.
Kaip laikinai išjungti ugniasienę derinimui?
ufw disable, o po patikrinimo — ufw enable. Taisyklės išsaugomos.
Ugniasienė — privalomas saugumo minimumas. Įdiekite projektą VPS saugumui ir VPN arba įprastoje VPS nuomoje. Visą konfigūravimą atliks Serverių administravimas.