Linux servera pārbaude uz vīrusiem: ClamAV un rkhunter
Linux serveri var pārbaudīt ar diviem rīkiem: ClamAV meklē ļaunatūras failus pēc parakstiem, bet rkhunter — rutkitus, apmainītus sistēmas binārfailus un aizdomīgus iestatījumus. Zemāk — abu instalēšana, skenēšanas palaišana un rezultātu analīze.
Kad veikt pārbaudi
Skenējiet serveri, ja pamanāt neparastu slodzi, izejošu surogātpastu, nezināmus procesus vai pēc uzlaušanas. Regulāra pārbaude pēc grafika ir laba profilakse publiski pieejamiem VPS.
1. daļa. ClamAV — antivīruss
Instalēšana
apt update
apt install -y clamav clamav-daemon
Datubāzu atjaunināšana
Apturiet atjaunināšanas dēmonu, atjauniniet manuāli, pēc tam palaidiet to atpakaļ:
systemctl stop clamav-freshclam
freshclam
systemctl start clamav-freshclam
Skenēšana
Pārbaudīt mājas mapes un tīmekļa sakni rekursīvi, rādot tikai inficētos failus:
clamscan -r -i /home /var/www
Noderīgi karogi:
-r— rekursīvi;-i— tikai inficētie;--remove— dzēst atrasto (uzmanīgi!);--move=/root/quarantine— pārvietot karantīnā.
Drošāk ir pārvietot karantīnā, nevis dzēst:
mkdir -p /root/quarantine
clamscan -r -i --move=/root/quarantine /var/www
Ātra visas sistēmas skenēšana
clamscan -r -i --exclude-dir="^/sys" --exclude-dir="^/proc" /
Mapes /proc un /sys ir virtuālas — tās izslēdzam.
2. daļa. rkhunter — rutkitu meklēšana
Instalēšana
apt install -y rkhunter
Atjaunināšana un bāzes momentuzņēmums
rkhunter --update
rkhunter --propupd
--propupd saglabā sistēmas failu etalona kontrolsummas. Izpildiet to tikai uz garantēti tīras sistēmas.
Pārbaudes palaišana
rkhunter --check --skip-keypress
Rkhunter pārbaudīs sistēmas binārfailus, zināmos rutkitus, failu tiesības, slēptos procesus un portus. Rezultāts — failā /var/log/rkhunter.log.
Apskatīt tikai brīdinājumus:
grep -i warning /var/log/rkhunter.log
Brīdinājumu analīze
Ne katrs brīdinājums nozīmē inficēšanos. Biežas kļūdainas atbildes: atjauninātas pakotnes (mainījušās kontrolsummas), slēpti faili kā /dev/.udev. Pēc likumīgas sistēmas atjaunināšanas vēlreiz izpildiet rkhunter --propupd, lai atjaunotu etalonu.
Papildus: chkrootkit
Otrs rutkitu skeneris savstarpējai pārbaudei:
apt install -y chkrootkit
chkrootkit
Automatizācija ar cron
Iknedēļas pārbaude ar atskaites nosūtīšanu uz e-pastu. Izveidojiet /etc/cron.weekly/security-scan:
#!/bin/bash
freshclam
clamscan -r -i /var/www /home >> /var/log/clamscan.log
rkhunter --update
rkhunter --check --skip-keypress --report-warnings-only
Padariet to izpildāmu:
chmod +x /etc/cron.weekly/security-scan
Ko darīt, ja kaut kas atrasts
- Izolējiet serveri — ierobežojiet izejošo trafiku ar ugunsmūri.
- Nedzēsiet pierādījumus uzreiz, izveidojiet momentuzņēmumu vai dublējumu.
- Pārbaudiet aktīvos procesus (
ps aux), savienojumus (ss -tulpn) un cron uzdevumus. - Nopietnas inficēšanās gadījumā drošāk ir pārinstalēt sistēmu no tīra attēla un atjaunot datus no pārbaudītas rezerves kopijas.
Pakotņu integritātes pārbaude
Inficēšanās bieži apmaina sistēmas binārfailus. Debian/Ubuntu sistēmā pārbaudiet uzinstalēto pakotņu kontrolsummas:
apt install -y debsums
debsums -s
Izvade parādīs failus, kuru summas nesakrīt ar pakotnes etalonu. RPM sistēmās analogs ir rpm -Va.
Atvērto portu un procesu audits
Ļaunatūra parasti atstāj klausošos portus vai slēptus procesus. Pārbaudiet manuāli:
ss -tulpn
ps auxf
Aizdomīgi izejošie savienojumi:
ss -tp state established
Pārbaudiet plānotāja uzdevumus, kur bieži slēpjas autopalaišana:
crontab -l
ls -la /etc/cron.* /etc/cron.d
cat /etc/crontab
Autopalaišanas un lietotāju pārbaude
Jauni vai nezināmi lietotāji ar UID 0 ir trauksmes signāls:
awk -F: '($3 == 0) {print}' /etc/passwd
Ieslēgto systemd servisu saraksts:
systemctl list-unit-files --state=enabled
Meklējiet vienības ar dīvainiem nosaukumiem un palaišanas ceļiem mapēs /tmp vai /dev/shm.
Regularitāte ir svarīgāka par vienreizēju pārbaudi
Viena pārbaude noķer tikai to, kas jau ir iekļuvis. Īsta aizsardzība ir regularitāte: iknedēļas skenēšana ar cron (piemērs augstāk), aktuāli sistēmas atjauninājumi (apt update && apt upgrade), ugunsmūris, izslēgta pieteikšanās ar paroli SSH un svaigas rezerves kopijas atsevišķā krātuvē.
Biežāk uzdotie jautājumi
ClamAV vai rkhunter — ko izvēlēties? Abus: ClamAV meklē ļaunatūras failus, rkhunter — rutkitus un apmaiņas. Tie viens otru papildina.
Rkhunter rāda daudz kļūdainu brīdinājumu — vai tas ir normāli?
Jā, pēc pakotņu atjaunināšanas. Atjauniniet etalonu ar komandu rkhunter --propupd uz tīras sistēmas.
Vai skenēšana noslogo serveri? Pilna diska skenēšana noslogo CPU un I/O. Palaidiet to pēc grafika ne pīķa stundās.
Vai var uzticēties ClamAV karogam --remove?
Uzmanīgi: iespējamas kļūdainas atbildes. Labāk --move uz karantīnu un manuāla pārbaude.
Vai tas garantē, ka serveris ir tīrs? Neviens rīks nedod 100% garantiju. Turiet rezerves kopijas un atjauniniet sistēmu — tas ir drošības pamats.
Drošība sākas ar pareizu infrastruktūru. Paņemiet VPS drošībai un VPN vai VPS nomu. Regulāru auditu un aizsardzību uzstādīs Serveru administrēšana.