Перейти до основного вмісту
Головна
нотатки кодера

Navigation

  • Головна
  • Про мене
  • Портфоліо
User account menu
  • Вхід

Рядок навіґації

  1. Головна

Антивірус для хостингу під ISPconfig

від vetal, 2 жовтня, 2012
Категорія
Адміністрування
  • Щоб додати коментар, увійдіть або зареєструйтесь

Антивирус для хостинга под ISPconfigВиявлення шкідливих програм зазвичай є складною задачою. Сьогодні я прочитав невеликий, але хороший HOWTO, котрий показує, як з невеликими змінами програми maldetect антивірус буде правильно працювати під Debian.

Керуючись цією статтею було написано скрипт для maldetect, котрий автоматично налаштовує роботу програми.

 

#!/bin/bash
# debian-specific installation script by M. Cramer <[email protected]>
# 
 
CURDIR=`pwd`
PROG=`readlink -f $0`
 
echo "Встановлення необхідних компонентів..."
apt-get -y -q install inotify-tools sed
 
echo "Отримання останньої версісї maldetect..."
cd /tmp
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar -xzf maldetect-current.tar.gz
cd maldetect-*
 
echo "Корегування скрипту встановлення..."
sed -r -i 's/^(.*cp.*\/libinotifytools.so\.0[ ]+\/usr\/lib\/.*)$/#\1/g' install.sh;
 
echo "Змінення завдання cron..."
sed -r -i '/maldet.*\/var\/www\/vhosts\/\?\/subdomains\/\?\/httpdocs.*$/ a\
        elif [ -d "/usr/local/ispconfig" || -d "/root/ispconfig" ]; then\
                # ispconfig\
                /usr/local/maldetect/maldet -b -r /var/www 2 >> /dev/null 2>&1' cron.daily;
 
echo "Змінення скрипту maldet..."
sed -r -i 's/^\$nice .*$/\$nice -n \$inotify_nice \$inotify -r --fromfile \$inotify_fpaths \$exclude --timefmt "%d %b %H:%M:%S" --format "%w%f %e %T" -m -e create,move,modify >> \$inotify_log 2>\&1 \&/g' files/maldet;
 
sed -r -i '/lmdup\(\) \{.*$/ a\
ofile=\$tmpdir/.lmdup_vercheck.\$\$\
tmp_inspath=/usr/local/lmd_update\
rm -rf \$tmp_inspath\
rm -f \$ofile\
\
mkdir -p \$tmp_inspath\
chmod 750 \$tmp_inspath\
\
eout "\{update\} checking for available updates..." 1\
\
\$wget --referer="http://www.rfxn.com/LMD-\$ver" -q -t5 -T5 "\$lmdurl_ver" -O \$ofile >> /dev/null 2>\&1\
if \[ -s "\$ofile" \]; then\
        installed_ver=`echo \$ver | tr -d "."`\
        current_ver=`cat \$ofile | tr -d "."`\
        current_hver=`cat \$ofile`\
        if \[ "\$current_ver" -gt "\$installed_ver" \]; then\
                eout "\{update\} new version \$current_hver found, updating..." 1\
                '"$PROG"'\
        fi\
else\
    echo "no update file found. try again later"\
    exit\
fi\
\
rm -rf \$tmp_inspath \$ofile \$ofile_has\
\
exit;\
# skip all the rest\
' files/maldet;
 
echo "Змінення конфігурації..."
sed -r -i 's/^inotify=.*$/inotify=\/usr\/bin\/inotifywait/g' files/internals.conf
 
echo "Видалення непотрібних файлів..."
rm -f files/inotify/inotifywait
rm -f files/inotify/libinotifytools.so.0
 
./install.sh
 
rm -r /tmp/maldetect-*
 
cd $CURDIR
 
