Wyszukiwanie w witrynie

Zainstaluj i skonfiguruj ConfigServer Security & Firewall (CSF) w systemie Linux


Jeśli spojrzysz gdziekolwiek na oferty pracy związane z IT, zauważysz stałe zapotrzebowanie na specjalistów ds. bezpieczeństwa. Oznacza to nie tylko, że cyberbezpieczeństwo to ciekawy kierunek studiów, ale także bardzo dochodowy.

Mając to na uwadze, w tym artykule wyjaśnimy, jak zainstalować i skonfigurować ConfigServer Security & Firewall (znany również w skrócie jako CSF), kompleksowy pakiet zabezpieczeń dla Linux i opisz kilka typowych przypadków użycia. Będziesz wtedy mógł używać CSF jako zapory ogniowej i systemu wykrywania włamań/błędów logowania, aby wzmocnić serwery, za które jesteś odpowiedzialny.

Bez dalszego przedłużania, zaczynajmy.

Instalacja i konfiguracja CSF w systemie Linux

Na początek pamiętaj, że Perl i libwww są warunkiem wstępnym zainstalowania CSF w dowolnej obsługiwanej dystrybucji (RHEL > i CentOS, openSUSE, Debian i Ubuntu). Ponieważ powinien być on domyślnie dostępny, nie musisz nic robić, chyba że jeden z poniższych kroków zwróci błąd krytyczny (w takim przypadku użyj systemu zarządzania pakietami, aby zainstalować brakujące zależności).

yum install perl-libwww-perl
apt install libwww-perl

Krok 1 – Pobierz plik CSF

cd /usr/src
wget https://download.configserver.com/csf.tgz

Krok 2 – Wyodrębnij archiwum tar CSF

tar xzf csf.tgz
cd csf

Krok 3 – Uruchom skrypt instalacyjny CSF

Ta część procesu polega na sprawdzeniu, czy wszystkie zależności zostały zainstalowane, utworzeniu niezbędnych struktur katalogów i plików dla interfejsu sieciowego, wykryciu aktualnie otwartych portów i przypomnieniu o konieczności ponownego uruchomienia plików csf i lfd< demony po zakończeniu wstępnej konfiguracji.

sh install.sh
perl /usr/local/csf/bin/csftest.pl

Oczekiwany wynik powyższego polecenia jest następujący:

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Krok 4: Wyłącz zaporę sieciową i skonfiguruj CSF

Wyłącz zaporę sieciową, jeśli jest uruchomiona, i skonfiguruj CSF.

systemctl stop firewalld
systemctl disable firewalld

Zmień TESTING="1" na TESTING="0" (w przeciwnym razie demon lfd nie uruchomi się) i wyświetl listę dozwolonych połączeń przychodzących i wychodzących porty jako lista oddzielona przecinkami (odpowiednio TCP_IN i TCP_OUT) w pliku /etc/csf/csf.conf, jak pokazano na poniższym wyjściu :

Testing flag - enables a CRON job that clears iptables incase of
configuration problems when you start csf. This should be enabled until you
are sure that the firewall works - i.e. incase you get locked out of your
server! Then do remember to set it to 0 and restart csf when you're sure
everything is OK. Stopping csf will remove the line from /etc/crontab
#
lfd will not start while this is enabled
TESTING = "0"

Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

Gdy będziesz zadowolony z konfiguracji, zapisz zmiany i wróć do wiersza poleceń.

Krok 5 – Uruchom ponownie i przetestuj CSF

systemctl restart {csf,lfd}
systemctl enable {csf,lfd}
systemctl is-active {csf,lfd}
csf -v

W tym momencie jesteśmy gotowi rozpocząć konfigurowanie reguł zapory sieciowej i wykrywania włamań, co zostanie omówione poniżej.

Konfigurowanie reguł CSF i wykrywania włamań

Na początek warto sprawdzić aktualne reguły zapory sieciowej w następujący sposób:

