CentOS 6.2에서 바이러스 스캔을 위해 ClamAV를 PureFTPd에 통합하는 방법

CentOS 6.2에서 바이러스 스캔을 위해 ClamAV를 PureFTPd에 통합하는 방법

2022-10-20 last update

7 minutes reading centos ftp security
이 튜토리얼은 CentOS 6.2 시스템에서 바이러스 스캔을 위해 ClamAV를 PureFTPd에 통합하는 방법을 설명합니다. 결국 PureFTPd를 통해 파일이 업로드될 때마다 ClamAV는 파일을 확인하고 악성코드인 경우 삭제합니다.

1 서문


CentOS 6.2 서버에서 작동하는 PureFTPd 설정이 있어야 합니다. 이 튜토리얼에서 볼 수 있듯이: Virtual Hosting With PureFTPd And MySQL (Incl. Quota And Bandwidth Management) On CentOS 6.2 .

2 ClamAV 설치


ClamAV는 공식 CentOS 리포지토리에서 사용할 수 없으므로 EPEL 리포지토리를 활성화합니다(예: Virtual Hosting With PureFTPd And MySQL (Incl. Quota And Bandwidth Management) On CentOS 6.2 자습서에서 아직 수행하지 않은 경우).
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm
yum install yum-priorities
/etc/yum.repos.d/epel.repo 편집...
vi /etc/yum.repos.d/epel.repo
... 그리고 [epel] 섹션에 priority=10 줄을 추가합니다.


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

그런 다음 다음과 같이 ClamAV를 설치할 수 있습니다.
yum install clamav clamd
다음으로 clamd에 대한 시스템 시작 링크를 만들고 시작합니다.
chkconfig --levels 235 clamd on
/usr/bin/freshclam
/etc/init.d/clamd start

3 PureFTPd 구성


먼저/etc/pure-ftpd/pure-ftpd.conf를 열고 CallUploadScript를 yes로 설정합니다.
vi /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
[...]

다음으로/etc/pure-ftpd/clamav_check.sh 파일을 생성합니다(파일이 PureFTPd를 통해 업로드될 때마다/usr/bin/clamdscan을 호출함)...
vi /etc/pure-ftpd/clamav_check.sh


#!/bin/sh
/usr/bin/clamdscan --remove --quiet --no-summary "$1"

... 실행 가능하게 만드십시오.
chmod 755 /etc/pure-ftpd/clamav_check.sh
이제 pure-uploadscript 프로그램을 데몬으로 시작합니다. 파일이 PureFTPd를 통해 업로드될 때마다/etc/pure-ftpd/clamav_check.sh 스크립트를 호출합니다.
pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
물론 시스템을 부팅할 때마다 수동으로 데몬을 시작하고 싶지는 않습니다. 따라서/etc/rc.local을 엽니다...
vi /etc/rc.local
... 그리고/usr/sbin/pure-uploadscript -B -r/etc/pure-ftpd/clamav_check.sh 행을 추가하십시오. 다음과 같이:


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

마지막으로 PureFTPd를 다시 시작합니다.
/etc/init.d/pure-ftpd restart
그게 다야! 이제 누군가가 PureFTPd를 통해 서버에 맬웨어를 업로드하려고 할 때마다 "잘못된"파일이 자동으로 삭제됩니다.

4 링크


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