W świecie informatyki istnieje powszechne przekonanie, że systemy operacyjne oparte na Linuxie są odporne na wirusy i złośliwe oprogramowanie, co prowadzi do błędnego wniosku, że nie potrzebują one żadnych dodatkowych zabezpieczeń antywirusowych. Niestety, jest to mit, który może mieć poważne konsekwencje dla bezpieczeństwa danych i integralności systemów. Linux, mimo swojej reputacji jako systemu bardziej bezpiecznego niż Windows, nie jest całkowicie odporny na zagrożenia. Chociaż architektura Linuxa, z jego wielopoziomowym systemem uprawnień i otwartością kodu źródłowego, rzeczywiście może utrudniać życie twórcom złośliwego oprogramowania, nie oznacza to, że takie zagrożenia nie istnieją. Wręcz przeciwnie, w miarę jak popularność Linuxa rośnie, rośnie też zainteresowanie cyberprzestępców atakowaniem tego systemu.
Serwery, urządzenia IoT, a nawet komputery osobiste działające na Linuxie stają się celem zaawansowanych ataków, które mogą obejmować wirusy, ransomware, rootkity, trojany i inne formy złośliwego oprogramowania. Co więcej, wiele instytucji używa systemów Linux do hostowania krytycznych aplikacji i przechowywania wrażliwych danych, co czyni je atrakcyjnym celem.
Nawet jeśli użytkownik domowy może czuć się bezpieczny, to w kontekście korporacyjnym i serwerowym, gdzie konsekwencje udanego ataku mogą być katastrofalne, posiadanie skanera antywirusowego staje się koniecznością. Skanery antywirusowe dla Linuxa oferują nie tylko ochronę przed znanym złośliwym oprogramowaniem, ale również narzędzia do monitorowania systemu, wykrywania anomalii i przeprowadzania regularnych audytów bezpieczeństwa, co znacząco podnosi poziom ochrony. Ignorowanie potrzeby posiadania oprogramowania antywirusowego w systemach Linux to ryzyko, którego żadna odpowiedzialna osoba ani firma nie powinna podejmować.
W tym artykule przedstawimy możliwości co do darmowego i skutecznego antywirusa na system Linux. Niestety w świecie oprogramowania antywirusowego dla systemów Linux, dostępność darmowych i skutecznych rozwiązań znacznie się zmniejszyła. Wiele znanych projektów, takich jak Sophos, F-Secure czy ESET, są obecnie dostępne tylko jako płatne wersje lub całkowicie zakończyły swoją działalność na platformie Linux. W obliczu tego zmieniającego się krajobrazu, ClamAV pozostaje jedyną niezawodną i darmową opcją ochrony antywirusowej dla użytkowników Linuxa.
Clamav wciąż jest jedyny
ClamAV (Clam AntiVirus) to darmowy i najbardziej znany, otwartoźródłowy skaner antywirusowy dla systemów Unix/Linux, znany ze swojej skuteczności i elastyczności. ClamAV oferuje wiele funkcji, w tym skanowanie w czasie rzeczywistym, skanowanie na żądanie oraz wykrywanie wirusów, trojanów, malware i innych zagrożeń. Posiada także mechanizm automatycznych aktualizacji definicji wirusów, co zapewnia ochronę przed najnowszymi zagrożeniami.
Instalacja:
apt-get update
apt-get install clamav clamav-daemon
Skanowanie na żądanie (np. katalogu domowego użytkowników):
clamscan -r /home
Aktualizacja definicji wirusów:
freshclam
Skanowanie „OnAccess” czyli skanujemy każdy wrzucany, zapisywany czy używany plik.
Od jakiegoś czasu funkcjonuje już pełna funkcjonalność skanowania w trakcie dostępu do pliku tzn., że wtedy, kiedy wrzucamy plik, otwieramy czy zapisujemy Clamav może je skanować tak jak to robią antywirusy w systemach Windows. Dlatego właśnie na tym się nieco mocniej skupimy, dlatego, że pozostałe funkcje niewiele się zmieniły na przestrzeni lat.
Konfiguracja On Access
OnAccessMaxFileSize 10M
Nie skanuj plików większych niż zdefiniowany rozmiar.
OnAccessMaxThreads 10
Maksymalna liczba wątków skanowania do przydzielenia na potrzeby puli wątków OnAccess podczas uruchamiania. Te wątki są odpowiedzialne za tworzenie połączenia z demonem i inicjowanie skanowania po przetworzeniu zdarzenia. Aby zapobiec zużyciu wszystkich zasobów clamd przez clamonacc, utrzymuj to poniżej maksymalnej liczby wątków clamd.
OnAccessCurlTimeout 10000
Maksymalny czas (w milisekundach), jaki klient OnAccess powinien spędzić na każdym połączeniu, wysyłaniu i odbieraniu próby podczas komunikacji z clamd za pomocą curl.
OnAccessDisableDDD yes
Przełącza dynamiczne określanie katalogu. Pozwala na rekursywne monitorowanie ścieżek dołączonych.
OnAccessIncludePath /home
OnAccessIncludePath /arek
Ustaw ścieżki gdzie wszystkie pliki wewnątrz będą skanowane. Możesz mieć wiele dyrektyw OnAccessIncludePath, ale każdy katalog musi być dodany w oddzielnej linii.
OnAccessExcludePath /home/ktoś
Ustaw ścieżki wykluczane. Wszystkie podkatalogi również są wykluczane.
OnAccessPrevention yes
Modyfikuje zachowanie blokowania fanotify podczas obsługi zdarzeń uprawnień. Jeśli wyłączone, fanotify będzie powiadamiać tylko wtedy, gdy skanowany plik jest wirusem, i nie wykonywać żadnego blokowania.
OnAccessMountPath /
OnAccessMountPath /home/ktoś
Ustawia punkt montowania do skanowania. Określony punkt montowania lub punkt montowania zawierający określony katalog będą monitorowane. Jeśli określone są jakiekolwiek katalogi, ta opcja wyprze (wyłączy i zignoruje wszystkie opcje związane z) system DDD.
OnAccessExcludeRootUID no
Dzięki tej opcji możesz wykluczyć root UID (0). Procesy uruchomione pod root będą mogły uzyskać dostęp do wszystkich plików bez wywoływania skanów lub zdarzeń odmowy uprawnień.
OnAccessExcludeUID -1
Dzięki tej opcji możemy wykluczyć określone UIDs. Procesy z tymi UIDs będą mogły uzyskać dostęp do wszystkich plików bez wywoływania skanów lub zdarzeń odmowy uprawnień.
OnAccessExcludeUname clamav
Ta opcja pozwala na wykluczenia według nazw użytkowników podczas korzystania z klienta skanowania na żądanie.
Po wszystkim restartujemy demona dla aplikacji clamav:
systemctl start clamav-daemon
oraz uruchomienie on access scan:
clamonacc
I sprawdzenie czy działają:

