Dziś kolejny wpis związany z zabezpieczaniem (m.in.) serwera działającego pod kontrolą systemu Linux (konkretnie Debian/Raspbian), niezależnie czy to będzie komputer stacjonarny, dedyk, Raspberry Pi czy VPS.

W ostatnich wpisach omówiłem zabezpieczenia związane z zaporą sieciową (firewall), czyli UFWFail2Ban – dziś pójdziemy w trochę innym kierunku, bo przedstawię 2 programy, które służą nie tyle przeciwdziałaniu, co wykrywaniu potencjalnie udanych ataków na nasz system…

Chkrootkit (Check Rootkit)

Chkrootkit jak sama nazwa wskazuje jest programem który skanuje system na obecność m.in. znanych mu rootkitów, koni trojańskich i złośliwych modułów jądra (LKM).

Duża zaletą może być to, że instalacja programu sprowadza się do jednej komendy:

sudo apt-get install chkrootkit

A sama konfiguracja to właściwie 3 linijki, których być może nie będziecie nawet zmieniać:

sudo nano /etc/chkrootkit.conf

W pliku tym domyślnie znajdziecie takie oto 3 linijki:

RUN_DAILY="false"
RUN_DAILY_OPTS="-q"
DIFF_MODE="false"

Pierwsza decyduje, czy ma być wykonywany codzienny automatyczny skan (proponuje zostawić „false”, o tym za chwilę), druga to opcje z jakimi uruchomi się program.

Trzecią można zmienić na „true” – będzie porównanie loga dzisiejszego z oczekiwanym (wcześniejszym).

Skanowanie

Sama obsługa jest równie prosta co instalacja i konfiguracja – by przeskanować system wystarczy skorzystać z polecenia:

sudo chkrootkit

Automatyczne skanowanie

Jeśli ktoś z Was chce by system był skanowany automatycznie, to zamiast korzystać z opcji w pliku konfiguracyjnym (co powoduje uruchomienie sktyptu za pomoca funkcji cron.daily) lepiej skorzystać z systemowego CRONa i np. takiej komendy:

0 8 * * * root (/usr/sbin/chkrootkit 2>&1 | mail -s 'Chkrootkit @NazwaSerwera' [email protected])

Dzięki czemu oprócz tego, że sami wybieramy dokładną datę i godzinę skanowania, to jeszcze otrzymamy raport na podany adres e-mail.


Rkhunter (RootKit Hunter)

Kolejnym programem tego typu który często gości na moich serwerach jest Rkhunter, który realizuje dość podobne zadanie, z tym, że zazwyczaj nie uruchamiam go automatycznie „gdzieś w nocy” (choć na niektórych serwerach i tak się zdarza) ale podczas aktualizacji systemu:

sudo rkhunter --versioncheck
sudo rkhunter --update
sudo rkhunter --check -l --sk
read -p "[Enter] > Aktualizacja"
sudo aptitude update -y&& sudo aptitude upgrade -y && sudo aptitude dist-upgrade -y
read -p "[Enter] > Rkhuner --propupd"
sudo rkhunter --propupd

Dzięki czemu (przynajmniej w teorii) jestem w stanie wyłapać ew. zmiany w plikach systemowych, które pojawiły się między aktualizacjami, co normalnie nie zdarza się zbyt często.

Ale może od początku:

Instalacja i (podstawowa) konfiguracja

Program zainstalujecie korzystając – w systemie Debian/Ubuntu/Raspbian – z komendy:

sudo apt-get install rkhunter

I choć właściwie od razu jest gotowy do działania, to ja polecam jeszcze przyjrzeć się plikowi konfiguracyjnemu:

sudo nano /etc/rkhunter.conf

Znajdziecie tu m.in. takie pozycje jak adres do powiadomień w przypadku znalezienia potencjalnych problemów:

[email protected] [email protected]

Komendę e-mail:

MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"

Jeśli w Waszym systemie użytkownik root może łączyć się po SSh warto zmienić na „yes”:

ALLOW_SSH_ROOT_USER=no

Lista wyjątków – warto tu dodać pliki (programy) które mogą zmieniać się częściej niż tylko przy aktualizacji:

SCRIPTWHITELIST=

Np.:

SCRIPTWHITELIST=/usr/bin/unhide.rb

Skanowanie ręczne i zaplanowane/automatyczne

Skanowanie możemy uruchomić ręcznie, np. za pomocą komendy:

sudo rkhunter -c -sk

Choć warto wcześniej zaktualizować bazę programu:

sudo rkhunter --versioncheck
sudo rkhunter --update

A jeśli od ostatniego skanowania coś zmieniło się w systemie, i jesteście pewni, że to jedyne zmiany, to możecie zaktualizować bazę danych programu o te zmiany (nie będzie alertu):

sudo rkhunter --propupd

Harmonogram

Oczywiście możecie ustawić również automatyczne uruchamianie za pomocą CRONa, wystarczy skorzystać z tych poleceń (oczywiście należy je odpowiednio na potrzeby CRONa dopasować, tzn, ustawić co i kiedy):

/usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update
/usr/local/bin/rkhunter --cronjob --report-warnings-only 2>&1 | /usr/bin/mail -s "RKhunter Raport" [email protected]

Unhide

Jeśli instalujecie programy nie tylko z repozytorium, ale również ze źródeł (jest duża szansa, że tak) to warto zainstalować również pakiet/program Unhide:

sudo apt-get install unhide
Zgłoś błąd na stronie

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które - w miarę możliwości - spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. "linki partnerskie", co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte... :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!