Config Server Firewall (CSF) to zaawansowany firewall typu open-source przeznaczony dla systemów Linux. Zapewnia nie tylko podstawową funkcjonalność zapory, ale także oferuje szeroki wachlarz dodatkowych funkcji, takich jak wykrywanie logowania/włamań, sprawdzanie exploitów, ochrona przed pingami i wiele innych.
Ponadto zapewnia również integrację interfejsu użytkownika z powszechnie używanymi panelami sterowania, takimi jak cPanel, Webmin, Vesta CP, CyberPanel i DirectAdmin. Pełną listę obsługiwanych funkcji i systemów operacyjnych można znaleźć w oficjalnej witrynie internetowej ConfigServer.
Instalacja firewall CSF na Debianie i Ubuntu
Po pierwsze, musisz zainstalować kilka zależności (pakietów), zanim zaczniesz instalować zaporę CSF. W swojej konsoli zaktualizuj indeks pakietów:
1 |
sudo apt update |
Następnie zainstaluj zależności:
1 |
sudo apt install wget libio-socket-ssl-perl git perl iptables libnet-libidn-perl libcrypt-ssleay-perl libio-socket-inet6-perl libsocket6-perl sendmail dnsutils unzip |
Jako że CSF nie jest zawarty w domyślnych repozytoriach Debiana i Ubuntu, musisz zainstalować go ręcznie. Aby kontynuować, pobierz plik tar CSF, który zawiera wszystkie pliki instalacyjne, używając:
1 |
wget http://download.configserver.com/csf.tgz |
Następnie wyodrębnij skompresowany plik:
1 |
tar -xvzf csf.tgz |
Przejdź do wypakowanego katalogu CSF:
1 |
cd csf |
Zainstaluj paczkę CSF:
1 |
sudo bash install.sh |
CSF został zainstalowany. Musisz jednak sprawdzić, czy wymagane iptables są załadowane. Aby to osiągnąć, uruchom polecenie:
1 |
sudo perl /usr/local/csf/bin/csftest.pl |
W odpowiedzi powinny pojawić się poniższe informacje:
Konfiguracja zapory CSF na Debianie i Ubuntu
Musimy zmodyfikować kilka ustawień, aby włączyć CSF. Przejdź więc do pliku konfiguracyjnego csf.conf:
1 |
sudo nano /etc/csf/csf.conf |
Zmień dyrektywę TESTING z „1” na „0”, jak wskazano poniżej:
Następnie ustaw dyrektywę RESTRICT_SYSLOG na „3„, aby ograniczyć dostęp do rsyslog/syslog tylko do członków grupy RESTRICT_SYSLOG_GROUP:
Następnie możesz otworzyć porty TCP i UDP, lokalizując dyrektywy TCP_IN, TCP_OUT, UDP_IN i UDP_OUT.
Domyślnie otwarte są następujące porty:
Możliwe, że nie potrzebujesz otwierać wszystkich tych portów, a najlepsze praktyki serwerowe wymagają, aby otwierać tylko te porty, których używasz. Dlatego też zalecam usunięcie wszystkich niepotrzebnych portów i pozostawienie tych, które są używane przez usługi działające w systemie.
Po otwarciu niezbędnych kortów załaduj ponownie CSF:
1 |
sudo csf -r |
Aby wyświetlić listę wszystkich reguł tabeli IP zdefiniowanych na serwerze, uruchom polecenie:
1 |
sudo csf -l |
Możesz uruchomić i włączyć zaporę CSF podczas uruchamiania w następujący sposób:
1 2 |
sudo systemctl start csf sudo systemctl enable csf |
Następnie potwierdź, że zapora rzeczywiście działa:
1 |
sudo systemctl status csf |
Blokowanie i zezwalanie na adresy IP w zaporze CSF
Jedną z kluczowych funkcji zapory jest możliwość zezwalania lub blokowania dostępu do serwera adresom IP. Dzięki CSF możesz dodawać do białej listy (allow), czarnej listy (deny) lub ignorować adresy IP, modyfikując następujące pliki konfiguracyjne:
- csf.allow
- csf.deny
- csf.ignore
Zablokuj adres IP w CSF
Aby zablokować adres IP, wystarczy uzyskać dostęp do pliku konfiguracyjnego csf.deny:
1 |
sudo nano /etc/csf/csf.deny |
Następnie określ adresy IP, które chcesz zablokować. Możesz określić adresy IP linia po linii:
192.168.8.100
192.168.8.101
Możesz też użyć notacji CIDR, aby zablokować całą podsieć:
192.168.8.0/24
Zezwól na adres IP w CSF
Aby zezwolić na adres IP przez Iptables i wykluczyć go ze wszystkich filtrów lub bloków, edytuj plik konfiguracyjny csf.allow:
1 |
sudo nano /etc/csf/csf.allow |
Możesz podać adres IP w wierszu lub użyć adresowania CIDR, jak pokazano wcześniej podczas blokowania adresów IP.
Ważne: Adres IP będzie dozwolony, nawet jeśli jest jawnie zdefiniowany w pliku konfiguracyjnym csf.deny. Aby upewnić się, że adres IP jest zablokowany lub umieszczony na czarnej liście, upewnij się, że nie jest on wymieniony w pliku csf.allow.
Wyklucz adres IP z CSF
Ponadto CSF zapewnia możliwość wykluczenia adresu IP z tabel lub filtrów IP. Każdy adres IP w pliku csf.ignore zostanie wyłączony z filtrów iptables. Można go zablokować tylko wtedy, gdy określono go w pliku csf.deny.
Aby wyłączyć adres IP z filtrów, przejdź do pliku csf.ignore:
1 |
sudo nano /etc/csf/csf.ignore |
Tak jak poprzednio możesz wyświetlić adresy IP linia po linii lub użyć notacji CIDR.
Podsumowanie
CSF daje spore możliwości przy tym jego konfiguracja jest stosunkowo prosta oraz jasna. Podział na pliki, które odpowiadają za blokowanie, ignorowanie czy też zezwalanie na ruch pozwalają na zapanowanie nad konfiguracją, która umożliwia szybkie dostosowanie do potrzeb organizacji.
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:).