본문 바로가기
서버구축 (WEB,DB)

메일 시스템 Anti-virus 필터링 Dr.Web 솔루션 적용

by 날으는물고기 2024. 2. 6.

메일 시스템 Anti-virus 필터링 Dr.Web 솔루션 적용

Structure of Dr.Web for UNIX mail servers and its components

Dr.Web Anti-Virus for UNIX mail servers는 UNIX 기반 메일 서버를 위한 안티바이러스 솔루션이며, 이메일을 통한 바이러스, 스파이웨어, 애드웨어, 트로이 목마 등의 악성 코드로부터 사용자의 시스템을 보호하는 데 중점을 둡니다. 이 소프트웨어는 다양한 UNIX 기반 시스템에서 운영되며, 실시간으로 이메일 트래픽을 검사하여 악성 코드를 식별하고 차단합니다. Dr.Web은 그 효과적인 탐지 기술과 낮은 시스템 자원 사용으로 인해 많은 기업과 개인 사용자들 사이에서 인기를 얻고 있습니다.

 

주요 특징은 다음과 같습니다.

  • 실시간 검사: 이메일 메시지와 첨부 파일을 실시간으로 검사하여 바이러스 및 기타 악성 코드를 탐지하고 차단합니다.
  • 다양한 형식 지원: 다양한 이메일 메시지 형식과 첨부 파일 형식을 지원합니다.
  • 유연한 구성: 관리자가 시스템의 보안 요구 사항에 맞게 안티바이러스의 설정을 조정할 수 있습니다.
  • 업데이트: 자동 업데이트 기능을 통해 최신 바이러스 정의로 시스템을 지속적으로 보호합니다.
  • 로그 기록 및 통계: 검사 결과와 시스템 활동에 대한 상세한 로그 기록과 통계를 제공합니다.

이 솔루션은 메일 서버 보안을 강화하고, 이메일을 통해 전파될 수 있는 다양한 유형의 사이버 위협으로부터 기업의 네트워크를 보호하는 데 중요한 역할을 합니다. Dr.Web Anti-Virus for UNIX mail servers는 그 강력한 보호 기능과 시스템에 미치는 영향이 적다는 점에서 많은 조직에서 선호하는 선택지 중 하나입니다.

 

아래는 UNIX 기반 시스템에서의 메일 처리 및 필터링을 위한 Dr.Web® 솔루션(버전 6.0.2)에 대한 설명입니다. 다양한 조합의 모듈 및 플러그인을 설치하여 다양한 메일 전송 시스템과의 상호 작용을 통해 바이러스 및 스팸으로부터의 효과적인 메일 보호 및 메일 게이트웨이로 운영할 수 있습니다.

 

이 솔루션은 Linux, FreeBSD 및 Solaris x86을 위한 세 가지 주요 UNIX 기반 운영 체제에 대한 세 가지 변형으로 제공됩니다. 모든 솔루션은 거의 유사하며 주요한 차이점은 설치된 모듈 및 플러그인의 조합에 따라 나타납니다.

 

Dr.Web for UNIX 메일 서버는 다음과 같은 구성 요소를 포함합니다.

  1. Dr.Web Scanner: 지역 머신 및 공유 디렉터리에서 바이러스 감지 및 중화를 제공하는 콘솔 안티바이러스 스캐너.
  2. Dr.Web Daemon: 외부 안티바이러스 필터 역할을 수행하는 백그라운드.
  3. Dr.Web Monitor: 필요한 순서대로 다른 Dr.Web 모듈을 실행하고 종료하는 레지던트 구성 요소.
  4. Dr.Web Agent: Dr.Web 구성 요소를 구성하고 관리하며 통계를 수집하고 Dr.Web Enterprise Security Suite (Dr.Web ESS)와 통합하는 레지던트 구성 요소.

또한 다양한 메일 전송 시스템과의 통합을 위해 Dr.Web MailD, Dr.Web Console for UNIX 메일 서버 등의 구성 요소와 플러그인이 포함되어 있습니다. 매뉴얼은 제품 설치, 실행, Dr.Web Updater 및 Dr.Web Agent 사용, 콘솔 스캐너 및 백그라운드 온디맨드 스캐너 사용, Dr.Web Monitor 사용 및 구성에 대한 정보를 제공합니다.

