GNU/Linux >> Znalost Linux >  >> Debian

Jak integrovat ClamAV (prostřednictvím mod_clamav) do ProFTPd pro skenování virů na Debian Lenny

Tento tutoriál vysvětluje, jak můžete integrovat ClamAV do ProFTPd pro skenování virů v systému Debian Lenny. Toho je dosaženo pomocí mod_clamav. Nakonec, kdykoli je soubor nahrán přes ProFTPd, ClamAV soubor zkontroluje a smaže jej, pokud se jedná o malware.

Neposkytuji žádnou záruku, že to pro vás bude fungovat!

1 předběžná poznámka

Na vašem serveru Debian Lenny byste měli mít funkční nastavení ProFTPd.

2 Instalace ClamAV

ClamAV lze nainstalovat následovně:

aptitude install clamav clamav-daemon libclamav-dev

Nyní musíme překonfigurovat ClamAV tak, aby Clamd používal TCP spojení místo lokálního Unix socketu. Při používání funkce Chroot v ProFTPd (DefaultRoot ~) se důrazně doporučuje vyhýbat se připojením soketů Unix. Důvodem je, že pokud se mod_clamav potřebuje připojit k Clamd, Unixový socket není v chroot prostředí k dispozici.

Spustit

dpkg-reconfigure clamav-base

... a na tyto otázky odpovězte následovně (přijměte výchozí hodnoty pro všechny ostatní otázky):

Typ soketu:<-- TCP
TCP port clamd bude naslouchat na:<-- 3310
IP adresa clamd bude naslouchat na:<-- 127.0.0.1

Poté restartujte Clamd a freshclam:

/etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restart

Nyní spusťte

netstat -tap | grep clamd

... a měli byste vidět, že Clamd naslouchá na localhost přes TCP:

server1:~# netstat -tap | grep clamd
tcp        0      0 localhost.localdom:3310 *:*                     LISTEN      29430/clamd
server1:~#

3 Přestavba ProFTPd

Bohužel mod_clamav není ve výchozím nastavení součástí ProFTPd a pro mod_clamav neexistuje žádný balíček Debianu, takže musíme znovu sestavit ProFTPd pomocí mod_clamav. Použiji zdrojový balíček Debian ProFTPd a vytvořím nové balíčky ProFTPd .deb s podporou mod_clamav.

Nejprve nainstalujeme všechny balíčky, které jsou potřeba k přestavbě ProFTPd:

aptitude build-dep proftpd

Potřebujeme také následující balíček (který se z nějakého důvodu neinstaluje předchozím příkazem...):

aptitude install libpam-dev

Nyní stáhneme zdrojový balíček ProFTPd do /usr/src:

cd /usr/src
apt-get source proftpd

Dále stáhneme mod_clamav do /usr/src a rozbalíme jej:

wget --no-check-certificate https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-0.11rc.tar.gz
tar xzvf mod_clamav-0.11rc.tar.gz

Poté zkopírujeme soubory mod_clamav-0.11rc/mod_clamav.* do adresáře proftpd-dfsg-1.3.1/contrib...

cp mod_clamav-0.11rc/mod_clamav.* proftpd-dfsg-1.3.1/contrib

... a opravte zdroje ProFTPd:

cd proftpd-dfsg-1.3.1
patch -p1 < ../mod_clamav-0.11rc/proftpd.patch

Dále musíme upravit debian/rules:

vi debian/rules

Prohledejte sekci CONF_ARGS a přidejte do ní --with-modules=mod_clamav:

[...]
CONF_ARGS := --prefix=/usr \
             --with-includes=$(shell pg_config --includedir):$(shell mysql_config --include|sed -e 's/-I//') \
             --mandir=/usr/share/man --sysconfdir=/etc/$(NAME) --localstatedir=/var/run --libexecdir=/usr/lib/$(NAME) \
             --enable-sendfile --enable-facl --enable-dso --enable-autoshadow --enable-ctrls --with-modules=mod_readme \
             --enable-ipv6 --enable-nls --with-modules=mod_clamav
[...]

Nyní můžeme znovu sestavit ProFTPd:

dpkg-buildpackage

Nyní přejdeme o jeden adresář výše, tam byly vytvořeny nové balíčky .deb:

cd ..

Příkaz

ls -l

zobrazí dostupné balíčky:

