{"id":162,"date":"2023-06-16T11:50:32","date_gmt":"2023-06-16T09:50:32","guid":{"rendered":"https:\/\/itquest.net\/?p=162"},"modified":"2023-06-19T16:46:34","modified_gmt":"2023-06-19T14:46:34","slug":"dlaczego-ufw-jest-dobrym-wyborem-dla-linuxa-jako-firewall","status":"publish","type":"post","link":"https:\/\/itquest.net\/?p=162","title":{"rendered":"Dlaczego UFW jest dobrym wyborem dla Linuxa jako Firewall?"},"content":{"rendered":"<p>Bezpiecze\u0144stwo sieciowe jest niezwykle istotne w dzisiejszych czasach, zar\u00f3wno dla u\u017cytkownik\u00f3w domowych, jak i dla przedsi\u0119biorstw. Jednym z kluczowych narz\u0119dzi, kt\u00f3re pomaga w ochronie sieci, jest Firewall. W przypadku systemu Linux, jednym z popularnych rozwi\u0105za\u0144 firewallowych jest Uncomplicated Firewall (UFW). W tym artykule om\u00f3wimy, dlaczego UFW jest dobrym wyborem dla Linuxa jako Firewall.<\/p>\n<ol>\n<li>\u0141atwo\u015b\u0107 u\u017cycia: UFW jest zaprojektowany tak, aby by\u0142 prosty w u\u017cyciu nawet dla os\u00f3b nieznaj\u0105cych zaawansowanych technik firewallowych. Posiada prost\u0105 sk\u0142adni\u0119 polece\u0144 i intuicyjny interfejs, co u\u0142atwia konfiguracj\u0119 i zarz\u0105dzanie regu\u0142ami firewalla.<\/li>\n<li>Domy\u015blna polityka blokowania: Po w\u0142\u0105czeniu UFW domy\u015blnie blokuje ca\u0142y ruch sieciowy. To zapewnia podstawow\u0105 ochron\u0119, poniewa\u017c \u017caden ruch nie jest akceptowany, dop\u00f3ki nie zostan\u0105 dodane odpowiednie regu\u0142y. Dzi\u0119ki temu, nawet je\u015bli przypadkowo nie dodamy \u017cadnych regu\u0142, nasza sie\u0107 b\u0119dzie wci\u0105\u017c zabezpieczona.<\/li>\n<li>Konfiguracja regu\u0142 przy u\u017cyciu nazw serwis\u00f3w: UFW umo\u017cliwia dodawanie regu\u0142 do firewalla przy u\u017cyciu nazw serwis\u00f3w, takich jak SSH, HTTP, FTP itp. Zamiast pami\u0119ta\u0107 i wpisywa\u0107 numery port\u00f3w, mo\u017cemy u\u017cy\u0107 znanych nazw serwis\u00f3w, co u\u0142atwia konfiguracj\u0119.<\/li>\n<li>Mo\u017cliwo\u015b\u0107 definiowania regu\u0142 dla konkretnych adres\u00f3w IP lub podsieci: UFW pozwala na definiowanie regu\u0142 dla okre\u015blonych adres\u00f3w IP lub podsieci. To daje nam pe\u0142n\u0105 kontrol\u0119 nad tym, kt\u00f3re adresy lub podsieci maj\u0105 dost\u0119p do naszej sieci.<\/li>\n<li>Wsparcie dla IPv6: UFW obs\u0142uguje zar\u00f3wno protok\u00f3\u0142 IPv4, jak i IPv6. Oznacza to, \u017ce mo\u017cemy skonfigurowa\u0107 firewall dla obu protoko\u0142\u00f3w jednocze\u015bnie i zapewni\u0107 kompleksow\u0105 ochron\u0119 naszej sieci.<\/li>\n<li>Integracja z iptables: UFW jest nak\u0142adk\u0105 na iptables &#8211; zaawansowane narz\u0119dzie firewallowe w systemie Linux. Dzi\u0119ki temu, cho\u0107 UFW jest \u0142atwy w u\u017cyciu, nadal oferuje du\u017c\u0105 elastyczno\u015b\u0107 i mo\u017cliwo\u015b\u0107 skonfigurowania bardziej zaawansowanych regu\u0142, je\u015bli tego potrzebujemy.<\/li>\n<li>Mo\u017cliwo\u015b\u0107 logowania ruchu: UFW pozwala na logowanie ruchu sieciowego, co mo\u017ce by\u0107 przydatne przy analizie zdarze\u0144 sieciowych. Mo\u017cemy \u015bledzi\u0107, jakie po\u0142\u0105czenia s\u0105 blokowane lub zezwolone przez nasz firewall.<\/li>\n<li>Dost\u0119pno\u015b\u0107 na wielu dystrybucjach Linuxa: UFW jest dost\u0119pny na wielu dystrybucjach Linuxa i jest powszechnie u\u017cywany. Oznacza to, \u017ce mo\u017cemy korzysta\u0107 z UFW niezale\u017cnie od tego, jak\u0105 dystrybucj\u0119 wybrali\u015bmy.<\/li>\n<li>Aktywna spo\u0142eczno\u015b\u0107 i dokumentacja: UFW ma aktywn\u0105 spo\u0142eczno\u015b\u0107 u\u017cytkownik\u00f3w i deweloper\u00f3w, co oznacza, \u017ce mo\u017cna \u0142atwo znale\u017a\u0107 wsparcie i odpowiedzi na pytania. Istnieje r\u00f3wnie\u017c szeroka dokumentacja, kt\u00f3ra pomaga w konfiguracji i rozwi\u0105zywaniu problem\u00f3w.<\/li>\n<li>Zintegrowane zabezpieczenia: UFW pozwala na zastosowanie dodatkowych zabezpiecze\u0144, takich jak blokowanie atak\u00f3w DDoS, filtrowanie ruchu na podstawie adres\u00f3w MAC czy ochrona przed atakami brute-force.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3>Jak uruchomi\u0107 Firewalla UFW?<\/h3>\n<p>Aby uruchomi\u0107 Firewalla UFW, nale\u017cy otworzy\u0107 terminal i wpisa\u0107 polecenie:<\/p>\n<div class=\"bg-black rounded-md mb-4\">\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-bash\">sudo ufw <span class=\"hljs-built_in\">enable<\/span><br \/>\n<\/code><\/div>\n<\/div>\n<p>Wprowadzenie tego polecenia spowoduje w\u0142\u0105czenie Firewalla UFW i aktywacj\u0119 domy\u015blnych regu\u0142.<\/p>\n<h3>Jak doda\u0107 regu\u0142\u0119 do UFW?<\/h3>\n<p>Aby doda\u0107 regu\u0142\u0119 do Firewalla UFW, mo\u017cemy u\u017cy\u0107 polecenia <code>allow<\/code> lub <code>deny<\/code>, w zale\u017cno\u015bci od tego, czy chcemy zezwoli\u0107 czy zablokowa\u0107 okre\u015blony rodzaj ruchu sieciowego. Na przyk\u0142ad, aby zezwoli\u0107 na ruch HTTP:<\/p>\n<div class=\"bg-black rounded-md mb-4\">\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">sudo ufw allow http<br \/>\n<\/code><\/div>\n<\/div>\n<h3>Jak doda\u0107 regu\u0142y dla np. Postgresa z konkretnej podsieci?<\/h3>\n<p>Aby doda\u0107 regu\u0142\u0119 dla Postgresa z konkretnej podsieci, mo\u017cemy u\u017cy\u0107 polecenia <code>allow<\/code> i poda\u0107 odpowiedni adres IP i port. Na przyk\u0142ad, aby zezwoli\u0107 na ruch Postgresa z podsieci 192.168.0.0\/24:<\/p>\n<div class=\"bg-black rounded-md mb-4\">\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-css\">sudo ufw allow <span class=\"hljs-selector-tag\">from<\/span> <span class=\"hljs-number\">192.168<\/span>.<span class=\"hljs-number\">0.0<\/span>\/<span class=\"hljs-number\">24<\/span> <span class=\"hljs-selector-tag\">to<\/span> any port <span class=\"hljs-number\">5432<\/span><br \/>\n<\/code><\/div>\n<\/div>\n<h3>Jak usuwa\u0107 regu\u0142y z Firewalla UFW?<\/h3>\n<p>Aby usun\u0105\u0107 regu\u0142\u0119 z Firewalla UFW, nale\u017cy u\u017cy\u0107 polecenia <code>delete<\/code>. Na przyk\u0142ad, aby usun\u0105\u0107 regu\u0142\u0119 dla ruchu HTTP:<\/p>\n<div class=\"bg-black rounded-md mb-4\">\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-arduino\">sudo ufw <span class=\"hljs-keyword\">delete<\/span> allow http<br \/>\n<\/code><\/div>\n<\/div>\n<h3>Jak podejrze\u0107 status firewalla oraz uruchomione regu\u0142y?<\/h3>\n<p>Aby sprawdzi\u0107 status Firewalla UFW i wy\u015bwietli\u0107 uruchomione regu\u0142y, mo\u017cna u\u017cy\u0107 polecenia:<\/p>\n<div class=\"bg-black rounded-md mb-4\">\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-lua\">sudo ufw <span class=\"hljs-built_in\">status<\/span> verbose<br \/>\n<\/code><\/div>\n<\/div>\n<p>To polecenie wy\u015bwietli informacje o aktywnych regu\u0142ach, politykach domy\u015blnych i innych szczeg\u00f3\u0142ach.<\/p>\n<p>Sprawdzenie aktualnego stanu firewalla:<\/p>\n<p><code>sudo ufw status numbered<\/code><br \/>\nWynik:<\/p>\n<p><code>Status: active<\/code><\/p>\n<p><code>To Action From<\/code><br \/>\n<code>-- ------ ----<\/code><br \/>\n<code>[ 1] 22\/tcp ALLOW IN Anywhere<\/code><br \/>\n<code>[ 2] 80\/tcp ALLOW IN Anywhere<\/code><br \/>\n<code>[ 3] 443\/tcp ALLOW IN Anywhere<\/code><br \/>\nW powy\u017cszym przyk\u0142adzie mo\u017cemy zobaczy\u0107 trzy numerowane regu\u0142y. Regu\u0142a nr 1 zezwala na ruch przychodz\u0105cy na porcie 22\/tcp (SSH), regu\u0142a nr 2 na porcie 80\/tcp (HTTP), a regu\u0142a nr 3 na porcie 443\/tcp (HTTPS).<\/p>\n<p>Dodawanie nowej regu\u0142y do firewalla:<br \/>\n<code>sudo ufw allow 8080\/tcp<\/code><br \/>\nWynik:<\/p>\n<p><code>Rule added<\/code><br \/>\n<code>Rule added (v6)<\/code><br \/>\nRegu\u0142a zosta\u0142a pomy\u015blnie dodana do firewalla.<\/p>\n<p>Usuwanie regu\u0142y z firewalla:<br \/>\n<code>sudo ufw delete 2<\/code><br \/>\nWynik:<\/p>\n<p><code>Deleting:<\/code><br \/>\n<code>allow 80\/tcp<\/code><br \/>\n<code>Proceed with operation (y|n)? y<\/code><br \/>\n<code>Rule deleted (v6)<\/code><br \/>\nRegu\u0142a nr 2 (port 80\/tcp) zosta\u0142a usuni\u0119ta z firewalla.<\/p>\n<p>Dodawanie regu\u0142 dla konkretnych adres\u00f3w IP lub podsieci:<\/p>\n<p><code>sudo ufw allow from 192.168.0.0\/24 to any port 3306<\/code><br \/>\nWynik:<\/p>\n<p><code>Rule added<\/code><br \/>\n<code>Rule added (v6)<\/code><br \/>\nDodano regu\u0142\u0119, kt\u00f3ra zezwala na ruch przychodz\u0105cy z podsieci 192.168.0.0\/24 na porcie 3306 (MySQL).<\/p>\n<p>Sprawdzanie statusu firewalla i uruchomionych regu\u0142:<\/p>\n<p>sudo ufw status numbered<br \/>\nWynik:<\/p>\n<p><code>Status: active<\/code><\/p>\n<p><code>To Action From<\/code><br \/>\n<code>-- ------ ----<\/code><br \/>\n<code>[ 1] 22\/tcp ALLOW IN Anywhere<\/code><br \/>\n<code>[ 2] 443\/tcp ALLOW IN Anywhere<\/code><br \/>\n<code>[ 3] 8080\/tcp ALLOW IN Anywhere<\/code><br \/>\n<code>[ 4] 3306 ALLOW IN 192.168.0.0\/24<\/code><br \/>\nWidzimy aktualny status firewalla, kt\u00f3ry zawiera cztery numerowane regu\u0142y: regu\u0142a nr 1 dla portu 22\/tcp (SSH), regu\u0142a nr 2 dla portu 443\/tcp (HTTPS), regu\u0142a nr 3 dla portu 8080\/tcp i regu\u0142a nr 4 dla portu 3306 zezwalaj\u0105ca na ruch z podsieci 192.168.0.0\/24.<\/p>\n<h3>Jakie regu\u0142y wed\u0142ug dobrych praktyk doda\u0107 do UFW (np. SSH, Nginx, Apache)?<\/h3>\n<p>Wed\u0142ug dobrych praktyk zabezpiecze\u0144, istnieje kilka podstawowych regu\u0142, kt\u00f3re warto doda\u0107 do Firewalla UFW. Przyk\u0142adowo:<\/p>\n<ul>\n<li>Zezwolenie na ruch SSH:<\/li>\n<\/ul>\n<div class=\"bg-black rounded-md mb-4\">\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">sudo ufw allow ssh<br \/>\n<\/code><\/div>\n<\/div>\n<ul>\n<li>Zezwolenie na ruch dla serwera HTTP (Nginx):<\/li>\n<\/ul>\n<div class=\"bg-black rounded-md mb-4\">\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-arduino\">sudo ufw allow <span class=\"hljs-string\">'Nginx Full'<\/span><br \/>\n<\/code><\/div>\n<\/div>\n<ul>\n<li>Zezwolenie na ruch dla serwera HTTP (Apache):<\/li>\n<\/ul>\n<div class=\"bg-black rounded-md mb-4\">\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-arduino\">sudo ufw allow <span class=\"hljs-string\">'Apache Full'<\/span><br \/>\n<\/code><\/div>\n<\/div>\n<p>Dodatkowo, zawsze warto dostosowa\u0107 regu\u0142y do swoich potrzeb i uwzgl\u0119dni\u0107 specyfik\u0119 naszej infrastruktury.<\/p>\n<h3>Podsumowanie<\/h3>\n<p>Podsumowuj\u0105c, UFW jest dobrym wyborem dla Linuxa jako Firewall ze wzgl\u0119du na swoj\u0105 \u0142atwo\u015b\u0107 u\u017cycia, domy\u015bln\u0105 polityk\u0119 blokowania, mo\u017cliwo\u015b\u0107 definiowania regu\u0142 dla konkretnych adres\u00f3w IP lub podsieci, wsparcie dla IPv6, integracj\u0119 z iptables, mo\u017cliwo\u015b\u0107 logowania ruchu, dost\u0119pno\u015b\u0107 na wielu dystrybucjach Linuxa, aktywn\u0105 spo\u0142eczno\u015b\u0107 i dokumentacj\u0119, oraz zintegrowane zabezpieczenia. Dzi\u0119ki UFW mo\u017cemy skutecznie chroni\u0107 nasz\u0105 sie\u0107 przed niepo\u017c\u0105danym ruchem i zagro\u017ceniami sieciowymi.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">TEST<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Bezpiecze\u0144stwo sieciowe jest niezwykle istotne w dzisiejszych czasach, zar\u00f3wno dla u\u017cytkownik\u00f3w domowych, jak i dla przedsi\u0119biorstw. Jednym z kluczowych narz\u0119dzi, kt\u00f3re pomaga w ochronie sieci, jest Firewall. W przypadku systemu Linux, jednym z popularnych rozwi\u0105za\u0144 firewallowych jest Uncomplicated Firewall (UFW)&#8230;. <a class=\"more-link\" href=\"https:\/\/itquest.net\/?p=162\">Czytaj Wi\u0119cej &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":173,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39,3,9],"tags":[73,83,29,75],"class_list":["post-162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gui","category-linux","category-poradniki","tag-firewall","tag-konfiguracja-ufw-ubuntu","tag-linux","tag-ufw"],"_links":{"self":[{"href":"https:\/\/itquest.net\/index.php?rest_route=\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itquest.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itquest.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itquest.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itquest.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=162"}],"version-history":[{"count":7,"href":"https:\/\/itquest.net\/index.php?rest_route=\/wp\/v2\/posts\/162\/revisions"}],"predecessor-version":[{"id":172,"href":"https:\/\/itquest.net\/index.php?rest_route=\/wp\/v2\/posts\/162\/revisions\/172"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itquest.net\/index.php?rest_route=\/wp\/v2\/media\/173"}],"wp:attachment":[{"href":"https:\/\/itquest.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itquest.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itquest.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}