Miklix

Како да поставите заштитен ѕид на серверот Ubuntu

Објавено: 5 март 2025, во 19:55:18 UTC
Последно ажурирано: 12 јануари 2026, во 08:38:24 UTC

Оваа статија објаснува и дава неколку примери за тоа како да поставите заштитен ѕид на GNU/Linux користејќи ufw, што е кратенка од Uncomplicated FireWall - и името е соодветно, навистина е многу лесен начин да бидете сигурни дека немате повеќе отворени порти отколку што ви требаат.


Оваа страница беше машински преведена од англиски за да биде достапна за што повеќе луѓе. За жал, машинското преведување сè уште не е усовршена технологија, така што може да се појават грешки. Ако сакате, можете да ја видите оригиналната англиска верзија овде:

How to Set Up a Firewall on Ubuntu Server

Информациите во овој пост се базираат на Ubuntu Server 14.04 x64. Можеби ќе бидат валидни за други верзии, а можеби и не. (Ажурирање: Можам да потврдам дека информациите во овој пост се во основа сè уште валидни и функционални од Ubuntu Server 24.04, но во средните 10 години, ufw стана некако „попаметен“ со тоа што има профили за вообичаени серверски апликации (на пример, можете да овозможите „Nginx full“ наместо портите 80 и 443 одделно) и оневозможувањето/овозможувањето на целиот заштитен ѕид за да се применат нови правила повеќе не е потребно)

Кога првпат почнав со GNU/Linux (Ubuntu) сервери, поставувањето на заштитен ѕид вклучуваше рачно креирање и одржување на потенцијално сложена конфигурациска датотека за iptables. Сепак, неодамна го открив ufw, што е кратенка за Uncomplicated Firewall – и навистина е :-)

Мојата инсталација на Ubuntu Server 14.04 веќе го имаше инсталирано ufw, но ако вашата нема, едноставно инсталирајте го од репозиториумите:

sudo apt-get install ufw

UFW е всушност само алатка што ја поедноставува конфигурацијата на iptables - зад сцената, сè уште iptables и заштитниот ѕид на Linux кернелот го прават филтрирањето, па затоа ufw не е ниту помалку ниту побезбеден од нив. Сепак, бидејќи ufw го олеснува правилното конфигурирање на заштитниот ѕид, може да го намали ризикот од човечка грешка и затоа е веројатно побезбеден за неискусни администратори.

Ако вашиот сервер е конфигуриран со IPv6, како и со IPv4, проверете дали ова е овозможено и за UFW. Уредете ја датотеката /etc/default/ufw и побарајте линија што вели IPV6=yes. На мојата инсталација веќе беше таму, но ако не е или ако вели не, треба да го уредите.

Потоа едноставно користете ја командната линија за да ги овозможите портите што сакате да бидат отворени. Ако сте поврзани со вашиот сервер преку ssh, осигурајте се дека сте го овозможиле и тоа, во спротивно може да ја прекине вашата врска и евентуално да ве блокира од вашиот сервер кога ќе ја активирате - во зависност од тоа дали имате физички пристап до серверот или не, ова може да биде малку незгодно ;-)

На пример, ако користите ssh на стандардниот порт 22 и конфигурирате веб-сервер кој поддржува и некриптирани (HTTP на порт 80) и шифрирани (HTTPS на порт 443) врски, ќе ги издадете следниве команди за да го конфигурирате ufw:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Доколку ви се потребни повеќе правила, едноставно додадете ги како што е наведено погоре.

Ако имате статичка IP адреса и треба да можете да се поврзете само преку ssh од една локација, можете да ги ограничите и ssh врските на една адреса на потекло како ова:

sudo ufw allow from 192.168.0.1 to any port 22

Секако, наместо тоа, внесете ја вашата сопствена IP адреса.

Кога ќе завршите, овозможете го ufw со внесување:

sudo ufw enable

И готово! Заштитниот ѕид работи и автоматски ќе се стартува кога ќе го рестартирате серверот :-)

Ако направите промени во конфигурацијата на ufw, можеби ќе треба да ја оневозможите и повторно да ја овозможите за да стапат на сила, на следниов начин:

sudo ufw disable
sudo ufw enable

За да ја видите моменталната конфигурација, едноставно внесете:

sudo ufw status

Ако ufw не е овозможено, ова едноставно ќе прикаже порака „неактивна“, во спротивно ќе ги прикаже моментално дефинираните правила.

Споделете на BlueskyСподелете на ФејсбукСподелете на LinkedInСподелете на TumblrСподелете на XСподелете на LinkedInЗакачи на Pinterest

Микел Кристенсен

За авторот

Микел Кристенсен
Микел е креатор и сопственик на miklix.com. Тој има над 20 години искуство како професионален компјутерски програмер/развивач на софтвер и моментално е вработен со полно работно време во голема европска ИТ корпорација. Кога не пишува блог, тој го поминува своето слободно време на широк спектар на интереси, хоби и активности, кои до одреден степен може да се рефлектираат во разновидните теми опфатени на оваа веб-локација.