Безплатна диагностика при извършен ремонт · Бързи ремонти до 72 часа
ВСВ Систем ЕООД Магазин и сервиз за компютърна техника – гр. Балчик

Създаване на сигурна защитна стена в Linux с примери и стъпка по стъпка

1 август 2026 · 17 прочитания

Създаване на сигурна защитна стена в Linux с примери и стъпка по стъпка

Сигурната защитна стена в Linux е първата линия на отбрана срещу нежелани връзки, а добрата новина е, че всяка голяма дистрибуция разполага с мощен и лесен инструмент за нея – ufw, firewalld или nftables. В тази статия ще ви покажем стъпка по стъпка как да я създадете, с готови команди, които можете да копирате директно в терминала, за да защитите компютъра или малкия си сървър.

Кои защитни стени са налични в Linux?

ИнструментДистрибуцииКакво представлява
UFWUbuntu, DebianЛесен интерфейс над iptables/nftables
firewalldFedora, openSUSE, RHELЗащитна стена със зони и услуги
nftablesВсички (ядрото на Linux)Модерният наследник на iptables

Общият принцип е „deny by default“ – забрани всичко входящо и позволи само конкретни портове. Така намалявате повърхността за атаки още от първия ден.

UFW – идеалният избор за Ubuntu и Debian

Стъпка 1: Проверете състоянието и включете

sudo ufw status
sudo ufw enable

Важно: ако се свързвате отдалечено по SSH, първо позволете SSH, а чак след това включете защитната стена – иначе се отрязвате от собствената си машина.

Стъпка 2: Политика deny by default

sudo ufw default deny incoming
sudo ufw default allow outgoing

Стъпка 3: Позволете SSH, HTTP и HTTPS

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 'Nginx Full'

UFW разполага и с готови профили за популярни услуги – проверете ги с sudo ufw app list. Профилът 'Nginx Full' например отваря едновременно портове 80 и 443, без да налага да ги помните.

Стъпка 4: Откажете порт или IP адрес

sudo ufw deny 23/tcp
sudo ufw deny from 203.0.113.101
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp

Стъпка 5: Rate limiting срещу brute force атаки

Командата по-долу блокира временно всеки IP, който направи повече от шест опита за връзка за 30 секунди – идеално за SSH:

sudo ufw limit ssh

Полезни команди за управление

sudo ufw status verbose
sudo ufw status numbered
sudo ufw delete 3

Пълната документация е достъпна на wiki.ubuntu.com/UncomplicatedFirewall.

firewalld – зони и услуги (Fedora, openSUSE, RHEL)

firewalld разделя мрежите на „зони“ с различна степен на доверие – например public за Wi-Fi в кафене и home за домашната мрежа. Проверете статуса и активните зони с:

sudo systemctl enable --now firewalld
firewall-cmd --state
firewall-cmd --list-all

Позволяване на HTTP и HTTPS

firewall-cmd --zone=public --add-service=http
firewall-cmd --zone=public --add-service=https
firewall-cmd --runtime-to-permanent

Позволяване на порт (runtime + permanent)

firewall-cmd --add-port=443/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

Затваряне на порт и преместване на интерфейс в зона

firewall-cmd --permanent --remove-service=http
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --zone=home --change-interface=eth0

Правилото е същото: по подразбиране всичко входящо е блокирано, а вие отваряте само нужните услуги. Официалната документация е на firewalld.org.

nftables – модерният стандарт

nftables е съвременният пакетен филтър в ядрото на Linux и наследник на iptables. Работи с таблици, вериги (chains) и правила. Ето как изглежда пълна конфигурация за защитна стена на уеб сървър – запазете я в /etc/nftables.conf:

#!/usr/sbin/nft -f
flush ruleset

table inet filter {
  chain input {
    type filter hook input priority 0; policy drop;
    iif lo accept
    ct state established,related accept
    ct state invalid drop
    tcp dport 22 accept
    tcp dport { 80, 443 } accept
    tcp dport 22 ct state new limit rate 5/minute accept
  }
  chain forward {
    type filter hook forward priority 0; policy drop;
  }
  chain output {
    type filter hook output priority 0; policy accept;
  }
}

Правилата за rate limiting ограничават новите SSH връзки до 5 в минута, а set-ът { 80, 443 } отваря HTTP и HTTPS едновременно за IPv4 и IPv6. Приложете конфигурацията и я проверете с:

sudo nft -f /etc/nftables.conf
sudo nft list ruleset
sudo systemctl enable nftables

Референцията на синтаксиса е в man страницата nft(8).

Инсталиране на защитна стена на всяка дистрибуция

UFW е предварително инсталиран в Ubuntu, но ако ползвате друга дистрибуция или сървърна версия, може да го добавите с пакетния мениджър на съответната система:

sudo apt install ufw                 # Debian, Ubuntu
sudo dnf install ufw                 # Fedora
sudo zypper install ufw              # openSUSE

Firewalld пък е стандартният избор във Fedora, докато nftables присъства във всяко съвременно ядро и се управлява през файла /etc/nftables.conf. Изберете един инструмент на машина и не смесвайте ufw с firewalld – те управляват една и съща система от правила и могат да си попречат.

Проверка на защитната стена

След като приложите правилата, проверете дали всичко работи. От самия компютър можете да тествате локалните услуги с:

curl -I http://localhost
nc -zv localhost 22

От друга машина в мрежата (или отвън, ако сървърът е в интернет) проверете дали желаните портове отговарят, а останалите са недостъпни:

nmap -p 22,80,443,8080 ваш_ip

Ако порт се окаже затворен по погрешка, проверете реда на правилата – в nftables и ufw правилата се прилагат отгоре надолу и първото съвпадение печели. Не забравяйте, че защитната стена на самата машина не е единствената стена – при домашен рутер или хостинг доставчик може да има отделен филтър, който също трябва да отворите.

Сравнение на основните команди

ДействиеUFWfirewalldnftables
Позволяване на SSHufw allow OpenSSHfirewall-cmd --add-service=sshnft add rule inet filter input tcp dport 22 accept
HTTP/HTTPSufw allow 80 && ufw allow 443firewall-cmd --add-service=http/httpsnft add rule inet filter input tcp dport { 80, 443 } accept
Отказ на портufw deny 23firewall-cmd --remove-port=23/tcpnft add rule inet filter input tcp dport 23 drop
Rate limitingufw limit sshrich rulelimit rate 5/minute
Преглед на правилатаufw statusfirewall-cmd --list-allnft list ruleset

Най-добри практики

  • Позволете SSH преди да включите защитната стена, за да не се отрежете отдалечено.
  • Винаги прилагайте deny by default и отваряйте само необходимите портове.
  • Ограничавайте достъпа до управление по IP адрес, ако е възможно.
  • Използвайте rate limiting за всички публични услуги.
  • Поддържайте системата актуална – защитната стена не замества корекциите.
  • Проверявайте правилата след всяка промяна с ufw status, firewall-cmd --list-all или nft list ruleset.

Заключение

С ufw, firewalld или nftables можете да създадете сигурна защитна стена в Linux само с няколко команди – независимо дали става дума за домашен компютър, сървър или точка за достъп. Ако искате по-сложна конфигурация, защита на сървър в интернет или цялостно укрепване на системата след миграция от Windows, екипът на ВСВ Систем ЕООД в Балчик е на ваше разположение.

Запишете час през страницата за контакти и ние ще настроим и тестваме защитната стена на вашата машина, заедно с всички други мерки за сигурност от нашите услуги.

Свързани статии

Може да ви е полезно да прочетете още: