커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
*
HanIRC의 #coffeenix 방
[
장비 및 회선 후원
]
> Forum <
IT 일정
N
e
w
!
자동화 프로젝트
HOME
>
보안(security)
>
바이러스(virus) / 웜 / 백신
도움말
검색 :
사이트
WHOIS
웹서버 종류
메일 바이러스 차단 AntiVir Milter FAQ (문제해결편)
작성일 : 2003/09/06 02:20
글쓴이 : 좋은진호 (
http://coffeenix.net/
)
조회수 : 7989
[
이전화면
/
수정
] 비밀번호 :
작성자 : 좋은진호(truefeel,
http://coffeenix.net/
)
작성일 : 2003.09.05(금)
이 글은 전에 썼던 "메일로 들어오는 바이러스 차단 AntiVir Milter 설치 및 운영"
의 연장선상에 있는 글입니다.
Antivir Milter 설치는 간단합니다. 그러나
- 설치 환경이 다양하고
- 한글로 된 문서를 찾기가 쉽지않아서
순서대로 했는데 문제 발생할 때 해결책 찾기가 쉽지 않았을 겁니다.
저에게 직접 질문한 것과 KLTP를 통해 질문한 것을 정리한 것에 불과합니다.
Antivir툴의 전문가도 아닌데 여러 질문을 받다보니 여기까지(?) 오게 됐습니다.
문제 해결에 도움이 되기를...
Q1) 솔라리스에서도 사용할 수 있습니까?
-----------------------------------------------------------------------
A1) Antivir Milter는 Linux, FreeBSD, OpenBSD용만 있습니다.
Q2) Qmail에서는 Antivir Milter 사용은?
-----------------------------------------------------------------------
A2) Antivir Milter는 sendmail용입니다.
sendmail의 Milter API를 이용해서 동작합니다.
그러나 qmail에서 전혀 사용할 수 없는 것은 아닙니다.
AntiVir MailGate 라는게 있습니다.
AntiVir MailGate for linux, freebsd, openbsd
http://www.hbedv.com/download/download.htm
sendmail은 물론 qmail까지 지원합니다.
qmail이 메일을 받으면 mailgate에 넘겨서 검사 후에 다시 qmail이 받는 형태로
처리를 합니다.
linux에서 설치는 avinstall.pl라는 인스톨러가 있으니 쉽게 가능합니다.
설정은 INSTALL.qmail을 살펴보기 바랍니다.
qmail을 두개 띄우고 이리저리 넘겨 받는 과정이 필요합니다.
Q3) 설정후 sendmail 실행시에 unknown configuration line "Xavmilter... 에러
-----------------------------------------------------------------------
/etc/rc.d/init.d/sendmail restart 에서
unknown configuration line "Xavmilter, S=inet:3333@localhost, F=R,
T=S:10m;R:10m;E:10m"
554 /etc/sendmail.cf: line 1217: readcf: unknown option name InputMailFilters
와 같은 에러가 발생했습니다.
A3) Sendmail이 Milter 기능을 포함하지 않고 컴파일되어 있습니다.
Milter API는 sendmail 8.10.x 이상이면 가능하나 컴파일할 때 제외(default로
컴파일하면 제외됨)된 걸로 판단됩니다.
레드햇 7.2 이상에서는 Sendmail Milter API를 쓸 수 있도록 컴파일되어 있습니다.
이전 배포판 버전이더라도 최근 업데이트된 sendmail rpm을 설치하면 해결됩니다.
레드햇을 사용하시면 다음 주소에서 받아서 설치하세요.
https://rhn.redhat.com/errata/RHSA-2003-120.html
위 rpm패키지는 sendmail 8.11.6입니다.
설치는 어떻게 하는지 아시죠?
rpm -Fvh sendmail-8.11.6-??.??.????.rpm
rpm -Fvh sendmail-cf-8.11.6-??.??.????.rpm
rpm -Fvh sendmail-devel-8.11.6-??.??.????.rpm
rpm -Fvh sendmail-doc-8.11.6-??.??.????.rpm
이래도 잘 안되면 직접 컴파일해야 합니다.
컴파일하게 되면 Build 전에 devtools/Site/site.config.m4 작성하고
설치 후에 sendmail.cf 만드는 과정들이 필요합니다.
Q4) AntiVir Milter실행시 can't initialize scan engine 에러가 발생
-----------------------------------------------------------------------
A4) 여러가지의 경우가 있습니다.
가장 먼저 /usr/lib/Antivir/antivir를 실행해보세요.
Antivir Milter는 메일 바이러스 검사를 위해 antivir를 호출을 하므로
antivir가 정상적으로 실행할 수 없는 환경이면 위의 에러를 발생하고 종료합니다.
1) /var/tmp, /tmp의 퍼미션이 1777(rwxrwxrwt)가 아닌 경우
chmod 1777 /var/tmp/ 와 같이 퍼미션을 변경할 수 있습니다.
2) 라이센트 파일(hbedv.key, avmgate.key)이 설치안되어 있거나
uucp 사용자가 읽을 수 없는 경우
이럴 때 직접 쉘에서 antivir실행하면 DEMO mode라고 나옵니다.
# antivir
AntiVir / Linux Version 2.0.8-1
Copyright (C) 1994-2003 by H+BEDV Datentechnik GmbH.
All rights reserved.
Loading /usr/lib/AntiVir/antivir.vdf ...
AntiVir is running in DEMO mode.
... 생략 ...
라이센스를 받지 않았다면
http://www.hbedv.com/private/
에서
받아 설치하세요. 퍼미션은 제 글을 읽어보면 됩니다.
3) /usr/lib/Antivir/antivir가 임의로 변경된 경우
antivir는 다른 백신프로그램처럼 자체 진단기능이 있습니다.
자신이 임의로 변경됐다고 판단되면
211 오류(Programm aborted, because the self check failed)를 발생하며
종료합니다.
이런경우는 드믈겠지만 Linux/OSF-8759 웜 바이러스 등에 걸린 경우
실행 파일이 변경되므로 저런 현상이 생길 수 있습니다.
4) 위의 3가지다 해당이 안되는 경우
/usr, /usr/lib, /var 등의 디렉토리의 퍼미션을 확인하세요.
Antivir Milter는 디폴트로 uucp:uucp 사용자:그룹으로 실행됩니다.
따라서 /usr 디렉토리가 만약 711(rwx--x--x)라면 실행할 수 없습니다.
755(rwxr-xr-x)로 변경해보세요.
Q5) AntiVir Milter실행시 chdir to "/var/spool/avmilter" failed - exiting!
에러 발생
-----------------------------------------------------------------------
A5) Antivir Milter는 스풀디렉토리의 소유자와 퍼미션을 검사합니다.
만약 700(rwx------)이 아니다면 위의 에러를 발생하며 종료합니다.
chown -R uucp:uucp /var/spool/avmilter
chmod -R 700 /var/spool/avmilter
로 변경하면 해결됩니다.
Q6) sendmail.cf 설정부분에서
Xavmilter, S=inet:3333@localhost, F=R, T=S:10m;R:10m;E:10m
O InputMailFilters=avmilter
를 sendmail.cf 내 어디에 위치해야 하나요?
-----------------------------------------------------------------------
A6) 위치는 상관없으나, 옵션 설정하는 부분이 있습니다.
그 설정 부분에 두는게 좋을 것 같습니다.
이를 테면
O AliasFile=/etc/aliases
와 같이 들어 있는 부분 근처에.
Q7) /var/log/messages에 쌓이는 로그를 다른쪽으로 돌리고 싶은데 가능하나요?
-----------------------------------------------------------------------
A7) Antivir Milter를 통해 남겨진 로그를 다른 곳으로 옮기는 설정은 없습니다.
(지금까지 확인한바로)
그러나 메일과는 무관하게 쉘상에서 antivir를 실행하여 남기는 로그는 가능합니다.
설정 파일인 /etc/antivir.conf 를 수정합니다.
LogTo /var/log/antivir.log
SyslogFacility local1
SyslogPriority debug
1번째줄 = /var/log/antvir.log에 로그가 남도록 합니다.
다음 2줄= messages에 로그가 남지 않도록 합니다. (임시적인 방법)
Antivir가 남기는 로그의 facility는 local1, priority는 debug로 변경했으므로
syslog.conf의 디폴트 설정이라면 messages에 남기지 않습니다.
syslog.conf 설정을 수정한 적이 있다면
local1.debug, local1.*, *.debug, *.* 등의 줄이 있는지 확인해봐야 합니다.
Q8) /var/spool/avmilter/rejected에 있는 df, vf는 무슨 의미인가요?
-----------------------------------------------------------------------
A8) rejected에 있다는 것은 바이러스나 메일 mime 타입에 문제가 있다고 Antivir가
판단을 하고 메일 송수신을 거부한 것을 말합니다.
df = 메일 내용이 있는 data file
vf = 메일내에 바이러스가 발견됐을 나타내는 file
df-ID와 vf-ID 쌍으로 있죠? xxxxx-xxxxxxxx가 같은 것이 동일 메일에 대한 것입니다.
antivir는 이런 형태로 거부가 될 때 /etc/avmilter.conf 설정에 따라 송신자나
수신자에 메일내에 바이러스가 발견됐음을 알림니다.
/var/spool/avmilter/rejected 에 쌓인 메일을 보시고 필요없는 메일이라면
rm -f [dv]f*
로 모두 지우세요.
Q9) /var/spool/avmilter/rejected/ 에 너무 많은 메일이 걸러집니다.
-----------------------------------------------------------------------
A9) avq 명령어(제 글에서는 /usr/lib/Anivir/avq에 설치했음)을 이용해서
큐를 확인할 수 있습니다.
필요없는 메일이라면 cron을 통해 특정시간마다 삭제하세요.
crontab -e
해서 다음과같이 넣으면 매일 새벽 0시 5 분에 rejected된 메일을 삭제합니다.
5 0 * * * rm -f /var/spool/avmilter/rejected/*
Q10) 바이러스 패턴 업데이트는 어떻게 하나요?
-----------------------------------------------------------------------
A10) 쉘상에서 직접한다면 다음과 같이 실행하면 됩니다.
# antivir --update
AntiVir / Linux Version 2.0.8-8
Copyright (C) 1994-2003 by H+BEDV Datentechnik GmbH.
All rights reserved.
checking for updates
06.21.00.35 <=> 06.21.00.35 [vdf, loaded]
06.21.00.01 <=> 06.21.00.01 [engine, running]
02.00.08.08 <=> 02.00.08.08 [program, running]
AntiVir is up-to-date
cron에 넣는 방법은 먼저 쓴 글에 있으니 찾아보세요.
Q11) 패턴 업데이트 중
sh: /tmp/antivir_20165_1640464374/download/antivir: 허가 거부됨 에러 발생
-----------------------------------------------------------------------
A11) /tmp 퍼미션이 정상이라면 저도 원인은 모르겠습니다.
임시로 수동 업데이트 하세요.
http://www.antivir.de/down/vdf/vdf.zip
를 받습니다.
파일을 풀면 (unzip vdf.zip) 파일 3개가 나올겁니다.
그중에 antivir.vdf 만 /usr/lib/Antivir 로 복사합니다. 퍼미션은 644로.
# chmod 644 antivir.vdf
# mv antivir /usr/lib/Antivir/
커피닉스 카페 최근 글
[11/06]
World News Digest:
[06/16]
[질문]SAN 스위치 브로드케이드 dcx8510-4 장비관련입니다.
[04/22]
Re: 영화속에 컴퓨터 이야기 ~스워드피쉬(2001)
[10/20]
Cross Compiler 깔
[07/14]
SSL АО
[04/26]
Re: 도스화면 원격조종 여부
[04/25]
도스화면 원격조종 여부
[10/30]
Cshell에서 난수 설정
[10/23]
공항철도주식회사 SE 구인 件
[01/26]
Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
[01/25]
wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
[01/11]
특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
[08/01]
DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
[05/16]
(주)후이즈 시스템엔지니어 (경력자) 모집
[02/15]
[AWS] Cloudfront edge 확인하기
N
e
w
! 최근에 등록한 페이지
KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
오픈캐스케이드 캐드 (OpenCASCADE CAD)
QCad for Windows --- GNU GPL (Free Software)
The Hello World Collection
IPMI를 활용한 리눅스 서버관리
DNS 설정 검사
nagiosgraph 설치 방법
Slony-I 설치 방법 (postgresql replication tool)
Qmail기반의 Anti spam 시스템 구축하기
clusterssh
[ 함께하는 사이트 ]
운영진 :
좋은진호(truefeel)
, 야수(yasu), 범냉이, sCag
2003년 8월 4일~