Jak widać w tym przypadku wszystkie aplikacje są uruchomione i działają prawidłowo.
Tak samo poprzez analogię możemy wywoływać Clamav’a poprzez zadania cron wraz z poleceniami. Dla przykładu przeskanujmy w nocy zawsze katalog /home
Wpis do crontaba:
0 2 * * * /usr/bin/freshclam && /usr/bin/clamscan -r /home
Przykładowy plik konfiguracyjny:
User clamav
ScanMail true
ScanArchive true
ArchiveBlockEncrypted false
MaxDirectoryRecursion 15
FollowDirectorySymlinks false
FollowFileSymlinks false
ReadTimeout 180
MaxThreads 12
MaxConnectionQueueLength 15
LogSyslog false
LogRotate true
LogFacility LOG_LOCAL6
LogClean false
LogVerbose false
PreludeEnable no
PreludeAnalyzerName ClamAV
DatabaseDirectory /var/lib/clamav
OfficialDatabaseOnly false
SelfCheck 3600
Foreground false
Debug false
ScanPE true
MaxEmbeddedPE 10M
ScanOLE2 true
ScanPDF true
ScanHTML true
ScanImage yes
MaxHTMLNormalize 10M
MaxHTMLNoTags 2M
MaxScriptNormalize 5M
MaxZipTypeRcg 1M
ScanSWF true
ExitOnOOM false
LeaveTemporaryFiles false
AlgorithmicDetection true
ScanELF true
IdleTimeout 30
CrossFilesystems true
PhishingSignatures true
PhishingScanURLs true
PhishingAlwaysBlockSSLMismatch false
PhishingAlwaysBlockCloak false
PartitionIntersection false
DetectPUA false
ScanPartialMessages false
HeuristicScanPrecedence false
StructuredDataDetection false
CommandReadTimeout 30
SendBufTimeout 200
MaxQueue 100
ExtendedDetectionInfo true
OLE2BlockMacros false
AllowAllMatchScan true
ForceToDisk false
DisableCertCheck false
DisableCache false
MaxScanTime 120000
MaxScanSize 100M
MaxFileSize 25M
MaxRecursion 16
MaxFiles 10000
MaxPartitions 50
MaxIconsPE 100
PCREMatchLimit 10000
PCRERecMatchLimit 5000
PCREMaxFileSize 25M
ScanXMLDOCS true
ScanHWP3 true
MaxRecHWP3 16
StreamMaxLength 25M
LogFile /var/log/clamav/clamav.log
LogTime true
LogFileUnlock false
LogFileMaxSize 0
Bytecode true
BytecodeSecurity TrustSigned
BytecodeTimeout 60000
OnAccessMaxFileSize 5M
OnAccessIncludePath /home
OnAccessExcludePath /home/user1
OnAccessExcludePath /home/user2
OnAccessExcludeUname clamav
Zostaw komentarz
Musisz się zalogować lub zarejestrować aby dodać nowy komentarz.