바이러스 방어 · 4 min read · Nov 27, 2025

Postfix 설정을 사용하여 바이러스를 방어하는 방법

Postfix 설정을 사용하여 바이러스를 방어하는 방법

이 가이드에서는 Postfix (+Auth SMTP + Quota)에 대한 HowtoForge 메일 가이드를 조정하여 더 나은 바이러스 보호를 제공하는 방법을 배웁니다. https://www.howtoforge.com/virtual_postfix_mysql_quota_courier 안타깝게도 이는 항상 대가를 치러야 하며, 나중에 보시게 될 것입니다….

Falko HowtoForge 가이드는 기본 Postfix 설치를 위한 훌륭한 시작점이지만, 비즈니스 수준의 안티바이러스를 달성하려면 최신 스크립트 키디의 발명이 통과될 가능성을 줄이기 위해 몇 가지 작은 작업을 수행해야 합니다.

Postfix 가이드에서는 Amavis와 ClamAV가 Debian stable에서 설치됩니다. Debian Sarge는 너무 오래되었습니다. 새로운 Amavis-new 2.4.2를 사용해본 결과, /etc/amavis/amavisd.conf가 완전히 교체되어 Debian 패키지에서 크게 변경되었습니다. 따라서 amavis-new는 그대로 두고 Debian sarge stable에서 그대로 두겠습니다. 그러나 ClamAV는 약간 구식이므로 테스트에서 새 복사본을 가져오겠습니다.

/etc/apt/sources.list를 편집하고 Debian 소스를 테스트로 변경합니다:

vi /etc/apt/sources.list
deb ftp://ftp.uk.debian.org/debian/ testing main
apt-get update
apt-get install clamav clamav-daemon

그 후 Debian 소스를 다시 stable로 변경하는 것을 잊지 마세요:

/etc/apt/sources.list를 편집합니다:

vi /etc/apt/sources.list
deb ftp://ftp.uk.debian.org/debian/ stable main
apt-get update

이것은 Clamav 엔진을 0.88로 업데이트하고 더 나은 바이러스 탐지를 제공해야 합니다. Debian의 Volatile 브랜치를 사용하여 Clamav를 최신 릴리스로 가져오는 것이 가능하지만, 몇 가지 나쁜 경험이 있었기 때문에 조심하는 것이 좋습니다.

다음으로 Postfix가 Amavis에 메일을 전달한 후 Amavis가 호출하는 바이러스 스캐너를 늘리고자 합니다. 이 가이드에서는 2개를 구성하는 방법을 살펴보겠습니다.

F-Prot - 개인 사용에 무료이며 편리한 Debian 설치 프로그램이 함께 제공됩니다.

cd /usr/src
wget http://http.us.debian.org/debian/pool/contrib/f/f-prot-installer/f-prot-installer_0.5.22_i386.deb
apt-get install libwww-perl liburi-perl libhtml-parser-perl libhtml-tree-perl libhtml-tagset-perl
dpkg i f-prot-installer_0.5.22_i386.deb

화면 설치 프로그램의 지침을 따르세요. 설치하는 동안 최신 F-Prot 배포판을 다운로드합니다.

Clamav가 Freshclam을 사용하는 것과 달리, F-Prot는 스스로 최신 상태를 유지하기 위해 데몬 프로그램을 사용하지 않으므로 Debian 크론을 통해 업데이트 프로그램을 활성화해야 합니다.

/etc/cron.d/f-prot-installer를 편집하고 바이러스 및 프로그램 업데이트를 위한 2개의 크론 작업 줄의 주석을 제거합니다:

vi /etc/cron.d/f-prot-installer
27 4,16 * * * root if [ -x /usr/lib/f-prot/tools/check-updates ]; then /usr/lib/f-prot/tools/check-updates -cron; fi
#
# Uncomment to check for new version of program once a week
# 
00 12 * * 1 root if [ -x /usr/sbin/update-f-prot ]; then /usr/sbin/update-f-prot -i; fi 

마지막으로 Amavis 구성에서 F-prot를 활성화하려면 /etc/amavis/amavisd.conf를 편집하고 @av_scanners를 검색합니다. 이 배열에 새 스캐너를 추가해야 하므로 편집 후 다음과 비슷하게 보일 것입니다:

