ΠΠ°ΠΊ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ClamAV Π½Π° Linux: ΠΡΠ»Π½ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
ClamAV Π΅ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ΅Π½ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ ΠΎΡ Cisco Talos, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΊΡΠΈΠ²Π° Π²ΠΈΡΡΡΠΈ, ΡΡΠΎΡΠ½ΡΠΊΠΈ ΠΊΠΎΠ½Π΅, ΡΡΡΠΊΠΈΡΠΎΠ²Π΅, Π·Π»ΠΎΠ²ΡΠ΅Π΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ ΠΈ Π΄ΡΡΠ³ΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π·Π°ΠΏΠ»Π°Ρ
ΠΈ. Π’ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΌΠΎΠ΄Π΅Π» Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠΈΠ³Π½Π°ΡΡΡΠΈ, ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ΅Π½ ΠΎΡ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ (/var/lib/clamav/), ΠΈ Π΅ Π΄Π΅ ΡΠ°ΠΊΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΡΠΎ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Linux ΡΡΡΠ²ΡΡΠΈ, ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΠ»ΡΠ·ΠΎΠ²Π΅ ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠ΅Π± Ρ
ΠΎΡΡΠΈΠ½Π³.
Π’ΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΠ±Ρ
Π²Π°ΡΠ° ΠΏΡΠ»Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½ ΡΠΈΠΊΡΠ» Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ°: ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Ρ Π²ΠΈΡΡΡΠΈ Ρ freshclam, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Π΄Π΅ΠΌΠΎΠ½Π°, ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Ρ cron ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΡΠ΅Π· clamonacc β Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΡΠΎΡΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ.
ΠΠ°ΡΠΎ ClamAV Π΅ Π²Π°ΠΆΠ΅Π½ Π½Π° Linux ΡΡΡΠ²ΡΡΠΈ
Linux ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π΅ ΡΠ° ΠΈΠΌΡΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅ΡΡ Π·Π»ΠΎΠ²ΡΠ΅Π΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠΈΡΠ΅, Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ Linux, ΡΠ° ΠΏΠΎ-ΡΡΠ΄ΠΊΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈ ΠΎΡ Π·Π°ΠΏΠ»Π°Ρ ΠΈΡΠ΅ Π·Π° Windows, ΡΡΡΠ²ΡΡΠΈΡΠ΅, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΠ΅Π»Π΅ΡΠ° ΠΈΠ»ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π»ΠΎΠ²ΡΠ΅Π΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ β Π΄ΠΎΡΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°ΠΌΠΈΡΡ Linux Ρ ΠΎΡΡ Π½Π΅ Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π». ΠΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π° ΡΡΠ΅Π΄Π° Π·Π° VPS Π₯ΠΎΡΡΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅ Π±Π΅Π·ΡΡΠΌΠ½ΠΎ Π΄Π° ΠΏΡΠ΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ Π·Π°ΡΠ°Π·Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΊΡΠΌ ΠΊΡΠ°ΠΉΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, Π΄Π° ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π² ΡΠ΅ΡΠ½ΠΈ ΡΠΏΠΈΡΡΡΠΈ ΠΎΡ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠΏΠ°ΠΌ ΠΈΠ»ΠΈ Π΄Π° ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠΏΡΠ°Π²Π½Π° ΡΠΎΡΠΊΠ° Π² ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° Π²Π΅ΡΠΈΠ³Π° ΠΎΡ Π°ΡΠ°ΠΊΠΈ.
ClamAV Π°Π΄ΡΠ΅ΡΠΈΡΠ° ΡΠΎΠ²Π°, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ:
- Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅ Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ ΠΈΠ»ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ Π°Π½Π°Π»ΠΈΠ·
- Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π΄Π΅ΠΌΠΎΠ½ (
clamd) Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ ΠΈ Π½ΠΈΡΠΊΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ - ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΠ»ΡΠ· ΡΡΠ΅Π·
clamsmtp,amavisd-newΠΈΠ»ΠΈMilter - ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΡΠ΅Π·
clamonacc(Linux ΡΠ΄ΡΠΎfanotify) - ΠΠ°ΠΉΡΠΊΠΎΠ΄ ΡΠΈΠ³Π½Π°ΡΡΡΠΈ Π·Π° Π΅Π²ΡΠΈΡΡΠΈΡΠ½ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ ΡΡΠ°ΡΠΈΡΠ½ΠΎΡΠΎ ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΠΊΡΠ²ΡΠΎ ΠΈ Π΄Π° Π΅ ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΊΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. Π Π°Π±ΠΎΡΠ°ΡΠ° Ρ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΡΠ·Π΄Π°Π²Π° ΡΠ°Π»ΡΠΈΠ²ΠΎ ΡΡΠ΅ΡΠ°Π½Π΅ Π·Π° Π·Π°ΡΠΈΡΠ°.
ΠΠ° Debian/Ubuntu:
sudo apt update && sudo apt upgrade -yΠΠ° CentOS/RHEL 7:
sudo yum update -yΠΠ° Rocky Linux / AlmaLinux / RHEL 8+:
sudo dnf update -yΠΠ° Fedora:
sudo dnf update -yΠΠΎΡΠ²ΡΡΠ΄Π΅ΡΠ΅, ΡΠ΅ Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΡΠ΄ΡΠΎ ΠΈ glibc ΡΠ° Π°ΠΊΡΡΠ°Π»Π½ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ clamonacc (ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅) ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ΄ΡΠΎ 5.1+ Π·Π° ΡΡΠ°Π±ΠΈΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° fanotify.
Π‘ΡΡΠΏΠΊΠ° 2: ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ClamAV
ClamAV Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ. ΠΠ»ΡΡΠΎΠ²ΠΎΡΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΅ Π΄Π°Π»ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ ΡΠΊΠ΅Π½Π΅ΡΠ° (clamav) ΠΈΠ»ΠΈ ΡΡΡΠΎ ΠΈ ΡΠΎΠ½ΠΎΠ²ΠΈΡ Π΄Π΅ΠΌΠΎΠ½ (clamav-daemon / clamd), ΠΊΠΎΠ΅ΡΠΎ Π΅ ΡΠΈΠ»Π½ΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ ΡΡΡΠ²ΡΡ.
ΠΠ° Debian/Ubuntu:
sudo apt install clamav clamav-daemon -yclamavβ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°clamscanΠΈfreshclam
clamav-daemon β ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° clamd, ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈΡ Π΄Π΅ΠΌΠΎΠ½ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Ρ Π²ΠΈΡΡΡΠΈ Π·Π°ΡΠ΅Π΄Π΅Π½Π° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ Π΄ΡΠ°ΡΡΠΈΡΠ½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π·Π° Π²ΡΡΠΊΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅
ΠΠ° CentOS/RHEL 7 (ΠΈΠ·ΠΈΡΠΊΠ²Π° EPEL):
sudo yum install epel-release -y
sudo yum install clamav clamav-update clamav-scanner-systemd clamd -y
ΠΠ° Rocky Linux / AlmaLinux / RHEL 8+ (ΠΈΠ·ΠΈΡΠΊΠ²Π° EPEL):
sudo dnf install epel-release -y
sudo dnf install clamav clamav-update clamd -y
ΠΠ° Fedora:
sudo dnf install clamav clamav-update clamd -y
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°:
ΠΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ»
ΠΡΡ
ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
clamscan
/usr/bin/clamscan
CLI ΡΠΊΠ΅Π½Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅
clamd
/usr/sbin/clamd
Π€ΠΎΠ½ΠΎΠ² Π΄Π΅ΠΌΠΎΠ½ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅
freshclam
/usr/bin/freshclam
ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Ρ Π²ΠΈΡΡΡΠΈ
clamdscan
/usr/bin/clamdscan
ΠΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π΄Π΅Π»Π΅Π³ΠΈΡΠ° ΠΊΡΠΌ clamd
clamonacc
/usr/sbin/clamonacc
Π‘ΠΊΠ΅Π½Π΅Ρ Π·Π° Π΄ΠΎΡΡΡΠΏ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅
Π‘ΡΡΠΏΠΊΠ° 3: ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Ρ Π²ΠΈΡΡΡΠ½ΠΈ ΡΠΈΠ³Π½Π°ΡΡΡΠΈ
Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ClamAV Π΅ ΠΈΠ·ΡΡΠ»ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠ° ΠΎΡ Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΡΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΠΈ. ΠΠ°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² /var/lib/clamav/ ΠΈ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΠΉΠ»Π°: main.cvd, daily.cvd (ΠΈΠ»ΠΈ .cld) ΠΈ bytecode.cvd.
Π‘ΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΠΌΠΎΠ½Π° ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΡΠ²Π°ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (Debian/Ubuntu)
ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Debian/Ubuntu, clamav-freshclam.service ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° ΠΈ Π·Π°ΠΊΠ»ΡΡΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠΊΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ freshclam ΡΡΡΠ½ΠΎ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° Π΅ Π°ΠΊΡΠΈΠ²Π½Π°, ΡΠ΅ ΡΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅. Π‘ΠΏΡΠ΅ΡΠ΅ Ρ ΠΏΡΡΠ²ΠΎ:
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam
ΠΠ° CentOS/RHEL/Rocky/Alma:
sudo freshclam
ΠΡΠ°ΠΊΠ²Π°Π½ ΠΈΠ·Ρ
ΠΎΠ΄ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ:
ClamAV update process started at ...
daily.cvd updated (version: 27xxx, sigs: xxxxxxx, ...)
main.cvd is up to date
bytecode.cvd is up to date
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ
freshclam ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΠΎΡ /etc/clamav/freshclam.conf. ΠΠ»ΡΡΠΎΠ²ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄:
sudo nano /etc/clamav/freshclam.conf
ΠΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ:
Checks 24 β Π±ΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π΄Π΅Π½ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅: 12 ΠΏΡΠΈ Π½ΡΠΊΠΎΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ)
DatabaseMirror database.clamav.net β ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΎ ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ; Π½Π΅ Π³ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΉΡΠ΅, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°ΡΡΠ½ΠΎ ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ
NotifyClamd /etc/clamav/clamd.conf β ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ° freshclam Π΄Π° ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π½Π° clamd ΡΠ»Π΅Π΄ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡ Π΄Π° ΠΏΡΠ΅Π·Π°ΡΠ΅Π΄ΠΈ ΡΠΈΠ³Π½Π°ΡΡΡΠΈΡΠ΅ Π±Π΅Π· ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅
Π‘ΡΡΠΏΠΊΠ° 4: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΠΌΠΎΠ½Π° ClamAV
ΠΠ΅ΠΌΠΎΠ½ΡΡ clamd ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠ»Π½Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Ρ Π²ΠΈΡΡΡΠΈ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½Π° Π² RAM (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ 500 MBβ1.2 GB Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ). Π’ΠΎΠ²Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΅ΠΊΡΠ½Π΄Π½ΠΈΡ ΡΠ°Π·Ρ
ΠΎΠ΄ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° clamscan, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π²ΡΡΠΊΠ° ΡΡΠ΅Π΄Π°, ΠΊΠΎΡΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ΅ΡΡΠΈ ΠΈΠ»ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ.
Debian/Ubuntu
sudo systemctl start clamav-daemon
sudo systemctl enable clamav-daemon
sudo systemctl status clamav-daemon
CentOS/RHEL 7
ΠΠ° RHEL 7 Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠ΅ ΠΊΠ°Π·Π²Π° clamd@scan, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ° ΠΊΡΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» /etc/clamd.d/scan.conf:
sudo systemctl start clamd@scan
sudo systemctl enable clamd@scan
Rocky Linux / AlmaLinux / RHEL 8+
sudo systemctl start clamd@scan
sudo systemctl enable clamd@scan
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° clamd.conf
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π΄Π΅ΠΌΠΎΠ½Π° ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² /etc/clamav/clamd.conf (Debian/Ubuntu) ΠΈΠ»ΠΈ /etc/clamd.d/scan.conf (ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ RHEL). ΠΡΠ΅Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π·ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ:
sudo nano /etc/clamav/clamd.conf
ΠΠ°ΠΆΠ½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
LocalSocket /run/clamav/clamd.ctl β ΠΏΡΡ Π΄ΠΎ Unix ΡΠΎΠΊΠ΅ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΎΡ clamdscan; ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ
MaxFileSize 100M β ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ°ΠΉΠ»Π° Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅; ΡΠ²Π΅Π»ΠΈΡΠ΅ΡΠ΅ Π·Π° ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
MaxScanSize 400M β ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π΄Π°Π½Π½ΠΈ, ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ°ΠΉΠ» ΡΠ»Π΅Π΄ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ
StreamMaxLength 100M β ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° milter/ΠΏΠΎΡΠΎΠΊ
User clamav β Π΄Π΅ΠΌΠΎΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» clamav; ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π΄ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π²ΡΠ·Π½Π°ΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π΄Π° ΡΠΊΠ°Π½ΠΈΡΠ°ΡΠ΅
LogFile /var/log/clamav/clamd.log β Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π·Π° ΠΎΠ΄ΠΈΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠΈ
ΠΡΠΈΡΠΈΡΠ΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ: ΠΠΊΠΎ clamd ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» clamav ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°ΡΠ΅ /home/user/uploads/, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ clamav ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΠΏΡΠ°Π²Π° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΡ. ΠΡΠΎΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π±Π΅Π·ΡΡΠΌΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ β clamd ΡΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄Π²Π° Π³ΡΠ΅ΡΠΊΠΈ βΠΠΎΡΡΡΠΏΡΡ Π΅ ΠΎΡΠΊΠ°Π·Π°Π½” Π² ΡΠ²ΠΎΡ ΠΆΡΡΠ½Π°Π», Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° Π²ΡΡΠ½Π΅ Π²Π΅ΡΠ΄ΠΈΠΊΡ ΡΠΈΡΡ/Π·Π°ΡΠ°Π·Π΅Π½.
Π‘ΡΡΠΏΠΊΠ° 5: ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ Ρ clamscan ΠΈ clamdscan
Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅ Ρ clamscan
clamscan Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΈΡΡ ΡΠΊΠ΅Π½Π΅Ρ. Π’ΠΎΠΉ Π·Π°ΡΠ΅ΠΆΠ΄Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΄ΠΈΡΠΊΠ° ΠΏΡΠΈ Π²ΡΡΠΊΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΏΠΎ-Π±Π°Π²Π΅Π½, Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ Π΄Π΅ΠΌΠΎΠ½Π°.
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ:
clamscan -r /path/to/directory
Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° Π·Π°ΡΠ°Π·Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅:
clamscan -r --infected /path/to/directory
Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π΅Π½ ΠΈΠ·Ρ
ΠΎΠ΄ ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅:
sudo clamscan -r --infected --log=/var/log/clamav/manual_scan.log /var/www/html
ΠΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ°Π·Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π·Π° ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°:
sudo clamscan -r --move=/var/quarantine /path/to/directory
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ°Π·Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π°):
sudo clamscan -r --remove /path/to/directory
Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° (ΠΎΡΠ°ΠΊΠ²Π°ΠΉΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π΅):
sudo clamscan -r --infected --exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev" /
ΠΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° /sys, /proc ΠΈ /dev Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ β ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎ-ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΡΠ°Π»ΡΠΈΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅.
Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Ρ clamdscan
ΠΠΎΠ³Π°ΡΠΎ clamd ΡΠ°Π±ΠΎΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ clamdscan Π²ΠΌΠ΅ΡΡΠΎ clamscan. Π’ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Π²Π΅ΡΠ΅ Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈΡ Π΄Π΅ΠΌΠΎΠ½ ΡΡΠ΅Π· Unix ΡΠΎΠΊΠ΅ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Ρ ΠΏΠΎΡΡΠ΄ΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π·Π° ΠΏΠΎΠ²ΡΠ°ΡΡΡΠΈ ΡΠ΅ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΎΠ²ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ.
clamdscan --fdpass /path/to/directory
Π€Π»Π°Π³ΡΡ --fdpass ΠΏΡΠ΅Π΄Π°Π²Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° clamd, Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΉΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π½Π° Π΄Π΅ΠΌΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΏΡΡ.
ΠΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Ρ clamdscan:
clamdscan --multiscan --fdpass /var/www/html
--multiscan ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ° clamd Π΄Π° ΡΠΊΠ°Π½ΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ²ΠΎΡ ΠΏΡΠ» ΠΎΡ Π½ΠΈΡΠΊΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠ΅Π°Π»Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
clamscan ΡΡΠ΅ΡΡ clamdscan: Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
ΠΡΡΠΈΠ±ΡΡ
`clamscan`
`clamdscan`
ΠΠ°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΏΡΠΈ Π²ΡΡΠΊΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅
ΠΠ° (Π±Π°Π²Π½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅)
ΠΠ΅ (Π΄Π΅ΠΌΠΎΠ½ΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΠ Π² RAM)
Π’ΠΈΠΏΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅
5β30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ
ΠΠΎΠ΄ 1 ΡΠ΅ΠΊΡΠ½Π΄Π°
ΠΠ·ΠΈΡΠΊΠ²Π° ΡΠ°Π±ΠΎΡΠ΅Ρ clamd
ΠΠ΅
ΠΠ°
ΠΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅
ΠΠ΅
ΠΠ° (--multiscan)
ΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΡ ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°
ΠΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΈ ΡΡΡΠ½ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ, ΡΠ΅ΡΡΠΈ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΎΠ²ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ
ΠΠΎΠ΄Π΅Π» Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π Π°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»
Π Π°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» clamav (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ --fdpass)
Π‘ΡΡΠΏΠΊΠ° 6: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Ρ Cron
ΠΠ° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° Π·Π°ΡΠΈΡΠ°, ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π½ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ Ρ cron. Π‘Π»Π΅Π΄Π²Π°ΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΠ°Π½ΠΈΡΠ° ΡΠ΅Π± ΠΊΠΎΡΠ΅Π½Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² 02:00 ΡΠ°ΡΠ° ΠΈ Π·Π°ΠΏΠΈΡΠ²Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ Ρ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΏΠ΅ΡΠ°Ρ.
sudo crontab -e
ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡ Π·Π°ΠΏΠΈΡ:
0 2 * * * /usr/bin/clamdscan --multiscan --fdpass --log=/var/log/clamav/daily_scan_$(date +%Y%m%d).log /var/www/html
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ cron Ρ ΠΈΠΌΠ΅ΠΉΠ» ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°Π½Π΅ ΠΏΡΠΈ Π·Π°ΡΠ°Π·ΡΠ²Π°Π½Π΅:
0 2 * * * /usr/bin/clamscan -r --infected /var/www/html 2>&1 | grep -v "^$" | mail -s "ClamAV Daily Scan Report - $(hostname)" admin@yourdomain.com
Π’ΠΎΠ²Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠ° Π½Π΅ΠΏΡΠ°Π·Π½ΠΈΡ ΠΈΠ·Ρ
ΠΎΠ΄ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π» Π½Π° ΠΏΠΎΡΠ°, ΠΊΠ°ΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π΅ ΠΎΡΠΊΡΠΈΡΠΎ Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π»Π° Π³ΡΠ΅ΡΠΊΠ°. Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ mailutils ΠΈΠ»ΠΈ postfix Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ Π½Π° ΡΡΡΠ²ΡΡΠ°.
Π ΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΆΡΡΠ½Π°Π»ΠΈΡΠ΅ ΠΎΡ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΠ΅ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠ°ΡΡΠ΅ΠΆ Π½Π° Π΄ΠΈΡΠΊΠ°:
sudo nano /etc/logrotate.d/clamav-scan
/var/log/clamav/daily_scan_*.log {
weekly
rotate 4
compress
missingok
notifempty
}
Π‘ΡΡΠΏΠΊΠ° 7: Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Ρ clamonacc
clamonacc Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡΡ Π½Π° ClamAV Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ, Π²ΡΠ²Π΅Π΄Π΅Π½ ΠΊΠ°ΡΠΎ ΡΡΠ°Π±ΠΈΠ»Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π² ClamAV 0.102. Π’ΠΎΠΉ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° fanotify Π½Π° Linux ΡΠ΄ΡΠΎΡΠΎ, Π·Π° Π΄Π° ΠΏΡΠΈΡ
Π²Π°ΡΠ° ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ ΠΈ Π·Π°ΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠΊΠ°Π½ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡ
.
ΠΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ:
Linux ΡΠ΄ΡΠΎ 5.1 ΠΈΠ»ΠΈ ΠΏΠΎ-Π½ΠΎΠ²ΠΎ (Π·Π° fanotify Ρ FAN_OPEN_EXEC_PERM)
ClamAV 0.102+
clamd ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ
Root ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ
ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ Π² clamd.conf
sudo nano /etc/clamav/clamd.conf
ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°ΠΉΡΠ΅:
OnAccessIncludePath /home
OnAccessIncludePath /var/www/html
OnAccessPrevention yes
OnAccessExcludeUname clamav
OnAccessPrevention yes β Π±Π»ΠΎΠΊΠΈΡΠ° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π·Π°ΡΠ°Π·Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ (ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΡΠΊΠ°Π·); Π·Π°Π΄Π°ΠΉΡΠ΅ Π½Π° no Π·Π° ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π½Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅
OnAccessExcludeUname clamav β ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° clamd Π΄Π° Π·Π°Π΄Π΅ΠΉΡΡΠ²Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΈ ΡΠΈΠΊΠ»ΠΈ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅
Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° clamonacc
sudo clamonacc --log=/var/log/clamav/clamonacc.log --daemonize
ΠΠ° Π΄Π° Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΡΠΎ systemd ΡΡΠ»ΡΠ³Π°, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°:
sudo nano /etc/systemd/system/clamonacc.service
[Unit]
Description=ClamAV On-Access Scanner
Requires=clamav-daemon.service
After=clamav-daemon.service
[Service]
Type=simple
ExecStart=/usr/sbin/clamonacc --log=/var/log/clamav/clamonacc.log --foreground
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now clamonacc
ΠΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ: ΠΠ° ΡΡΡΠ²ΡΡΠΈ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ (Π½Π°ΠΏΡ. Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΈ ΠΊΡΠ°ΠΉΠ½ΠΈ ΡΠΎΡΠΊΠΈ Π·Π° ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅), OnAccessPrevention yes ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ²Π΅Π΄Π΅ ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌΠ° I/O Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ. Π’Π΅ΡΡΠ²Π°ΠΉΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΡΠΈ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΡΠ΅Π²Π΅Π½ΡΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π°. ΠΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° OnAccessIncludePath Π΄ΠΎ Π½Π°ΠΉ-ΡΠ΅ΡΠ½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ ΠΏΡΡ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠΎΠΊΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΊΠ°ΡΠΎ /.
Π‘ΡΡΠΏΠΊΠ° 8: ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ Π½Π° ClamAV Ρ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ
ΠΠ°ΠΉ-ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ClamAV Π΅ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΠ»ΡΠ·ΠΎΠ²Π΅. ΠΠΊΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΡΡΡΠ²ΡΡ Π½Π° Π²Π°ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° VPS Π₯ΠΎΡΡΠΈΠ½Π³ ΠΈΠ»ΠΈ Dedicated Servers, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ClamAV Ρ Π²Π°ΡΠΈΡ MTA Π΅ ΠΊΡΠΈΡΠΈΡΠ΅Π½ ΡΠ»ΠΎΠΉ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
ΠΠ±ΡΠΈ ΡΡΠ΅ΠΊΠΎΠ²Π΅ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ:
Postfix + amavisd-new + ClamAV β amavisd-new Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΡΠΈΠ»ΡΡΡ Π·Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Postfix ΠΈ ClamAV, ΠΊΠ°ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΈ SpamAssassin
Postfix + clamsmtp β Π»Π΅ΠΊ ΠΏΡΠΎΠΊΡΠΈ Π² ΡΡΠΈΠ» milter
Exim + ClamAV β Π½Π°ΡΠΈΠ²Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° av_scanner Π½Π° Exim ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° clamd Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ΅Π· ΡΠΎΠΊΠ΅Ρ
ΠΡΠΈΠΌΠ΅Ρ: ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° Exim clamd Π² /etc/exim4/exim4.conf:
av_scanner = clamd:/run/clamav/clamd.ctl
Π’Π°Π·ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π½Π°ΡΠΎΡΠ²Π° ΡΡΠ»ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΠΏΡΠ΅Π· ΡΠ°Π±ΠΎΡΠ΅ΡΠΈΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° clamd ΠΏΡΠ΅Π΄ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ°. ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΠ²Π° Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Email Π₯ΠΎΡΡΠΈΠ½Π³, Π·Π° Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΡΠ΅, ΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΠΏΠΎΡΠ΅Π½ΡΠΊΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π°.
ΠΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ClamAV
freshclam ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ Ρ βΠ·Π°ΠΊΠ»ΡΡΠ΅Π½ ΠΎΡ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ”
sudo systemctl stop clamav-freshclam
sudo rm -f /var/lock/clamav/freshclam.lock
sudo freshclam
sudo systemctl start clamav-freshclam
clamd Π½Π΅ ΡΡΠΏΡΠ²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°: βΠΠ ΠΠ¨ΠΠ: ΠΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ²ΠΎΡΠΈ/Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ»”
ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΠΏΡΡΡ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ»:
sudo clamd --config-file=/etc/clamav/clamd.conf --debug 2>&1 | head -50
ΠΠΈΡΠΎΠΊΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ
clamd ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° 500 MBβ1.2 GB RAM Ρ ΠΏΡΠ»Π½Π°ΡΠ° Π·Π°ΡΠ΅Π΄Π΅Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π°:
ΠΠ°Π΄Π°Π²Π°Π½Π΅ Π½Π° MaxThreads 2 Π² clamd.conf Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΡΡΠ°
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° clamscan Π±Π΅Π· Π΄Π΅ΠΌΠΎΠ½Π° Π·Π° Π½Π΅ΡΠ΅ΡΡΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ
ΠΠ°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π΄ΠΎ ΠΏΠ»Π°Π½ Ρ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ RAM β ΠΏΠ»Π°Π½ Π·Π° VPS Π₯ΠΎΡΡΠΈΠ½Π³ Ρ ΠΏΠΎΠ½Π΅ 2 GB RAM Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° clamd Π·Π°Π΅Π΄Π½ΠΎ Ρ ΡΠ΅Π± ΡΡΠ΅ΠΊ
Π‘ΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π²ΡΡΡΠ° βΠΠΎΡΡΡΠΏΡΡ Π΅ ΠΎΡΠΊΠ°Π·Π°Π½” Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
ΠΠ΅ΠΌΠΎΠ½ΡΡ clamd ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» clamav. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅:
sudo setfacl -R -m u:clamav:rX /path/to/scan
ΠΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ clamdscan --fdpass Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π».
Π€Π°Π»ΡΠΈΠ²ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ
ClamAV ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΌΠ°ΡΠΊΠΈΡΠ° Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π°ΡΡ
ΠΈΠ²ΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ PHP ΡΡΠ΅ΠΉΠΌΡΡΡΠΊΠΎΠ²Π΅. ΠΠ° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π² Π±Π΅Π»ΠΈΡ ΡΠΏΠΈΡΡΠΊ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΏΠΎ Ρ
Π΅Ρ:
sigtool --md5 /path/to/legitimate/file >> /var/lib/clamav/whitelist.fp
Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ clamd ΡΠ»Π΅Π΄ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ .fp.
ClamAV Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ΅ΡΡ VPS ΡΡΠ΅ΡΡ Dedicated Server
ΠΠΎΠ΄Π΅Π»ΡΡ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π»ΠΈΡΠ΅ Π²ΡΡΡ
Ρ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ClamAV:
Π‘ΡΠ΅Π΄Π°
ΠΡΠ΅ΠΏΠΎΡΡΡΠ°Π½ ΡΠ΅ΠΆΠΈΠΌ
ΠΠ΅Π»Π΅ΠΆΠΊΠΈ
Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½ ΡΠ΅Π± Ρ
ΠΎΡΡΠΈΠ½Π³
clamscan ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅ ΡΡΠ΅Π· cron
ΠΠ΅Π· root Π΄ΠΎΡΡΡΠΏ; ΡΠ΅ΠΆΠΈΠΌΡΡ Π½Π° Π΄Π΅ΠΌΠΎΠ½ Π΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½
VPS (2β4 GB RAM)
ΠΠ΅ΠΌΠΎΠ½ clamd + cron clamdscan
ΠΠ°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°
Dedicated Server
clamd + clamonacc + ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΡΠ°
ΠΡΠ»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ; Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ Ρ ΡΠ΅ΡΡΡΡΠΈΡΠ΅
GPU/ΠΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π΅Π½ Π²ΡΠ·Π΅Π» Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ
Π‘Π°ΠΌΠΎ Π΄Π΅ΠΌΠΎΠ½ clamd
ΠΠ·Π±ΡΠ³Π²Π°ΠΉΡΠ΅ I/O ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π½Π° clamonacc ΠΏΡΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ
ΠΠ° ΡΡΠ΅Π΄ΠΈ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ ΠΈ ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ
Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, Dedicated Servers ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π·Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° clamd, clamonacc ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΠ° Π±Π΅Π· ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡ Π·Π° ΡΠ΅ΡΡΡΡΠΈ.
ΠΠ°ΡΡΠΈΡΠ° Π·Π° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΈΠ·Π²ΠΎΠ΄ΠΈ
ΠΡΠ΅Π΄ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ClamAV, Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΡΠΊΠΎ ΠΎΡ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅:
ΠΠ΅ΡΡΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ β ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ uname -r; ΠΏΠΎΡΠ²ΡΡΠ΄Π΅ΡΠ΅ 5.1+, Π°ΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° clamonaccclamd ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ ΠΎΡ 1β1.5 GB; ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΠΌΠΎΠ½Π°freshclam β ΠΏΠΎΡΠ²ΡΡΠ΄Π΅ΡΠ΅, ΡΠ΅ clamav-freshclam.service Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΈ NotifyClamd Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π² freshclam.confclamav ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π»ΠΈ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅; ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ --fdpass Ρ clamdscan ΡΠ°ΠΌ, ΠΊΡΠ΄Π΅ΡΠΎ ACL ΡΠ° Π½Π΅ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ/proc, /sys, /dev ΠΎΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡlogrotate Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΆΡΡΠ½Π°Π»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ClamAV ΠΏΡΠ΅Π΄ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈ cron Π·Π°Π΄Π°ΡΠΈOnAccessPrevention β ΡΠ΅ΡΡΠ²Π°ΠΉΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π½Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ (no) ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ (yes) Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈamavisd-new ΠΈΠ»ΠΈ Π½Π°ΡΠΈΠ²Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° av_scanner Π½Π° MTA, Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π· ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅/var/quarantine Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° --move; clamscan Π½ΡΠΌΠ° Π΄Π° Ρ ΡΡΠ·Π΄Π°Π΄Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ.fp ΠΈ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΠΉΡΠ΅ ΠΆΡΡΠ½Π°Π»ΠΈΡΠ΅ ΠΎΡ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ»Π΅Π΄ Π²ΡΡΠΊΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠ΅Π³ΡΠ΅ΡΠΈΠΈΠ§Π΅ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ
ΠΡΠΈΠ³ΡΡΡΠ²Π° Π»ΠΈ ClamAV Π·Π°ΡΠΈΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Linux ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅?
ΠΠ΅. Π‘Π»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ°, ClamAV ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅. ΠΠ°ΡΠΈΡΠ°ΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° clamonacc Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ OnAccessIncludePath ΠΈ OnAccessPrevention Π² clamd.conf, ΠΏΠ»ΡΡ ΡΠ΄ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° fanotify (5.1+).
ΠΠ°ΠΊΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ clamscan ΠΈ clamdscan?
clamscan Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π΅Π½ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Ρ Π²ΠΈΡΡΡΠΈ ΠΎΡ Π΄ΠΈΡΠΊΠ° ΠΏΡΠΈ Π²ΡΡΠΊΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΎΡ 5β30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. clamdscan Π΅ ΡΡΠ½ΡΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠΈ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈΡ Π΄Π΅ΠΌΠΎΠ½ clamd, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π² RAM β ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π±ΡΡΠ· Π·Π° ΠΏΠΎΠ²ΡΠ°ΡΡΡΠΈ ΡΠ΅ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ.
ΠΠΎΠ»ΠΊΠΎ RAM ΠΈΠ·ΠΈΡΠΊΠ²Π° Π΄Π΅ΠΌΠΎΠ½ΡΡ Π½Π° ClamAV?
clamd Ρ ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΏΡΠ»Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ (main + daily + bytecode) ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΌΠ΅ΠΆΠ΄Ρ 700 MB ΠΈ 1.2 GB ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ 2 GB ΠΎΠ±ΡΠ° RAM, ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΄Π΅ΠΌΠΎΠ½Π° Π·Π°Π΅Π΄Π½ΠΎ Ρ ΡΠ΅Π± ΡΡΡΠ²ΡΡ ΠΈΠ»ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΠΈ Π½Π°ΡΠΈΡΠΊ Π²ΡΡΡ
Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ clamscan Π±Π΅Π· Π΄Π΅ΠΌΠΎΠ½Π° Π½Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ.
ΠΠΎΠΆΠ΅ Π»ΠΈ ClamAV Π΄Π° ΡΠΊΠ°Π½ΠΈΡΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π°ΡΡ ΠΈΠ²ΠΈ ΠΈ ΠΈΠΌΠ΅ΠΉΠ» ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅?
ΠΠ°. ClamAV Π½Π°ΡΠΈΠ²Π½ΠΎ ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π° ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ° ZIP, RAR, 7z, TAR, GZIP, BZIP2, CAB ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ Π°ΡΡ
ΠΈΠ²Π½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ OLE2 Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ (Microsoft Office), PDF ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ELF/PE ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ MaxScanSize ΠΈ MaxFileSize Π² clamd.conf ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π·Π° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π° ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΡ
ΠΈΠ²ΠΈ.
ΠΠ°ΡΠΎ freshclam Π΄ΠΎΠΊΠ»Π°Π΄Π²Π° βΠ·Π°ΠΊΠ»ΡΡΠ΅Π½ ΠΎΡ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ” Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ°?
ΠΠ° Debian/Ubuntu, ΡΡΠ»ΡΠ³Π°ΡΠ° clamav-freshclam Π½Π° systemd ΡΡΠ°ΡΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ Π΄ΡΡΠΆΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π ΡΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° freshclam Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° Π΅ Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅. Π‘ΠΏΡΠ΅ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Ρ sudo systemctl stop clamav-freshclam, ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΡΡΠ½Π°ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ°.
ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ»ΡΠ³ΠΈ