시스템 요구 사항

  • 지원 운영 체제
    • Linux 배포판: Linux 배포판 호환성 요구 사항을 충족하는 시스템.
    • FreeBSD: 버전 6.x 이상, Intel x86 및 amd64 플랫폼.
    • Solaris: 버전 10, Intel x86 및 amd64 플랫폼.
  • 주의 사항
    • 사용 중인 플랫폼은 x86 프로세서 아키텍처와 완전히 호환되어야 하며, 32비트 또는 64비트 모드에서 작동해야 합니다. 64비트 시스템은 32비트 응용 프로그램을 지원해야 합니다.
    • FreeBSD 6.x에서 작동하는 제품은 Dr.Web ESS 10과 통합될 수 없습니다.
    • Debian/Ubuntu Linux 기반 시스템에서 32비트 응용 프로그램 지원을 활성화하려면 libc6-i386 라이브러리를 설치해야 합니다. ALT Linux 기반 시스템에서는 i586-glibc-core 라이브러리를 설치해야 합니다.
  • 설치 요구 사항
    • Dr.Web Daemon 및 안티바이러스 Dr.Web Engine 버전 6.0.2 이상을 설치하고 실행해야 합니다.
    • Dr.Web Updater를 위해 Perl 5.8.0 이상이 설치되어야 합니다.
    • Dr.Web for UNIX 메일 서버의 하드웨어 요구 사항은 호환 운영 체제의 명령 줄 인터페이스와 동일합니다.
    • 설치에는 190 메가바이트가 필요합니다.
  • GUI 설치 프로그램
    • Dr.Web for UNIX 메일 서버의 GUI 설치 프로그램에는 X Window System이 필요합니다.
    • 그래픽 모드에서 대화형 구성 스크립트를 실행하려면 xterm 또는 xvt 터미널 에뮬레이터가 필요합니다.

GUI를 통한 설치 단계

  1. 다음 명령어를 입력하세요.
    # drweb-mail-[제품명]_[버전번호]~[운영체제명]/install.sh
    • 설정 프로그램이 시작됩니다. 환영 화면에서 Next를 클릭하세요.
  2. Install Type 화면에서 설치 유형을 선택합니다.
    • Dr.Web for Mail Gateways의 경우 일반적인 구성 또는 특정 MTA를 선택할 수 있습니다(전체 설치).
    • 사용자 정의 구성을 선택한 경우 Select Software 화면에서 필요한 구성 요소를 선택합니다.
  3. Confirm 화면에서 설치할 구성 요소 목록을 확인하고 Next를 클릭하여 선택을 확인하거나 변경하려면 Back을 클릭합니다.
  4. 사용자 라이선스 동의서를 검토하고 수락해야 합니다. 필요한 경우 언어 목록에서 선호하는 언어를 선택하세요.
  5. 라이선스 동의서를 수락한 후 설치가 시작됩니다. Installing 화면에서 설치 과정을 실시간으로 확인할 수 있습니다. 설치 보고서는 drweb-mail-[제품명]_[버전번호]~[운영체제명] 디렉토리의 install.log 로그 파일에도 기록됩니다. 만약 "Run interactive post-install script"를 선택한 경우, 구성 요소 설치가 완료되면 Dr.Web for UNIX 메일 서버의 기본 구성을 위한 대화형 후 설치 스크립트가 초기화됩니다.
  6. Finish 화면에서 Close를 클릭하여 설치를 종료합니다.

이로써 GUI를 사용하여 Dr.Web을 설치하는 과정이 완료되었습니다.

패키지 파일 위치

