GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come integrare ClamAV in PureFTPd per la scansione antivirus su CentOS 7

Questo tutorial spiega come integrare ClamAV in PureFTPd per la scansione antivirus su un sistema CentOS 7. Alla fine, ogni volta che un file viene caricato tramite PureFTPd, ClamAV controllerà il file e lo cancellerà se contiene un virus o un malware.

1 Nota preliminare

Dovresti avere una configurazione PureFTPd funzionante sul tuo server CentOS 7, ad es. come mostrato in questo tutorial:Hosting virtuale con PureFTPd e MySQL (Incl. Quota and Bandwidth Management) su CentOS 7.

2 Installazione di ClamAV

ClamAV non è disponibile nei repository CentOS ufficiali, quindi abilitiamo il repository EPEL (se non l'hai già fatto. Inizia importando le chiavi RPM GPK.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Quindi abilitiamo il repository EPEL sul nostro sistema CentOS poiché molti dei pacchetti che installeremo nel corso di questo tutorial non sono disponibili nel repository CentOS 7 ufficiale:

yum -y install epel-release
yum -y install yum-priorities

Modifica /etc/yum.repos.d/epel.repo...

nano /etc/yum.repos.d/epel.repo

... e aggiungi la linea priority=10 alla sezione [epel]:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]

Quindi aggiorniamo i nostri pacchetti esistenti sul sistema:

yum update

Successivamente, possiamo installare ClamAV come segue:

yum -y clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd

Modifica il file /etc/freshclam.conf e commenta la riga di esempio:

nano /etc/freshclam.conf

aggiungendo un # davanti alla riga Esempio:

.....
# Comment or remove the line below.
# Example

....

Quindi modifica il file /etc/clamd.d/scan.conf:

nano /etc/clamd.d/scan.conf

e commenta la riga di esempio come abbiamo fatto nel file sopra e rimuovi il # davanti alla riga LocalSocket.

.....
# Comment or remove the line below.
# Example

....
LocalSocket /var/run/clamd.scan/clamd.sock
....

Quindi creiamo i collegamenti di avvio del sistema per clamd e lo avviamo:

systemctl enable [email protected]
freshclam

Quindi avvia il servizio clamav:

systemctl start [email protected]

Puoi controllare lo stato del demone ClamAV con questo comando:

 systemctl  status [email protected]

Il risultato dovrebbe essere questo:

[[email protected] system]# systemctl status [email protected]
? [email protected] - Generic clamav scanner daemon
Loaded: loaded (/usr/lib/systemd/system/[email protected]; disabled; vendor preset: disabled)
Active: active (running) since Thu 2016-04-07 15:44:28 CEST; 1min 48s ago
Main PID: 10945 (clamd)
CGroup: /system.slice/system-clamd.slice/[email protected]
??10945 /usr/sbin/clamd -c /etc/clamd.d/scan.conf --nofork=yes
Apr 07 15:44:36 server1.example.com clamd[10945]: HTML support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: XMLDOCS support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HWP3 support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: Self checking every 600 seconds.
Apr 07 15:44:36 server1.example.com clamd[10945]: PDF support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: SWF support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HTML support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: XMLDOCS support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HWP3 support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: Self checking every 600 seconds.

3 Configurazione di PureFTPd

Per prima cosa apriamo /etc/pure-ftpd/pure-ftpd.conf e impostiamo CallUploadScript su yes :

nano /etc/pure-ftpd/pure-ftpd.conf
[...]
# If your pure-ftpd has been compiled with pure-uploadscript support,
# this will make pure-ftpd write info about new uploads to
# /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and
# spawn a script to handle the upload.
# Don't enable this option if you don't actually use pure-uploadscript.

CallUploadScript yes
[...]

Quindi creiamo il file /etc/pure-ftpd/clamav_check.sh (che chiamerà /usr/bin/clamdscan ogni volta che un file viene caricato tramite PureFTPd)...

nano /etc/pure-ftpd/clamav_check.sh
#!/bin/sh
/usr/bin/clamdscan --fdpass --remove --quiet --no-summary -c /etc/clamd.d/scan.conf "$1"

... e rendilo eseguibile:

chmod 755 /etc/pure-ftpd/clamav_check.sh

Ora avviamo il programma pure-uploadscript come demone:chiamerà il nostro script /etc/pure-ftpd/clamav_check.sh ogni volta che un file viene caricato tramite PureFTPd:

pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh

Ovviamente, non vuoi avviare il demone manualmente ogni volta che avvii il sistema, quindi apriamo /etc/rc.local...

nano /etc/rc.local

... e aggiungi la riga /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh ad essa - ad es. come segue:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
touch /var/lock/subsys/local

Finalmente riavviamo PureFTPd:

systemctl restart [email protected]

Questo è tutto! Ora, ogni volta che qualcuno tenta di caricare malware sul tuo server tramite PureFTPd, i file "cattivi" verranno eliminati silenziosamente.

4 Immagine della macchina virtuale

Questo tutorial è disponibile come macchina virtuale pronta per l'uso in formato OVA / OVF per gli abbonati Howtoforge. Il formato VM è compatibile con VMWare e Virtualbox e altri strumenti che possono importare questo formato. Puoi trovare il link per il download nel menu a destra in alto. Fare clic sul nome del file per avviare il download.

I dettagli di accesso della VM sono:

Accesso SSH

Nome utente:root
Password:howtoforge

Accesso a MariaDB

Nome utente:root
Password:howtoforge

Si prega di modificare le password dopo il primo avvio.

  • PureFTPD:http://www.pureftpd.org/
  • ClamAV:http://www.clamav.net/
  • CentOS:http://www.centos.org/

Cent OS
  1. Come integrare ClamAV in PureFTPd per la scansione dei virus su Ubuntu 12.10

  2. Come integrare ClamAV in PureFTPd per la scansione dei virus su Debian Squeeze

  3. Come configurare PureFTPd per accettare sessioni TLS su CentOS 6.2

  4. Come integrare ClamAV in PureFTPd per la scansione dei virus su CentOS 6.2

  5. Come integrare ClamAV in PureFTPd per la scansione dei virus su Fedora 18

Come configurare PureFTPd su CentOS 7

Come installare Websvn per Subversion in CentOS 7

Come installare ClamAV su CentOS 6

Come installare ClamAV su CentOS 7

Come installare Drush per Drupal su CentOS 7

Come installare ClamAV su CentOS 8