vi /etc/amavis/amavisd.conf
@av_scanners = (

### http://www.clamav.net/
['Clam Antivirus-clamd',
 \&ask_daemon, ["CONTSCAN {}
", "/var/run/clamav/clamd.ctl"],
 qr/\bOK$/, qr/\bFOUND$/,
 qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# NOTE: run clamd under the same user as amavisd; match the socket
# name (LocalSocket) in clamav.conf to the socket name in this entry
# When running chrooted one may prefer: ["CONTSCAN {}
","$MYHOME/clamd"],


### F-Prot http://www.f-prot.com
['FRISK F-Prot Antivirus', ['f-prot','/usr/lib/f-prot/f-prot.sh'],
   '-dumb -archive -packed {}', [0,8], [3,6],
   qr/Infection: (.+)|\s+contains\s+(.+)$/ ],
   
);

마지막으로 변경 사항이 적용되도록 Amavis를 재시작합니다:

/etc/init.d/amavis restart 

신속하게 진행하여 이제 McAfee UVScan을 활성화하려고 합니다. 안타깝게도 이는 일반 용도로 무료가 아니며 평가 기간 이상 사용하려면 라이센스를 구매해야 합니다.

cd /usr/src
wget http://download.nai.com/products/evaluation/virusscan/english/cmdline/linux/v5.10/vlp4510e.tar.Z
tar zxvf  vlp4510e.tar.Z
./install-uvscan

설치 절차의 끝에서 긴 전체 파일 시스템 스캔을 피하는 것을 제외하고 모든 기본값을 수락합니다. 이 시점에서 라이센스가 있는 경우 일반적으로 /usr/local/uvscan에 설치된 프로그램 디렉토리에 덤프할 수 있습니다.

다음으로 NAI 업데이트 프로그램을 http://www.brijn.nu/Programming/에서 가져옵니다(보아하니 McAfee는 배포할 생각이 없는 것 같습니다).

cd /usr/src
wget http://www.brijn.nu/Programming/nai/naiupdt-0.5.tar.gz
tar zxvf  naiupdt-0.5.tar.gz
./naiupdt.pl

다음으로 업데이트 프로그램을 시스템 크론에 배치하여 하루에 최소 한 번 실행되도록 합니다. /etc/crontab을 편집합니다:

vi /etc/crontab
15 8,15 * * *  root /usr/src/naiupdt-0.5/naiupdt.pl >> /dev/null

다음으로 Amavis 구성을 편집하고 UVScan을 추가하여 다시 한 번 @av_scanners를 찾아 파일의 배열을 다음과 같이 변경하여 3개의 AV 스캐너 모두에 대해 비슷하게 보이도록 합니다:

@av_scanners = (

### http://www.clamav.net/
['Clam Antivirus-clamd',
 \&ask_daemon, ["CONTSCAN {}
", "/var/run/clamav/clamd.ctl"],
 qr/\bOK$/, qr/\bFOUND$/,
 qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# NOTE: run clamd under the same user as amavisd; match the socket
# name (LocalSocket) in clamav.conf to the socket name in this entry
# When running chrooted one may prefer: ["CONTSCAN {}
","$MYHOME/clamd"],

### http://www.nai.com/
['NAI McAfee AntiVirus (uvscan)', '/usr/local/uvscan/uvscan',
   '--secure -rv --mime --summary --noboot - {}', [0], [13],
   qr/(?x) Found (?:
     \ the\ (.+)\ (?:virus|trojan)  |
     \ (?:virus|trojan)\ or\ variant\ ([^ ]+) |
     :\ (.+)\ NOT\ a\ virus)/,
],

### F-Prot http://www.f-prot.com
['FRISK F-Prot Antivirus', ['f-prot','/usr/lib/f-prot/f-prot.sh'],
   '-dumb -archive -packed {}', [0,8], [3,6],
   qr/Infection: (.+)|\s+contains\s+(.+)$/ ],
   
);

변경 사항이 적용되도록 Amavis를 재시작합니다:

/etc/init.d/amavis restart

마지막으로 시스템을 통해 메일을 보내어 모든 것이 작동하는지 확인하고 Amavis 로그를 확인합니다. Amavis 구성에서 로깅을 활성화하지 않았다면 활성화해야 하며, 다음과 같은 내용을 볼 수 있어야 합니다:

Sep  7 23:29:57 domain.net amavisd-new[11023]: (11023-08) TIMING [total 617 ms] - SMTP EHLO: 1 (0%), SMTP pre-MAIL: 0 (0%), SMTP pre-DATA-flush: 1 (0%), SMTP DA  
TA: 39 (6%), body hash: 0 (0%), lookup_sql: 1 (0%), mime_decode: 8 (1%), get-file-type: 8 (1%), get-file-type: 7 (1%), decompose_part: 1 (0%), decompose_part: 0 (0%),   
parts: 0 (0%), AV-scan-1: 4 (1%), AV-scan-2: 323 (52%), AV-scan-3: 171 (28%), fwd-connect: 4 (1%), fwd-mail-from: 0 (0%), fwd-rcpt-to: 2 (0%), write-header: 2 (0%), fw  
d-data: 0 (0%), fwd-data-end: 41 (7%), fwd-rundown: 1 (0%), unlink-2-files: 2 (0%), rundown: 0 (0%)

3개의 AV 스캔이 진행되고 있으며 각 프로세스가 소요된 시간의 대략적인 비율을 제공합니다. 제 테스트에서는 Clam (AV-scan-1)이 가장 빠르고 F-Prot (AV-scan-3)가 그 뒤를 따르며 UVScan (AV-scan-2)이 세 번째로 뒤쳐졌습니다. 분명히 너무 많은 스캐너가 설치되어 메일 설정이 심하게 타격을 받는 경우, amavis 구성 파일에서 비활성화하면 됩니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.