Dr.Web for UNIX 메일 서버 솔루션은 기본 %bin_dir, %etc_dir 및 %var_dir 디렉토리에 설치됩니다. OS 독립적인 디렉토리 트리는 다음 디렉토리에 생성됩니다.

  • %bin_dir: Dr.Web for UNIX 메일 서버 및 Dr.Web Updater (perl 스크립트 update.pl)의 실행 모듈이 있는 디렉토리.
  • %bin_dir/doc/: 제품에 대한 문서. 모든 문서는 러시아어와 영어 언어로 제공되며 KOI8-R 및 UTF-8 텍스트 파일로 표시됩니다.
  • %bin_dir/lib/: Dr.Web for UNIX 메일 서버 구성 요소 작동을 지원하는 다양한 서비스 라이브러리 및 지원 파일이 있는 디렉토리.
    예를 들면: ru_scanner.dwl - Dr.Web Scanner 언어 리소스 파일.
  • %bin_dir/scripts/, %bin_dir/maild/scripts/: 추가 스크립트, Dr.Web for UNIX 메일 서버 자동 구성 스크립트, 이전 Dr.Web 버전에서 구성을 전송하는 마이그레이션 스크립트가 있는 디렉토리.
  • %bin_dir/web/: Webmin에 연결하는 Dr.Web for UNIX 메일 서버 웹 인터페이스 모듈.
  • %etc_dir/: Dr.Web for UNIX 메일 서버 설정 및 구동 파일이 있는 디렉토리. 데몬 모드에서 작동하는 구성 요소의 시작을 관리합니다.
  • %etc_dir/agent/: Dr.Web Agent의 추가 구성 파일이 있는 디렉토리.
  • %etc_dir/monitor/: Dr.Web Monitor의 추가 구성 파일이 있는 디렉토리.
  • %etc_dir/maild/templates/: 악성 개체가 이메일 메시지에서 감지되거나 Dr.Web Daemon 또는 해당 모듈의 작동 중에 오류가 발생할 때 생성되고 수신자에게 전송되는 알림 템플릿이 위치한 디렉토리.
  • %var_dir/bases/: 바이러스 데이터베이스 (*.vdb 파일)가 있는 디렉토리.
  • %var_dir/infected/: 감염 또는 의심스러운 파일을 격리하는 역할을 하는 침해 피해 폴더. Dr.Web for UNIX 메일 서버 설정에서 해당 작업이 지정된 경우 사용됩니다.
  • %var_dir/lib/: 로드 가능한 라이브러리로 구현된 백신 엔진 (drweb32.dll).

※ 활성 파일의 디렉토리는 Dr.Web for UNIX 메일 서버 설치 방법에 따라 다릅니다.

  • UNIX 시스템용 범용 패키지를 사용하여 설치
    • 파일은 %etc_dir 디렉토리에 저장되며 다음과 같이 명명됩니다: drwebd.enable, drweb-monitor.enable.
  • 네이티브 DEB 패키지를 사용하여 설치
    • 파일은 /etc/defaults 디렉토리에 저장되며 다음과 같이 명명됩니다: drwebd, drweb-monitor.
  • 네이티브 RPM 패키지를 사용하여 설치
    • 파일은 /etc/sysconfig 디렉토리에 저장되며 다음과 같이 명명됩니다: drwebd.enable, drweb-monitor.enable.

구성 파일의 일반 형식

모든 Dr.Web for UNIX 메일 서버 설정은 구성 파일에 저장되어 있으며, 이 파일을 사용하여 모든 스위트 구성 요소를 설정할 수 있습니다. 구성 파일은 텍스트 파일이므로 텍스트 편집기에서 편집할 수 있습니다. 다음과 같은 형식을 가지고 있습니다.

--- 파일의 시작 ---

[섹션 1 이름]
Parameter1 = value1, ..., valueK
...
ParameterM = value1, ..., valueK

[섹션 X 이름]
Parameter1 = value1, ..., valueK
...
ParameterY = value1, ..., valueK

--- 파일의 끝 ---

구성 파일은 다음 규칙에 따라 형성됩니다.

  • ';' 또는 '#' 기호는 주석의 시작을 나타냅니다. 이러한 기호 다음에 오는 텍스트는 Dr.Web for UNIX 메일 서버 모듈이 파일을 읽을 때 무시됩니다.
  • 파일 내용은 명명된 섹션의 집합으로 나눠집니다. 가능한 섹션 이름은 하드코딩되어 있으며 변경할 수 없습니다. 섹션 이름은 대괄호 안에 지정됩니다.
  • 각 파일 섹션에는 의미별로 그룹화된 구성 매개변수가 포함됩니다.
  • 한 줄은 하나의 매개변수에 대한 값 (또는 값)만 포함합니다.
  • 매개변수 값 설정의 일반 형식 ( '='로 둘러싼 공백은 무시됨)은 다음과 같습니다.
    <Parameter 이름> = <값>
  • 매개변수 이름은 하드코딩되어 있으며 변경할 수 없습니다.
  • 모든 섹션 및 매개변수의 이름은 대소문자를 구분하지 않습니다.
  • 파일 내 섹션의 순서 및 섹션 내 매개변수의 순서는 중요하지 않습니다.
  • 파일 내 매개변수 값은 따옴표로 둘러싸일 수 있습니다 (값에 공백이 포함된 경우 반드시 따옴표로 둘러싸여야 함).
  • 일부 매개변수는 여러 값을 가질 수 있습니다. 이 경우 매개변수 값은 쉼표로 구분되거나 각 매개변수 값이 구성 파일의 다른 줄에 개별적으로 설정됩니다. 매개변수 값이 쉼표로 구분되는 경우 쉼표와 값 사이의 공백은 무시됩니다. 값에 공백이 포함된 경우 전체 값은 따옴표로 둘러싸여야 합니다.

파라미터 설명 규칙

각 매개변수는 다음과 같이 설명됩니다.

[메일 처리 규칙의 상태]

ParameterName = {Parameter type | Possible values}

설명

{여러 값이 가능한지 여부}

{특별한 참고사항}

{중요한 참고사항}

기본값:

ParameterName = {값 | 없음}

상태는 다음 아이콘 중 하나로 표시될 수 있습니다.

  • in_rule: 매개변수는 Mail Processing Rules의 SETTINGS 부분에서 사용할 수 있습니다. 매개변수는 이메일 메시지 처리 중에 값을 일시적으로 변경하는 데 사용되며 이는 규칙의 조건부 부분에 해당합니다.
  • in_rule_aggr: 매개변수는 Mail Processing Rules에서 사용될 때 추가적입니다. 다시 말하면, 이메일 메시지에 대해 둘 이상의 규칙이 참이면 매개변수 값은 모든 규칙의 값을 결합하여 생성됩니다.
  • in_rule_clon: 매개변수는 Mail Processing Rules에서 사용될 때 이메일 메시지의 복제를 지원합니다. 즉, 메시지에 여러 수신자가 있고 서로 다른 수신자에 대해 서로 다른 규칙의 매개변수 값이 있는 경우 메시지가 복제됩니다. 매개변수 값은 각 복사본에 대해 해당하는 규칙에 의해 별도로 정의됩니다.

매개변수가 정의되지 않았을 때 모듈의 동작 방식

  • 매개변수 값이 잘못된 경우 해당하는 Dr.Web for UNIX 메일 서버 모듈은 오류 메시지를 출력하고 종료합니다.
  • 구성 파일을로드할 때 알려지지 않은 매개변수가 발견되면 Dr.Web for UNIX 메일 서버는 해당 메시지를 로그에 기록하고 정상 모드에서 작동을 계속합니다.

참고

  • 일부 매개변수는 정규 표현식을 값으로 사용할 수 있습니다. (해당 매개변수의 설명에 명시되어 있음)
  • 기본적으로 Perl의 정규 표현식 구문을 사용합니다. 정규 표현식에 대한 정보는 Wikipedia 웹 사이트의 정규 표현식 문서 등을 참조하십시오.

로깅 (Logging)

