GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment intégrer ClamAV dans PureFTPd pour l'analyse antivirus sur CentOS 7

Ce tutoriel explique comment vous pouvez intégrer ClamAV dans PureFTPd pour l'analyse antivirus sur un système CentOS 7. En fin de compte, chaque fois qu'un fichier est téléchargé via PureFTPd, ClamAV vérifiera le fichier et le supprimera s'il contient un virus ou un logiciel malveillant.

1 Remarque préliminaire

Vous devriez avoir une configuration PureFTPd fonctionnelle sur votre serveur CentOS 7, par ex. comme indiqué dans ce tutoriel :Hébergement virtuel avec PureFTPd et MySQL (Incl. Gestion des quotas et de la bande passante) sur CentOS 7.

2 Installer ClamAV

ClamAV n'est pas disponible dans les référentiels CentOS officiels, par conséquent, nous activons le référentiel EPEL (si vous ne l'avez pas déjà fait. Commencez par importer les clés RPM GPK.

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

Ensuite, nous activons le référentiel EPEL sur notre système CentOS car de nombreux packages que nous allons installer au cours de ce didacticiel ne sont pas disponibles dans le référentiel officiel CentOS 7 :

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

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

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

... et ajoutez la ligne priority=10 à la section [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
[...]

Ensuite, nous mettons à jour nos packages existants sur le système :

yum update

Ensuite, nous pouvons installer ClamAV comme suit :

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

Modifiez le fichier /etc/freshclam.conf et commentez la ligne Exemple :

nano /etc/freshclam.conf

en ajoutant un # devant la ligne Exemple :

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

....

Modifiez ensuite le fichier /etc/clamd.d/scan.conf :

nano /etc/clamd.d/scan.conf

et commentez la ligne Exemple comme nous l'avons fait dans le fichier ci-dessus et supprimez le # devant la ligne LocalSocket.

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

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

Ensuite, nous créons les liens de démarrage du système pour clamd et le démarrons :

systemctl enable [email protected]
freshclam

Démarrez ensuite le service clamav :

systemctl start [email protected]

Vous pouvez vérifier l'état du démon ClamAV avec cette commande :

 systemctl  status [email protected]

Le résultat devrait ressembler à ceci :

[[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 Configuration de PureFTPd

D'abord, nous ouvrons /etc/pure-ftpd/pure-ftpd.conf et définissons CallUploadScript sur 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
[...]

Ensuite, nous créons le fichier /etc/pure-ftpd/clamav_check.sh (qui appellera /usr/bin/clamdscan chaque fois qu'un fichier est téléchargé via 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"

... et le rendre exécutable :

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

Maintenant, nous démarrons le programme pure-uploadscript en tant que démon - il appellera notre script /etc/pure-ftpd/clamav_check.sh chaque fois qu'un fichier est téléchargé via PureFTPd :

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

Bien sûr, vous ne voulez pas démarrer le démon manuellement à chaque démarrage du système - nous ouvrons donc /etc/rc.local...

nano /etc/rc.local

... et ajoutez-y la ligne /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh - par ex. comme suit :

#!/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

Enfin nous redémarrons PureFTPd :

systemctl restart [email protected]

C'est ça! Désormais, chaque fois que quelqu'un essaie de télécharger un logiciel malveillant sur votre serveur via PureFTPd, le ou les "mauvais" fichiers sont supprimés en silence.

4 Image de machine virtuelle

Ce tutoriel est disponible en tant que machine virtuelle prête à l'emploi au format OVA/OVF pour les abonnés Howtoforge. Le format VM est compatible avec VMWare et Virtualbox et d'autres outils qui peuvent importer ce format. Vous pouvez trouver le lien de téléchargement dans le menu de droite en haut. Cliquez sur le nom du fichier pour lancer le téléchargement.

Les identifiants de connexion de la VM sont :

Connexion SSH

Nom d'utilisateur :root
Mot de passe :howtoforge

Connexion MariaDB

Nom d'utilisateur :root
Mot de passe :howtoforge

Veuillez changer les mots de passe après le premier démarrage.

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

Cent OS
  1. Comment intégrer ClamAV dans PureFTPd pour l'analyse de virus sur Debian Squeeze

  2. Comment configurer PureFTPd pour accepter les sessions TLS sur CentOS 6.2

  3. Comment intégrer ClamAV dans PureFTPd pour l'analyse de virus sur CentOS 6.2

  4. Comment intégrer ClamAV dans PureFTPd pour l'analyse de virus sur Fedora 18

  5. Comment installer XCache pour PHP sur CentOS

Comment configurer PureFTPd sur CentOS 7

Comment installer Websvn pour Subversion dans CentOS 7

Comment installer ClamAV sur CentOS 6

Comment installer ClamAV sur CentOS 7

Comment installer Drush pour Drupal sur CentOS 7

Comment installer ClamAV sur CentOS 8