{"id":1500,"date":"2019-06-07T12:46:50","date_gmt":"2019-06-07T10:46:50","guid":{"rendered":"https:\/\/nsix.pl\/kb\/?p=1500"},"modified":"2019-12-12T12:40:29","modified_gmt":"2019-12-12T11:40:29","slug":"instalacja-i-konfiguracja-ufw-na-ubuntu","status":"publish","type":"post","link":"https:\/\/nsix.pl\/kb\/instalacja-i-konfiguracja-ufw-na-ubuntu\/","title":{"rendered":"Instalacja i konfiguracja UFW na Ubuntu"},"content":{"rendered":"\n<p>Ubuntu zawiera kilka pakiet\u00f3w, kt\u00f3re zawieraj\u0105 narz\u0119dzia do zarz\u0105dzania zapor\u0105. Jednym z nich jest Iptables, kt\u00f3ry jest instalowany jako cz\u0119\u015b\u0107 systemu podstawowego. Dla pocz\u0105tkuj\u0105cych mo\u017ce by\u0107 skomplikowane nauczenie si\u0119 u\u017cywania narz\u0119dzia iptables do prawid\u0142owego konfigurowania i zarz\u0105dzania zapor\u0105, natomiast narz\u0119dziem, kt\u00f3re w prosty spos\u00f3b upraszcza ca\u0142y proces jest UFW.<\/p>\n\n\n\n<p>UFW (Uncomplicated Firewall) jest przyjaznym dla u\u017cytkownika interfejsem do zarz\u0105dzania regu\u0142ami zapory iptables, a jego g\u0142\u00f3wnym celem,  jak sama nazwa wskazuje jest nieskomplikowane zarz\u0105dzanie zapor\u0105.<\/p>\n\n\n\n<p>W poni\u017cszym artykule zosta\u0142 wyja\u015bniony proces jak skonfigurowa\u0107 firewall z UFW w systemie Ubuntu.<\/p>\n\n\n\n<p>UFW nie jest zainstalowany domy\u015blnie w Ubuntu.  Aby go zainstalowa\u0107, nale\u017cy rozpocz\u0105\u0107 od zalogowania si\u0119 do systemu oraz wyda\u0107 polecenie instalacji ufw:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo apt install ufw<\/pre>\n\n\n\n<p>Po zako\u0144czeniu procesu instalacji, mo\u017cna sprawdzi\u0107 status UFW za pomoc\u0105 nast\u0119puj\u0105cego polecenia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw status verbose\nStatus: inactive<\/pre>\n\n\n\n<p>Domy\u015blnie UFW jest wy\u0142\u0105czone. Instalacja nie aktywuje automatycznie zapory, aby unikn\u0105\u0107 blokady z serwera.<\/p>\n\n\n\n<p>Je\u015bli UFW jest aktywne, dane wyj\u015bciowe b\u0119d\u0105 wygl\u0105da\u0107 podobnie do nast\u0119puj\u0105cych:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"803\" height=\"265\" src=\"https:\/\/nsix.pl\/kb\/wp-content\/uploads\/2019\/06\/ufw-zapora.png\" alt=\"\" class=\"wp-image-1520\" srcset=\"https:\/\/nsix.pl\/kb\/wp-content\/uploads\/2019\/06\/ufw-zapora.png 803w, https:\/\/nsix.pl\/kb\/wp-content\/uploads\/2019\/06\/ufw-zapora-300x99.png 300w, https:\/\/nsix.pl\/kb\/wp-content\/uploads\/2019\/06\/ufw-zapora-768x253.png 768w, https:\/\/nsix.pl\/kb\/wp-content\/uploads\/2019\/06\/ufw-zapora-60x20.png 60w, https:\/\/nsix.pl\/kb\/wp-content\/uploads\/2019\/06\/ufw-zapora-150x50.png 150w\" sizes=\"(max-width: 803px) 100vw, 803px\" \/><\/figure>\n\n\n\n<p>Domy\u015blnie UFW blokuje wszystkie po\u0142\u0105czenia przychodz\u0105ce i zezwala na wszystkie po\u0142\u0105czenia wychodz\u0105ce. Oznacza to, \u017ce ka\u017cdy, kto pr\u00f3buje uzyska\u0107 dost\u0119p do maszyny wirtualnej, nie b\u0119dzie m\u00f3g\u0142 si\u0119 po\u0142\u0105czy\u0107, chyba, \u017ce zostanie otwarty port, podczas gdy wszystkie aplikacje i us\u0142ugi dzia\u0142aj\u0105ce na maszynie b\u0119d\u0105 mog\u0142y uzyska\u0107 dost\u0119p na zewn\u0105trz.<\/p>\n\n\n\n<p>Proces konfiguracji UFW opisany w tym artykule, zak\u0142ada odblokowanie niezb\u0119dnych port\u00f3w u\u017cywanych przez us\u0142ugi oraz aplikacje potrzebnych do po\u0142\u0105czenia z maszyn\u0105. Tak wi\u0119c, nale\u017cy ustawi\u0107 warto\u015bci domy\u015blne u\u017cywane przez UFW:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw default deny incoming\n# sudo ufw default allow outgoing<\/pre>\n\n\n\n<p>Polecenia te ustawiaj\u0105 warto\u015bci domy\u015blne na odmawianie po\u0142\u0105cze\u0144 przychodz\u0105cych i zezwalaj\u0105 na po\u0142\u0105czenia wychodz\u0105ce. Same ustawienia domy\u015blne UFW nie s\u0105 wystarczaj\u0105ce, poniewa\u017c maszyny wirtualne zazwyczaj musz\u0105 odpowiada\u0107 na \u017c\u0105dania po\u0142\u0105cze\u0144 przychodz\u0105cych z zewn\u0105trz.<\/p>\n\n\n\n<p>Je\u017celi zosta\u0142aby teraz w\u0142\u0105czona zapora sieciowa UFW, odm\u00f3wi ona wszystkim po\u0142\u0105czeniom przychodz\u0105cym. Oznacza to, \u017ce nale\u017cy utworzy\u0107 regu\u0142y, kt\u00f3re zezwalaj\u0105 na po\u0142\u0105czenia przychodz\u0105ce &#8211; na przyk\u0142ad po\u0142\u0105czenia SSH lub HTTP &#8211; je\u017celi maszyna ma odpowiada\u0107 na tego typu \u017c\u0105dania.<\/p>\n\n\n\n<p>Aby skonfigurowa\u0107 zapor\u0119 sieciow\u0105 maszyny tak, aby zezwala\u0142a na <strong>po\u0142\u0105czenia przychodz\u0105ce SSH<\/strong>, mo\u017cna u\u017cy\u0107 nast\u0119puj\u0105cego polecenia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw allow ssh\nRules updated<\/pre>\n\n\n\n<p>Spowoduje to utworzenie regu\u0142 zapory, kt\u00f3re zezwalaj\u0105 na wszystkie po\u0142\u0105czenia na porcie 22 , kt\u00f3ry jest domy\u015blnie portem nas\u0142uchiwanym przez demona SSH.<\/p>\n\n\n\n<p>Mo\u017cemy jednak napisa\u0107 r\u00f3wnowa\u017cn\u0105 regu\u0142\u0119, okre\u015blaj\u0105c port zamiast nazwy us\u0142ugi. Na przyk\u0142ad to polecenie dzia\u0142a tak samo jak powy\u017cej: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw allow 22<\/pre>\n\n\n\n<p>Je\u015bli serwer SSH nas\u0142uchuje na porcie innym ni\u017c domy\u015blny port 22, nale\u017cy otworzy\u0107 ten port.<\/p>\n\n\n\n<p>Na przyk\u0142ad serwer ssh nas\u0142uchuje na porcie 8822, tak wi\u0119c mo\u017cna u\u017cy\u0107 nast\u0119puj\u0105cego polecenia, aby zezwoli\u0107 na po\u0142\u0105czenia na tym porcie:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw allow 8822\/tcp<\/pre>\n\n\n\n<p>Teraz, gdy zapora sieciowa UFW jest skonfigurowana tak, aby zezwala\u0142a na przychodz\u0105ce po\u0142\u0105czenia SSH, mo\u017cna j\u0105 w\u0142\u0105czy\u0107:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw enable\nCommand may disrupt existing ssh connections. Proceed with operation (y|n)? y\nFirewall is active and enabled on system startup<\/pre>\n\n\n\n<p>Zostanie wy\u015bwietlone ostrze\u017cenie, \u017ce w\u0142\u0105czenie zapory mo\u017ce zak\u0142\u00f3ci\u0107 istniej\u0105ce po\u0142\u0105czenia ssh, aby kontynuowa\u0107 nale\u017cy wpisa\u0107 y, aby potwierdzi\u0107 i klikn\u0105\u0107 klawisz Enter.<\/p>\n\n\n\n<p>W zale\u017cno\u015bci od aplikacji oraz us\u0142ug uruchomionych na maszynie wirtualnej nale\u017cy tak\u017ce zezwoli\u0107 na dost\u0119p po\u0142\u0105cze\u0144 przychodz\u0105cych do niekt\u00f3rych innych port\u00f3w.<\/p>\n\n\n\n<p>Poni\u017cej znajduje si\u0119 kilka przyk\u0142ad\u00f3w, w jaki spos\u00f3b zezwoli\u0107 na po\u0142\u0105czenia przychodz\u0105ce do niekt\u00f3rych z najbardziej popularnych us\u0142ug:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>otworzenie http na porcie 80<\/strong><\/li><\/ul>\n\n\n\n<p>Po\u0142\u0105czenia HTTP mog\u0105 by\u0107 dozwolone za pomoc\u0105 nast\u0119puj\u0105cego polecenia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw allow http<\/pre>\n\n\n\n<p>lub zamiast profilu http mo\u017cna u\u017cy\u0107 numeru portu 80:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> # sudo ufw allow 80\/tcp<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>otworzenie https na porcie 443<\/strong><\/li><\/ul>\n\n\n\n<p>Po\u0142\u0105czenia HTTPS mog\u0105 by\u0107 dozwolone za pomoc\u0105 nast\u0119puj\u0105cego polecenia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw allow https<\/pre>\n\n\n\n<p>Aby osi\u0105gn\u0105\u0107 to samo zamiast https, mo\u017cna u\u017cy\u0107 numeru portu 443:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw allow 443\/tcp<\/pre>\n\n\n\n<p>Natomiast zamiast zezwala\u0107 na po\u0142\u0105czenia do pojedynczych port\u00f3w, UFW pozwala u\u017cytkownikowi na udzielenie dost\u0119pu do zakres\u00f3w port\u00f3w. Aby zezwoli\u0107 na po\u0142\u0105czenie w zakresach port\u00f3w w UFW, nale\u017cy okre\u015bli\u0107 protok\u00f3\u0142: tcp lub udp.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>otworzenie zakresu port\u00f3w<\/strong><\/li><\/ul>\n\n\n\n<p>Na przyk\u0142ad, aby zezwoli\u0107 na dost\u0119p po\u0142\u0105cze\u0144 na portach od 7100 do 7200 na tcp i udp, nale\u017cy wyda\u0107 nast\u0119puj\u0105ce polecenie:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw allow 7100:7200\/tcp\n# sudo ufw allow 7100:7200\/udp<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>usuwanie regu\u0142<\/strong><\/li><\/ul>\n\n\n\n<p>\nIstniej\u0105 dwa r\u00f3\u017cne sposoby usuwania regu\u0142 UFW:\n\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>wed\u0142ug numeru regu\u0142y<\/li><li> okre\u015blenia aktualnej regu\u0142y<\/li><\/ul>\n\n\n\n<p>Usuwanie regu\u0142 UFW wed\u0142ug numeru regu\u0142y jest \u0142atwiejsze. Aby usun\u0105\u0107 regu\u0142\u0119 za pomoc\u0105 numeru regu\u0142y, nale\u017cy znale\u017a\u0107 numer regu\u0142y, kt\u00f3ra ma zosta\u0107 usuni\u0119ta &#8211;  mo\u017cna to zrobi\u0107 za pomoc\u0105 nast\u0119puj\u0105cego polecenia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw status numbered\n\n Status: active\n <code> To                         Action      From  --                         ------      ----<\/code>\n [ 1] 22\/tcp                     ALLOW IN    Anywhere\n [ 2] 80\/tcp                     ALLOW IN    Anywhere\n [ 3] 8080\/tcp                   ALLOW IN    Anywhere <\/pre>\n\n\n\n<p>Aby usun\u0105\u0107 regu\u0142\u0119 numer 3, zezwalaj\u0105c\u0105 na po\u0142\u0105czenia z portem 8080, nale\u017cy u\u017cy\u0107 nast\u0119puj\u0105cego polecenia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw delete 3<\/pre>\n\n\n\n<p>Druga metoda polega na usuni\u0119ciu regu\u0142y poprzez okre\u015blenie aktualnej regu\u0142y. Na przyk\u0142ad je\u015bli dodano regu\u0142\u0119 otwarcia portu 8069, mo\u017cna j\u0105 usun\u0105\u0107 za pomoc\u0105:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw delete allow 8069<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>wy\u0142\u0105czenie UFW<\/strong><\/li><\/ul>\n\n\n\n<p>Je\u015bli z jakiego\u015b powodu trzeba zatrzyma\u0107 UFW i dezaktywowa\u0107 wszystkie regu\u0142y, mo\u017cna u\u017cy\u0107 polecenia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw disable<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>w\u0142\u0105czenie UFW<\/strong><\/li><\/ul>\n\n\n\n<p>Aby ponownie w\u0142\u0105czy\u0107 UFW i aktywowa\u0107 wszystkie regu\u0142y, nale\u017cy wpisa\u0107:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw enable<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>reset UFW<\/strong><\/li><\/ul>\n\n\n\n<p>Resetowanie UFW wy\u0142\u0105czy UFW i usunie wszystkie obecnie aktywne regu\u0142y. Jest to pomocne, je\u015bli zajdzie potrzeba przywr\u00f3cenia wszystkich zmian i rozpocz\u0119cie konfiguracji od nowa.<\/p>\n\n\n\n<p>Aby zresetowa\u0107 UFW, wystarczy wpisa\u0107 nast\u0119puj\u0105ce polecenie:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># sudo ufw reset<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ubuntu zawiera kilka pakiet\u00f3w, kt\u00f3re zawieraj\u0105 narz\u0119dzia do zarz\u0105dzania zapor\u0105. Jednym z nich jest Iptables, kt\u00f3ry jest instalowany jako cz\u0119\u015b\u0107 systemu podstawowego. Dla pocz\u0105tkuj\u0105cych mo\u017ce by\u0107 skomplikowane nauczenie si\u0119 u\u017cywania narz\u0119dzia iptables do prawid\u0142owego konfigurowania i zarz\u0105dzania zapor\u0105, natomiast narz\u0119dziem, kt\u00f3re w prosty spos\u00f3b upraszcza ca\u0142y proces jest UFW. UFW (Uncomplicated Firewall) jest przyjaznym dla [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[181],"tags":[201,35,42,33,228,36,131,41],"class_list":["post-1500","post","type-post","status-publish","format-standard","hentry","category-linux-maszyny-wirtualne","tag-bezpieczenstwo","tag-debian","tag-firewall","tag-linux","tag-reguly","tag-ubuntu","tag-ufw","tag-zabezpieczenia"],"_links":{"self":[{"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/posts\/1500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/comments?post=1500"}],"version-history":[{"count":55,"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/posts\/1500\/revisions"}],"predecessor-version":[{"id":3247,"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/posts\/1500\/revisions\/3247"}],"wp:attachment":[{"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/media?parent=1500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/categories?post=1500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nsix.pl\/kb\/wp-json\/wp\/v2\/tags?post=1500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}