모든 Dr.Web for UNIX 메일 서버 구성 요소는 자체 작업에 대한 로그를 유지합니다. 각 구성 요소에 대해 로그 모드를 설정할 수 있으며 (정보를 파일이나 syslog에 출력), 로그의 상세 수준을 선택할 수 있습니다. 예를 들어 로그의 상세 수준을 높게 설정할 수 있습니다(Debug 옵션) 또는 로깅을 비활성화할 수 있습니다(Quiet 옵션). 상세 수준을 설정하려면 LogLevel 매개변수를 사용합니다. 특정 플러그인에 대한 추가 매개변수도 지정하여 해당 플러그인의 로깅 상세 수준을 구성할 수 있습니다. (예: IPC 하위 시스템 운영 기록을 유지하는 IPCLevel 매개변수)

 

로그 상세 수준

허용되는 경우 Dr.Web for UNIX 메일 서버 구성 요소에 대해 다음 로그 상세 수준 중 하나를 설정할 수 있습니다.

  • Quiet: 로깅이 비활성화됩니다.
  • Error: 구성 요소는 오직 치명적인 오류만 기록합니다.
  • Alert: 구성 요소는 오류 및 중요한 경고만 기록합니다.
  • Warning: 구성 요소는 오류 및 모든 경고를 기록합니다.
  • Info: 구성 요소는 오류, 경고 및 정보 메시지를 기록합니다.
  • Notice: 이 모드는 Info 모드와 유사하지만 구성 요소는 또한 알림을 기록합니다.
  • Debug: 이 모드는 Notice 모드와 유사하지만 구성 요소는 또한 디버그 정보를 기록합니다.
  • Verbose: 구성 요소는 자체 활동에 대한 모든 세부 정보를 기록합니다(이 모드는 권장되지 않습니다. 많은 양의 로그 데이터가 프로그램과 syslog 서비스의 성능을 상당히 감소시킬 수 있습니다).

주의: 각 Dr.Web for UNIX 메일 서버 구성 요소마다 허용되는 로그 상세 수준의 다른 집합이 있을 수 있습니다. 사용 가능한 상세 수준에 대한 정보는 해당 매개변수에 대한 설명을 참조하십시오.

 

syslog으로의 로깅

syslog에 정보를 기록하도록 선택하는 경우 로그 상세 수준과 메시지 소스 레이블을 지정해야 합니다. 레이블은 syslog 서비스가 메시지를 다른 로그로 내부 라우팅하는 데 사용할 수 있습니다. 라우팅 규칙은 syslog 데몬 구성 파일에 구성되어 있으며, 다음 매개변수 값을 지정하여 syslog 메시지에 플래그를 설정합니다.

  • SyslogFacility: syslog 메시지의 레이블을 지정합니다. 다음 중 하나의 매개변수 값을 지정할 수 있습니다.
    • Daemon: 레지던트 시스템 서비스 (데몬) 메시지의 레이블.
    • Local0, ..., Local7: 사용자 응용 프로그램 메시지의 레이블 (Local0에서 Local7까지 8개의 값이 Local0에서 Local7로 예약됨).
    • Kern: 시스템 커널 메시지의 레이블.
    • User: 사용자 프로세스 메시지의 레이블.
    • Mail: 메일 시스템 메시지의 레이블.

예시: 구성 요소 작동의 로깅이 다음 매개변수 값에 따라 정의된다고 가정해 봅시다: LogLevel = Debug, SyslogPriority = Error. syslog으로 로그를 기록하는 모드가 선택된 경우 로그 상세 수준은 Error이며 (즉 오류에 관한 기록만 기록) Debug 값은 무시됩니다.

허용된 동작 (Allowed Actions)

Dr.Web for UNIX 메일 서버 구성 요소를 구성하여 발견된 악성, 의심스러운 또는 잠재적으로 위험한 객체에 대해 지정된 동작을 적용할 수 있습니다.

 

Dr.Web MailD 및 해당 플러그인을 구성할 때 각 매개변수에 대해 주 동작 및 1~3개의 추가 동작을 지정할 수 있습니다. 주 동작은 목록에서 첫 번째에 위치합니다. Dr.Web Scanner를 구성할 때는 하나의 동작만 지정할 수 있습니다. 각 매개변수에는 다양한 사용 가능한 동작이 있으며 각 매개변수 설명에 나열되어 있습니다.

 

