ClamAv нядрэнна спраўляецца з пошукам шеллов і вірусаў на сайтах. Аднойчы ён дапамог мне выявіць заліты шелл на сайт з вордпресс. Праблема апынулася ў нейкім убудове, але гэта ўжо выходзіць за рамкі артыкула. :)
Перш за ўсё трэба будзе ўсталяваць ClamAv:
aptitude install clamav
Пасля ўстаноўкі абавязкова абновіце вірусныя базы, надрукаваўшы ў кансолі каманду freshclam. Адлюструецца вынік абнаўлення.
root @ localhost: ~ # freshclam ClamAV update process started at Wed Jul 16 11:08:02 2014 main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo) Downloading daily-19193.cdiff [100%] daily.cld updated (version: 19193, sigs: 1082296, f-level: 63, builder: neo) bytecode.cld is up to date (version: 242, sigs: 46, f-level: 63, builder: dgoddard) Database updated (3506567 signatures) from db.local.clamav.net (IP: 194.186.47.19)
Па заканчэнні працэсу абнаўлення, можна запусціць сканаванне. Каманда простая:
clamscan -i -r / path / to / site
Ключ -i адлюстроўвае ў справаздачы аб праверцы інфармацыю толькі пра заражаных файлах.
Ключ -r пакажа сканару, што трэба сканаваць каталогі рэкурсіўна.
Пры выкарыстанні дадзенай каманды, вынік сканавання будзе паказаных у кансолі. Калі файлаў шмат, а сачыць за кансоллю няма часу (або жадання :)), то можна запусціць сканаванне ў абалонцы Screen.
У выпадку неабходнасці, ўсталюйце яго:
aptitude install screen
Запускаецца сканаванне ў гэтым выпадку наступным чынам:
screen -A -m -d clamscan -i -r -l clamlog.txt
Ключы -A -m -d для screen запускаюць сесію згорнутыя. Для разгортвання акна screen выкарыстоўваецца каманда screen -r.
Згарнуць акно з працэсам сканавання можна націскам спалучэння клавіш ctrl + a + d.
Ключ сканэра -l, які запіша лог сканавання ў тэкставы файл, імя якога трэба паказваць адразу пасля ключа. Інфармацыя аб знойдзеных уразлівасцях не будзе адлюстравана на экране кансолі пры выкарыстанні screen, паколькі з завяршэннем сканавання screen таксама завяршае сваю працу.
Можна таксама прасканаваць файлы з спісу. Для гэтага трэба паказаць ключ -f і файл, які змяшчае спіс файлаў для праверкі.
Наконт screen!
У кансолі:
screen -t namescreen
Створыць новы скрін, і аўтаматычна зайдёт ў яго! Што-б выйсці не спыняючы яго рабооты трэба націснуць Ctr + A + D
screen -list
Выведзе спіс запушчаных скрін: D
Што-б зайсці ў які працуе скрін трэба
screen -r 31289.pts-0.namescreen
Тут естейственно id скрін будзе іншы
Гэта я да таго, што можна не пісаць вынік у файл, а проста проста переодически зазіраць у які працуе screen.
Запушчаная праверка ў screen ня захоўвае вынікі. Гэта значыць, не атрымаецца зрабіць па тыпу «запусціў і сышоў рабіць нешта іншае». Праверка можа скончыцца раней меркаванага тэрміна, а вынік будзе невядомы, так як screen таксама завершыць сваю працу. :)
не абавязкова, калі першапачаткова стварыць скрін камандай screen -S clam
Пасля ўжо ў адкрытым скрін запусціць каманду.
У такім выпадку ўсё будзе ок =)