UFW konfigurācija soli pa solim: Linux ugunsmūris
Palaist serverī ar vienu komandu (vispirms pārbaudiet skripta saturu zemāk):
curl -sSL https://cp.lv/scripts/nastrojka-ufw-poshagovo.sh | sudo bash…vai ar wget:
wget -qO- https://cp.lv/scripts/nastrojka-ufw-poshagovo.sh | sudo bashSkripta saturs nastrojka-ufw-poshagovo.sh:
#!/usr/bin/env bash
# Pamata ugunsmūra ufw konfigurācija (Ubuntu/Debian)
set -euo pipefail
# 1. Instalēšana
sudo apt update && sudo apt install -y ufw
# 2. Pamata politikas: viss ienākošais — aizliegts, izejošais — atļauts
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 3. SVARĪGI: atļaujam SSH pirms ieslēgšanas, citādi zaudēsim piekļuvi
sudo ufw allow OpenSSH
sudo ufw limit OpenSSH
# 4. Tīmekļa porti HTTP un HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 5. Žurnalēšana un ieslēgšana (--force — bez interaktīva apstiprinājuma)
sudo ufw logging on
sudo ufw --force enable
# 6. Pārbaude
sudo ufw status verbose
echo "Gatavs: ugunsmūris ieslēgts, atvērti SSH, HTTP un HTTPS."
Ufw (Uncomplicated Firewall) ir vienkāršs iptables apvalks. Pamata konfigurācija aizņem četras komandas: aizliegt visu ienākošo trafiku, atļaut izejošo, atvērt SSH un ieslēgt ugunsmūri. Zemāk — pilna secība ar pārbaudi, lai nezaudētu piekļuvi serverim.
Ko dara ufw
Pēc noklusējuma serveris pieņem savienojumus uz visiem atvērtajiem portiem. Ufw ļauj skaidri norādīt, kuri porti ir pieejami no ārpuses, bet visu pārējo — bloķēt. Tā ir jebkura VPS pirmā aizsardzības līnija.
1. solis. Instalēšana
Ubuntu sistēmā ufw parasti jau ir uzinstalēts. Ja nav:
apt update
apt install -y ufw
2. solis. Pamata politikas
ufw default deny incoming
ufw default allow outgoing
Tagad viss ienākošais trafiks tiek bloķēts, izejošais — atļauts.
3. solis. SVARĪGI: atļaujiet SSH pirms ieslēgšanas
Ja ieslēgsiet ugunsmūri bez SSH noteikuma, jūs zaudēsiet piekļuvi:
ufw allow OpenSSH
Vai pēc porta numura (ja SSH ir uz nestandarta porta):
ufw allow 2222/tcp
4. solis. Tīmekļa porti
Vietnei vai API atveriet HTTP un HTTPS:
ufw allow 80/tcp
ufw allow 443/tcp
Var izmantot arī lietojumprogrammu profilus:
ufw app list
ufw allow 'Nginx Full'
5. solis. Ieslēgšana
ufw enable
Apstipriniet ar y. Pārbaudiet statusu:
ufw status verbose
Izvade parādīs aktīvos noteikumus un noklusējuma politikas.
Piekļuves ierobežošana pēc IP
Atļaut SSH tikai no jūsu IP — tas būtiski samazina paroļu uzlaušanas risku:
ufw allow from 203.0.113.10 to any port 22 proto tcp
Atļaut veselu apakštīklu:
ufw allow from 192.168.1.0/24
Aizliegt konkrētu IP:
ufw deny from 198.51.100.5
SSH aizsardzība pret uzlaušanu
Noteikums limit bloķē IP, kas 30 sekundēs izveido vairāk nekā 6 savienojumus:
ufw limit OpenSSH
Tas ir labs papildinājums fail2ban.
Noteikumu pārvaldība
Parādīt noteikumus ar numuriem:
ufw status numbered
Dzēst noteikumu pēc numura:
ufw delete 3
Dzēst pēc apraksta:
ufw delete allow 80/tcp
Žurnalēšana
ufw logging on
ufw logging medium
Žurnāli tiek rakstīti failā /var/log/ufw.log. Skatīties reāllaikā:
tail -f /var/log/ufw.log
Noderīgas komandas
| Komanda | Darbība |
|---|---|
ufw status verbose |
Detalizēts statuss |
ufw reload |
Pārlasīt noteikumus |
ufw disable |
Izslēgt ugunsmūri |
ufw reset |
Atiestatīt visus noteikumus |
Lietojumprogrammu profili
Ufw glabā gatavus portu profilus populāriem servisiem. Apskatīt sarakstu:
ufw app list
Profila detaļas:
ufw app info 'Nginx Full'
Profilu lietošana padara noteikumus lasāmus: 80,443/tcp vietā ir saprotams nosaukums Nginx Full.
IPv6 konfigurēšana
Ja serverim ir IPv6, pārliecinieties, ka ufw pārvalda arī to. Failā /etc/default/ufw:
IPV6=yes
Pēc izmaiņām pārstartējiet ugunsmūri:
ufw disable && ufw enable
Noteikumi allow/deny tiks automātiski piemēroti abiem protokoliem.
Noteikumu secībai ir nozīme
Ufw apstrādā noteikumus no augšas uz leju un apstājas pie pirmās sakritības. Tāpēc aizliedzošie noteikumi konkrētām IP adresēm jāievieto AUGSTĀK par vispārīgajiem atļaujošajiem. Ievietot noteikumu 1. pozīcijā:
ufw insert 1 deny from 198.51.100.5
Pārbaudiet secību ar komandu ufw status numbered.
Rezerves kopija un atjaunošana
Ufw noteikumi glabājas teksta failos. Saglabājiet tos:
cp -r /etc/ufw /root/ufw-backup
Pārceļot uz jaunu serveri, atgrieziet failus un pārstartējiet ufw. Tas ir ātrāk nekā ievadīt desmitiem noteikumu no jauna.
Biežāk uzdotie jautājumi
Vai es nezaudēšu piekļuvi, ieslēdzot ufw?
Tikai tad, ja aizmirsāt ufw allow OpenSSH. Vienmēr atveriet SSH portu pirms ufw enable.
Vai ufw un iptables var lietot kopā? Ufw pārvalda iptables jūsu vietā. Manuāli iptables noteikumi var konfliktēt — izmantojiet kaut ko vienu.
Kā atvērt portu diapazonu?
ufw allow 6000:6010/tcp atvērs portus no 6000 līdz 6010.
Vai ufw vajadzīgs, ja ir fail2ban? Jā, tie ir dažādi līmeņi: ufw aizver liekos portus, fail2ban bloķē pārkāpējus uz atvērtajiem. Tie strādā kopā.
Kā uz laiku izslēgt ugunsmūri atkļūdošanai?
ufw disable, bet pēc pārbaudes — ufw enable. Noteikumi saglabājas.
Ugunsmūris ir obligātais drošības minimums. Izvērsiet projektu uz VPS drošībai un VPN vai parastas VPS nomas. Pilnu konfigurēšanu veiks Serveru administrēšana.