다음과 같은 동작을 사용할 수 있습니다.

  • Cure (치료): 감염된 객체를 치료하려고 시도합니다.
  • Remove (삭제): 감염된 객체를 삭제합니다.
  • Discard (거부): 발신자에게 알리지 않고 이메일 메시지를 거부하고 메시지를 삭제합니다.
  • Continue (계속): 문제를 무시하고 이메일 메시지 처리를 계속합니다.
  • Pass (통과): 이메일 메시지를 수신자에게 추가 처리없이 전달합니다.
  • Reject (거부): 이메일 메시지를 거부하고 삭제하며 발신자에게 알립니다.
  • Tempfail (임시 실패): 이메일 메시지를 일시적으로 전달할 수 없다는 알림을 발신자에게 보내고 메시지를 삭제합니다.

다음과 같은 추가 동작을 사용할 수 있습니다.

  • Quarantine (격리): 이메일 메시지를 격리 폴더로 이동시킵니다.
  • Redirect [(주소[|주소|...])]: 이메일 메시지를 괄호 안에 지정된 주소로 리디렉션합니다. 주소가 지정되지 않으면 메시지는 Dr.Web MailD 구성 파일 [MailD] 섹션의 RedirectMail 매개변수 값에 따라 리디렉션됩니다. 여러 주소를 "|" 문자로 구분하여 지정할 수 있습니다.
  • Notify (알림): 감지된 위협에 대한 보고서를 전송하며 메시지 처리는 중지되지 않습니다.
  • Score (점수): 메시지 카운터에 SCORE를 추가합니다. SCORE 값은 음수일 수 있습니다.
  • Add-header (HEADER): 이메일 메시지에 다음 유형의 헤더 [NAME:]BODY를 추가합니다. 여기서 NAME은 헤더의 이름이며 (기본 이름은 X-DrWeb-MailD), BODY는 헤더의 텍스트입니다.

주의: 언어 파일(.lng)에서 문자열을 사용할 수 있습니다. 삽입할 문자열은 번호에 따라 정의되며 다음과 같습니다.

add-header (X-Added-Header:$3)

이 경우 X-Added-Header 헤더가 사용된 언어 파일의 3="" 문자열에서 가져온 값과 함께 추가됩니다.

 

세미콜론(;), 괄호(()), 및 세미콜론(|) 문자를 사용하는 경우 헤더를 잘못 해석하지 않도록 이스케이프 처리해야 합니다.

  • 헤더에서 구두점 문자를 이스케이프하려면 백슬래시 3개(""")를 사용합니다.
    예) EmptyFrom = continue, add-header (header:Empty header\\; spam)
  • 괄호를 이스케이프하려면 백슬래시(""")를 사용합니다.
    예) ProcessingErrors = tempfail, add-header(\(header:header\))
  • 전체 헤더를 이스케이프하려면 큰따옴표("add-header (BODY)")를 사용합니다.
    예) ProcessingErrors = tempfail, "add-header(header:(spam))"
  • 이중 인용 부호를 이스케이프하려면 백슬래시 3개(""")를 사용합니다.
    예) EmptyFrom = continue, "add-header(header[X-Header]:new\\\"header\\\")" EmptyFrom = continue, add-header(header\[X-Header\]:new\\\"header\\\")

Dr.Web Scanner를 구성할 때 다음 동작을 사용할 수 있습니다.

  • Move (이동): 파일을 Quarantine 폴더로 이동시킵니다.
  • Delete (삭제): 감염된 파일을 삭제합니다.
  • Rename (이름 바꾸기): 파일 이름을 변경합니다.
  • Ignore (무시): 파일을 무시합니다.
  • Report (보고): 파일에 대한 정보만 기록합니다.
  • Cure (치료): 감염된 객체를 치료하려고 시도합니다.

주의: 동작 이름은 대소문자를 구분하지 않습니다. (Report 값은 report와 동일합니다)

728x90

댓글