csf -l

Możesz także je zatrzymać lub załadować ponownie za pomocą:

csf -f
csf -r

odpowiednio. Pamiętaj, aby zapamiętać te opcje – będziesz ich potrzebować w przyszłości, szczególnie do sprawdzenia po wprowadzeniu zmian i ponownym uruchomieniu csf i lfd.

Przykład 1 – Zezwalanie i blokowanie adresów IP

Aby zezwolić na połączenia przychodzące z 192.168.0.10.

csf -a 192.168.0.10

Podobnie możesz blokować połączenia pochodzące z adresu 192.168.0.11.

csf -d 192.168.0.11

Jeśli chcesz, możesz usunąć każdą z powyższych reguł.

csf -ar 192.168.0.10
csf -dr 192.168.0.11

Zwróć uwagę, że użycie -ar lub -dr powyżej usuwa istniejące reguły zezwalania i odmawiania powiązane z danym adresem IP.

Przykład 2 – Ograniczanie połączeń przychodzących według źródła

W zależności od przeznaczenia serwera, możesz chcieć ograniczyć połączenia przychodzące do bezpiecznego numeru na podstawie portu. Aby to zrobić, otwórz plik /etc/csf/csf.conf i wyszukaj CONNLIMIT. Możesz określić wiele portów; pary połączeń oddzielone przecinkami. Na przykład,

CONNLIMIT = "22;2,80;10"

zezwoli tylko na połączenia przychodzące 2 i 10 z tego samego źródła odpowiednio do portów TCP 22 i 80.

Przykład 3 – Wysyłanie alertów e-mailem

Można wybrać kilka typów alertów. Poszukaj ustawień EMAIL_ALERT w pliku /etc/csf/csf.conf i upewnij się, że są ustawione na „1”, aby otrzymać powiązany alert. Na przykład,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

spowoduje wysłanie alertu na adres podany w LF_ALERT_TO za każdym razem, gdy ktoś pomyślnie zaloguje się przez SSH lub przełączy się na inne konto za pomocą polecenia su.

Opcje konfiguracji i użycie CSF

Poniższe opcje służą do modyfikowania i kontrolowania konfiguracji csf. Wszystkie pliki konfiguracyjne csf znajdują się w katalogu /etc/csf. Jeśli zmodyfikujesz którykolwiek z poniższych plików, będziesz musiał ponownie uruchomić demona csf, aby zastosować zmiany.

  • csf.conf: główny plik konfiguracyjny do kontrolowania CSF.
  • csf.allow: lista dozwolonych adresów IP i CIDR w zaporze.
  • csf.deny: lista odrzuconych adresów IP i adresów CIDR na zaporze.
  • csf.ignore: lista ignorowanych adresów IP i CIDR na zaporze.
  • csf.*ignore: lista różnych ignorowanych plików użytkowników, adresów IP.

Usuń zaporę sieciową CSF

Jeśli chcesz całkowicie usunąć zaporę sieciową CSF, po prostu uruchom następujący skrypt znajdujący się w katalogu /etc/csf/uninstall.sh.

/etc/csf/uninstall.sh

Powyższe polecenie całkowicie usunie zaporę CSF wraz ze wszystkimi plikami i folderami.

Streszczenie

W tym artykule wyjaśniliśmy, jak zainstalować, skonfigurować i używać CSF jako zapory ogniowej i systemu wykrywania włamań. Pamiętaj, że więcej funkcji opisano w pliku csf.conf.

Na przykład, jeśli prowadzisz działalność hostingową, możesz zintegrować CSF z rozwiązaniami do zarządzania, takimi jak Cpanel, WHM lub dobrze znanym Webminem.

Czy masz jakieś pytania lub uwagi dotyczące tego artykułu? Zachęcamy do wysłania nam wiadomości za pomocą poniższego formularza. Oczekujemy na kontakt zwrotny!