echo "Щоб виконувати моніторинг в реальному часі, будь-ласка, виконайте наступні зміни:"
echo ""
echo "vi /usr/local/maldetect/maldetfilelist"
echo ""
echo "вкажіть каталог/каталоги, котрі мають бути проскановані"
echo "/var/www"
echo "(або кореневий каталог для веб-сайтів на приклад /home/www або інший)"
echo ""
echo "vi /etc/rc.local"
echo ""
echo "Додайте команду для запуску монітору при завантаженні серверу"
echo "/usr/local/maldetect/maldet -m /usr/local/maldetect/maldetfilelist"
echo ""
echo "Виконайте цю команду для запуску монітору в ручному режимі"
echo "/usr/local/maldetect/maldet -m /usr/local/maldetect/maldetfilelist"

Я не перевіряв, але цей скрипт також має працювати на Ubuntu, тому що ці системи дуже схожі.
Просто збережіть цей файл скрипту в бажану папку (при цьому він має залишатись там увесь час впродовж наступних обновлень!)

І як завжди: Ви  використовуєте цей скрипт на свій страх і ризик!

Щоб отримувати повідомлення по електронній пошті, коли шкідливі програми будуте знайдено, потрібно відкоригувати файл /usr/local/maldetect/conf.maldet

Для цього встановимо

email_alert=1

потім вкажемо поштову адресу для повідомлень про результати сканування в

email_addr = [email protected]

Ще можна вказати тему повідомлення, якщо потрібно

email_subj = Звіт про сканування на предмет вірусної інфекції

Якщо виявлені інфіковані файли мають автоматично очищатись та/або переміщуватись до карантину, то потрібно додатково встановити

quar_hits = 1

Особисто я надаю перевагу переглядати ці файли, не встановлюючи цей параметр.

Оскільки конфігураційний файл може бути перезаписано під час оновлення, ви мусите захистити його від перезапису, інакше налаштування можуть бути втрачені під час наступного запуску скрипту

chattr +i /usr/local/maldetect/conf.maldet

За замовчуванням скрипт запускається по крону (CRON) кожен день. При активному монітору буде приходити щоденний звіт про сканування.
Ось декілька каталогів веб папок для різних панелей керування хостингом:

ensim:
/home/virtual/*/fst/var/www/html und /home/virtual/*/fst/home/*/public_html
    
plesk:
/var/www/vhosts/*/httpdocs und /var/www/vhosts/*/subdomains/*/httpdocs
    
ispconfig:
/var/www
    
sonstige:
/home*/*/public_html

Потрібно вказати шлях, що відповідає вашому ПО, в файлі

/etc/cron.daily/maldet

Тепер моніторинг веб папок встановлено. Має сенс просканувати перший раз в ручному режимі, запустивши команду з консолі:

/usr/local/maldetect/maldet -m /usr/local/maldetect/maldetfilelist

Команди, у вище згаданому файлі крону, запускають скрипт оновлення. Замінимо "2" на "60" в кінці рядка. Цей параметр визначає кількість днів з моменту попереднього сканування. Максимальне значення 60, якщо буде встановлено більше, за замовчуванням буде використано "7".

/usr/local/maldetect/maldet -b -r /var/www/vhosts/?/httpdocs 60
/usr/local/maldetect/maldet -b -r /var/www/vhosts/?/subdomains/?/httpdocs 60
хостинг
антивирус
Linux
ISPconfig

Категорії

  • Історії
  • Адміністрування
  • Поради
  • Програмування

Останні матеріали

  • SCP з докачуванням
    1 рік 9 місяців ago
  • Таблиці IPFW
    1 рік 11 місяців ago
  • Як видалити порт FreeBSD з залежностями
    1 рік 11 місяців ago
  • screen — кращий друг адміна
    1 рік 11 місяців ago
  • gd-png: fatal libpng error
    1 рік 11 місяців ago
  • OpenCart облік прибутку
    1 рік 11 місяців ago
  • Fail2Ban: Постійний бан
    2 роки ago
  • Як отримати список змінених файлів між ревізіями
    7 років ago
  • Що робити якщо svn: database disk image is malformed
    8 років ago
  • Як виправити пошкоджений /etc/sudoers файл
    9 років 1 місяць ago

1980-2025 © All rights reserved. vetal.insky.one // нотатки кодера.