Do tej pory mogliście przeczytać w moich wpisach m.in. o automatyzacji nieautoryzowanej instalacji Debiana. Dzisiaj zajmiemy się tak zwanym Obowiązkowym Hattrickiem Admina czyli 3xA. W dzisiejszym artykule zabezpieczymy serwer pod kątem wirusów, malware i rootkitów.
Dawniej panowało przekonanie, że na Linuxa nie ma wirusów. Rzeczywiście kiedyś ciężko było spotkać typowego wirusa pod system linux, ale wraz ze wzrostem jego popularności pojawiły się złośliwe aplikacje, które mają za zadanie nie tylko wykraść nasze dane, ale także mogą zamienić nasz serwer w potencjalne narzędzie do ataku, np DDOS na inny serwer lub infrastrukturę. Właśnie dlatego dziś zabezpieczymy się przed tym na 3 sposoby.
Clamav
Najpopularniejszym i darmowym narzędziem w walce przeciwko wirusom na Linuxa jest popularny Clamav. Jest to najczęściej używane narzędzie do ochrony przeciwko wirusom, najbardziej rozwijane i skuteczne. Clamav w systemie Linux może działać jako demon, albo jako narzędzie adhoc wtedy kiedy go potrzebujemy.
Jaka jest różnica? W trybie demona Clamav wczytuje do pamięci sygnatury milionów wirusów i złośliwych aplikacji, tak aby skanowanie plików mogło odbyć się bardzo szybko, niemal w czasie rzeczywistym. Clamav wyłączony z demona, każdorazowo musi załadować wszystkie sygnatury do pamięci co zabiera sporo czasu zwłaszcza na wolniejszych serwerach, co wpływa na szybkość skanowania poszczególnych plików i nie jest tak wydajne.
Aktualizujemy na początek listę pakietów:
apt update
Instalacja Antywirusa Clamav w systemie Debian:
apt install clamdscan clamav
Instalacja Demona Clamav w systemie Debian:
apt install clamav-daemon
Skanowanie pojedynczego pliku w trybie usługi:
clamscan plik
Skanowanie pojedynczego pliku w trybie Demona:
clamdscan –fdpass plik
Porada: Możemy skorzystać z dodatkowych poleceń Clamava – np automatycznego przenoszenia zainfekowanych plików do Kwarantanny.
Utwórzmy na początek katalog kwarantanny:
mkdir -p /tmp/quarantaine
Skanowanie:&
clamscan –move=/tmp/quarantaine plik
clamdscan –fdpass –move=/tmp/quarantaine plik
Wiemy już jak skanować pliki, jak zatem przeskanować cały katalog? np. /var/www
clamscan –move=/tmp/quarantaine -ri /var/www
Jaka jest zatem różnica między skanowaniem Clamava w trybie demona, a w trybie wywołania?
W trybie demona (z wczytaną bazą wirusów od pamięci):
sudo clamdscan –fdpass –move=/tmp/quarantaine plik
plik: OK
———– SCAN SUMMARY ———–
Infected files: 0
Time: 0.570 sec (0 m 0 s)
W trybie adhoc (bez wczytanej bazy wirusów do pamięci)
clamscan –move=/tmp/quarantaine plik
plik: OK
———– SCAN SUMMARY ———–
Known viruses: 7016614
Engine version: 0.102.2
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 5.80 MB
Data read: 2.88 MB (ratio 2.01:1)
Time: 28.580 sec (0 m 28 s)
Widać więc, że na samym załadowaniu bazy wirusów do pamięci zyskujemy w przypadku pojedynczego pliku wiele czasu. W przypadku katalogów z wieloma plikami różnica będzie jeszcze większa.
Jak zaktualizować Clamava? Poza standardową aktualizacją pakietów w systemie poprzez apt, Clamav dodatkowo sam uruchamia co godzinę (w systemie Debian) aktualizowanie bazy sygnatur z wirusami.
Sun May 17 04:00:03 2020 -> Received signal:
wake up
Sun May 17 04:00:03 2020 -> ClamAV update process started at Sun May 17 04:00:03 2020
Sun May 17 04:00:03 2020 -> daily.cld database is up to date (version: 25814, sigs: 2415321, f-level: 63, builder: raynman)
Sun May 17 04:00:03 2020 -> main.cvd database is up to date (version: 59, sigs: 4564902, f-level: 60, builder: sigmgr)
Sun May 17 04:00:03 2020 -> bytecode.cvd database is up to date (version: 331, sigs: 94, f-level: 63, builder: anvilleg)
Jeśli Clamav znajdzie zainfekowany plik – pokaże nam stosowny komunikat:
chrootkit
Niemniej groźne od wirusów są współczesne rootkity czyli aplikacje, których zadaniem jest umożliwienie atakującemu uzyskanie uprawnień administratora (root’a) systemu bez wiedzy użytkownika/administratora. Najczęściej rootkity ukrywają siebie i usuwają z listy procesów, a także mogą ukrywać inne procesy z listy, tak aby administrator lub użytkownik nie zorientował się, że pracują w systemie.
Jak przeciwdziałać, wykrywać rootkity?
Instalacja:
apt install chrootkit
Skanowanie:
chkrootkit
Rootkit Hunter
Rootkit Huner to kolejna aplikacja po chrootkicie, która skanuje system operacyjny w poszukiwaniu podmienionych plików i aplikacji, a także może sprawdzać aktualność systemu, uprawnienia. Potrafi także zakomunikować niebezpieczne konfiguracje usług jak na przykład niedostatecznie chronioną usługę SSH.
Instalacja:
apt install rkhunter
Skanowanie
rootkit hunter’em:
rkhunter -c
Performing 'strings’ command checks
Checking 'strings’ command [ OK ]
Performing 'shared libraries’ checks
Checking for preloading variables [ None found ]
Checking for preloaded libraries [ None found ]
Checking LD_LIBRARY_PATH variable [ Not found ]
Performing file properties checks
Checking for prerequisites [ OK ]
Warto w tym miejscu poświęcić nieco więcej czasu na automatyzację tych zadań. Możemy ustawić cykliczne skanowanie w cronie, możemy także skorzystać z nasłuchu na inode (inotify).
Gdzie szukać
logów z aplikacji?
Clamav: /var/log/clamav
chrootkit: /var/log/chkrootkit
rkhunter: /var/log/rkhunter.log
Co jeśli znajdziemy wirusa? co dalej?
Jeżeli podczas rutynowego, automatycznego lub zaplanowanego skanowania natrafimy na wirusa lub plik podejrzany warto posiłkować się także innymi rozwiązaniami dostępnymi bezpłatnie w sieci internet. Z pomocą przychodzi nam doskonale znane wszystkim narzędzie: https://virustotal.com.
Kiedy już skaner znajdzie plik podejrzany lub zainfekowany i przeniesie go do kwarantanny lub pokaże ostrzeżenie na ekranie, wyeksportujmy w bezpieczny sposób i załadujmy do skanera online, aby dodatkowo upewnić się, że plik jest zainfekowany.
Dostępny bezpłatnie skaner online od virustotal wykorzystuje kilkadziesiąt silników najbardziej popularnych antywirusów i antimalware dzięki czemu możemy z niemal 100% pewnością stwierdzić czy dany plik jest zainfekowany czy nie.
Strona główna virustotal.
Widok pokazujący plik, który został zainfekowany.
ClamAV niestety nie jest skutecznym programem antywirusowym. Jego największa wada jest brak skanowania przy dostępie, jedynie skan na żądanie oraz rzadkie aktualizacje definicji wirusów. Ponadto niestety nie ma wysokiej skuteczności w wykrywaniu wirusów. Jedyny plus to taki że jest darmowy i ma nakładkę graficzną jak ktoś z niego korzysta na desktopie (ClamTK)
A swoją drogą co do bezpieczeństwa serwera to bym postawił w pierwszej kolejności na Firewall (IPTABLES lub NFTABLES) oraz narzędziach do sprawdzania integralności systemu np. TRIPWIRE, do tego blokada logowania do konsoli SSH na konto root, politykę silnych haseł oraz ograniczenie nadawanych uprawnień do plików/grup dla użytkowników do niezbędnego minimum.
… [Trackback]
[…] Read More here to that Topic: wladcysieci.pl/2020/06/04/bezpieczenstwo-serwera-linux-3xa-czyli-obowiazkowy-hattrick-admina-antywirus-antimalware-antirootkit/ […]