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 bash

Skripta 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.

Edgars Kalējs