Konfigurując środowisko IT oparte o GNU/Linux należy zdawać sobie sprawę, z tego że należy zadbać nie tylko o poprawną konfigurację usług, ale przede wszystkim o bezpieczeństwo maszyny. Fajnie działająca usługa to łakomy kąsek dla tych, którzy chcą ją „popsuć”. Dlatego w tym wpisie o firewalld.
Firewalld Nieco Teorii…
W systemach Centos/RedHat 7 domyślnym systemem, który broni dostępu do systemu jest usługa firewalld. Jest ona domyślnie uruchomiona w czystej instalacji w/w systemów.
Sama usługa podzielona jest na 9 stref:
- block – wszystkie połączenia inne niż już nawiązane są blokowane,
- dmz – tzw. strefa zdemilitaryzowana, w których umieszcza się istotne dla działania infrastruktury serwery. Dopuszczony jest jedynie konkretny ruch pod szczególną ochroną,
- drop – wszystkie przychodzące połączenia są odrzucane bez informacji zwrotnej do nadawcy,
- external – ruch przechodzący przez NAT,
- home – wykorzystywana jest głównie w domu, ponieważ te komputery są zaufane dla siebie, akceptowany jest ruch przychodzący,
- internal – sieć wewnętrzna działa podobnie jak home, akceptowany jest ruch przychodzący,
- trusted – akceptowany jest cały ruch z każdej sieci,
- work – maszyny w biurze, które są dla siebie zaufane, natomiast ruch z zewnątrz jest kontrolowany
Praktyczne Przykłady
Na początek sprawdź jakie są dostępne usługi, które można przepuścić lub zablokować na firewall’u. Mają one ułatwić pisanie reguł, ponieważ podaje się ich nazwę bez znajomości portów.
1 |
firewall-cmd --get-services |
W wyniku tego polecenia otrzymasz nieco bałaganiarskie informacje zwrotne, ale jednak przy spokojnym przeglądzie można dostrzec takie usługi jak: nfs, dhcp, dns etc.
Kolejnym krokiem jest określenie, która strefa jest domyślną, czyli do której wpadają wszystkie tworzone reguły.
1 |
firewall-cmd --get-default-zone |
W odpowiedzi powinna się pojawić strefa public
Wypisanie na ekran wszystkich dostępnych strefa jest możliwe przy pomocy poniższego polecenia.
1 |
firewall-cmd --get-zones |
W odpowiedzi pojawi się następująca lub podobna lista: block dmz drop external home internal public trusted work
Możliwe jest również wyświetlenie wszystkich dostępnych polecenie z poziomu firewall-cmd.
1 |
firewall-cmd --get |
Kolejną rzeczą jest możliwość wyświetlenia usług, które mają dostęp przez firewall dla domyślnej strefy
1 |
firewall-cmd --list-services |
Domyślnie w odpowiedzi powinien zostać wyświetlany podobny widok: cockpit dhcpv6-client ssh.
Dokładniejsze informacje dla domyślnej strefy można pozyskać poprzez poniższe polecenie.
1 |
firewall-cmd --list-all |
Jeżeli chodzi o wyświetlenie usług dla konkretnej strefy należy użyć poniższego polecenia. Oczywiście w opcje –zone=, należy podstawić dowolną z wcześniej wymienionych stref.
1 |
firewall-cmd --list-all --zone=home |
W wyniku tego polecenia otrzymasz poniższy widok.
Jeżeli chcesz dodać konkretną usługę do firewall’a, aby umożliwić jej dostęp z zewnątrz należy wykonać poniższe polecenia. Pierwsze dodaje usługę na stałe, druga uruchomi usługę firewalld ponownie, aby dodana usługa z pierwszego polecenia zaczęła działać.
1 |
firewall-cmd --add-service vnc-server --permanent |
1 |
firewall-cmd --reload |
W odpowiedzi dla domyślnej strefy zostanie dodany nvc-server.
Można również dodać konkretny port, aby przepuścić na nim ruch.
1 |
firewall-cmd --add-port=2022/tcp --permanent |
1 |
firewall-cmd --reload |
W odpowiedzi otrzymasz widok z dodanym portem 2022 w strefie domyślnej.
Żeby zmienić domyślną strefę należy użyć poniższego polecenia. Oczywiście można użyć jednej z w/w stref.
1 |
firewalld-cmd --set-default-zone=home |
W ten sposób zostanie zmieniona domyślna strefa, którą możesz sprawdzić poniższym poleceniem.
1 |
firewall-cmd --get-default-zone |
Można również usuwać zarówno porty jak i usługi z firewall’a.
1 2 |
firewall-cmd --remove-port=2022/tcp --permanent firewall-cmd --reload |
1 2 |
firewall-cmd --remove-service=vnc-server --permanent firewall-cmd --reload |
Po tych zabiegach przy pomocy firewall-cmd –list-all otrzymasz widok, który już nie będzie zawierał w/w portów lub usług.
Podsumowanie
Jak widzisz zabezpieczenie systemu nie jest trudne, a bezwzględnie powinno być wykonane zaraz na początku jego konfiguracji.
To tyle w tym wpisie, zapraszam na kolejny, w którym przedstawię kwestie związane z zarządzaniem hasłami użytkowników.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).