server1:/usr/src# ls -l
total 5472
drwxr-xr-x  2  501  501    4096 2009-04-20 10:22 mod_clamav-0.11rc
-rw-r--r--  1 root src     5115 2010-10-01 03:28 mod_clamav-0.11rc.tar.gz
-rw-r--r--  1 root src   195066 2010-10-01 03:32 proftpd_1.3.1-17lenny4_all.deb
-rw-r--r--  1 root src   690228 2010-10-01 03:32 proftpd-basic_1.3.1-17lenny4_i386.deb
drwxr-xr-x 13 root root    4096 2010-10-01 03:32 proftpd-dfsg-1.3.1
-rw-r--r--  1 root src   107998 2010-10-01 03:29 proftpd-dfsg_1.3.1-17lenny4.diff.gz
-rw-r--r--  1 root src     1103 2010-10-01 03:29 proftpd-dfsg_1.3.1-17lenny4.dsc
-rw-r--r--  1 root src     3305 2010-10-01 03:32 proftpd-dfsg_1.3.1-17lenny4_i386.changes
-rw-r--r--  1 root src  2662056 2007-10-16 01:02 proftpd-dfsg_1.3.1.orig.tar.gz
-rw-r--r--  1 root src  1255660 2010-10-01 03:32 proftpd-doc_1.3.1-17lenny4_all.deb
-rw-r--r--  1 root src   213004 2010-10-01 03:32 proftpd-mod-ldap_1.3.1-17lenny4_i386.deb
-rw-r--r--  1 root src   203562 2010-10-01 03:32 proftpd-mod-mysql_1.3.1-17lenny4_i386.deb
-rw-r--r--  1 root src   203512 2010-10-01 03:32 proftpd-mod-pgsql_1.3.1-17lenny4_i386.deb
server1:/usr/src#

Nové balíčky .deb ProFTPd můžeme nainstalovat následovně:

dpkg -i proftpd*.deb

4 Konfigurace ProFTPd

Nyní musíme nakonfigurovat ProFTPd tak, aby používal mod_clamav při každém nahrávání souboru. Otevřete /etc/proftpd/proftpd.conf...

vi /etc/proftpd/proftpd.conf

... a přidejte sloku

<IfModule mod_clamav.c>
   ClamAV on
   ClamServer 127.0.0.1
   ClamPort 3310
</IfModule>

někde, např. pod

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

sekce:

[...]
<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

<IfModule mod_clamav.c>
   ClamAV on
   ClamServer 127.0.0.1
   ClamPort 3310
</IfModule>

#
# Alternative authentication frameworks
#
#Include /etc/proftpd/ldap.conf
Include /etc/proftpd/sql.conf
[...]

Restartujte ProFTPd:

/etc/init.d/proftpd restart

Nyní zkontrolujte, zda je načten mod_clamav spuštěním:

proftpd -vv

mod_clamav by měl být uveden ve výstupu:

server1:~# proftpd -vv
 - ProFTPD Version: 1.3.1 (stable)
 -   Scoreboard Version: 01040002
 -   Built: Fri Oct 1 03:31:03 CEST 2010
 -     Module: mod_core.c
 -     Module: mod_xfer.c
 -     Module: mod_auth_unix.c
 -     Module: mod_auth_file/0.8.3
 -     Module: mod_auth.c
 -     Module: mod_ls.c
 -     Module: mod_log.c
 -     Module: mod_site.c
 -     Module: mod_delay/0.6
 -     Module: mod_dso/0.4
 -     Module: mod_auth_pam/1.0.1
 -     Module: mod_clamav.c
 -     Module: mod_cap/1.0
 -     Module: mod_ctrls/0.9.4
 -     Module: mod_lang/0.8
server1:~#

A je to! Nyní, kdykoli se někdo pokusí nahrát malware na váš server prostřednictvím ProFTPd, budou „špatné“ soubory smazány. Můžete to otestovat stažením testovacího viru Eicar z http://www.eicar.org/anti_virus_test_file.htm; zkuste jej nahrát na váš server ProFTPd, a pokud vše půjde dobře, mělo by být smazáno:

  • ProFTPd:http://www.proftpd.org/
  • mod_clamav:http://www.thrallingpenguin.com/resources/mod_clamav.htm
  • ClamAV:http://www.clamav.net/
  • Debian:http://www.debian.org/

Debian
  1. Jak integrovat ClamAV do PureFTPd pro skenování virů na Ubuntu 12.10

  2. Jak integrovat ClamAV do PureFTPd pro skenování virů na CentOS 6.2

  3. Jak obnovit heslo pro sudo v Debianu

  1. Jak integrovat ClamAV do PureFTPd pro skenování virů na Debian Squeeze

  2. Jak integrovat ClamAV do PureFTPd pro skenování virů na CentOS 7

  3. jak nainstalovat gui pro debian

  1. Jak získat aktualizace LTS pro Debian 6 (Squeeze)

  2. Jak integrovat ClamAV do PureFTPd pro skenování virů na Fedoře 18

  3. Jak nainstalovat ProFTPD na Debian 8