Како да поставите заштитен ѕид на серверот 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, но ако вашата нема, едноставно инсталирајте го од репозиториумите:
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 80/tcp
sudo ufw allow 443/tcp
Доколку ви се потребни повеќе правила, едноставно додадете ги како што е наведено погоре.
Ако имате статичка IP адреса и треба да можете да се поврзете само преку ssh од една локација, можете да ги ограничите и ssh врските на една адреса на потекло како ова:
Секако, наместо тоа, внесете ја вашата сопствена IP адреса.
Кога ќе завршите, овозможете го ufw со внесување:
И готово! Заштитниот ѕид работи и автоматски ќе се стартува кога ќе го рестартирате серверот :-)
Ако направите промени во конфигурацијата на ufw, можеби ќе треба да ја оневозможите и повторно да ја овозможите за да стапат на сила, на следниов начин:
sudo ufw enable
За да ја видите моменталната конфигурација, едноставно внесете:
Ако ufw не е овозможено, ова едноставно ќе прикаже порака „неактивна“, во спротивно ќе ги прикаже моментално дефинираните правила.
