AVG Antivirus For Linux/FreeBSD Plus Sendmail Mail Server

Channel: Linux
Abstract: ..) 1 - DROP means message will be deleted 2 - BOUNCE means message will be delivered to adress defined by parameter Default.tcpd.rules.*.bounce_addr
AVG Antivirus For Linux/FreeBSD Plus Sendmail Mail Server

This document describes how to deploy AVG Antivirus for Linux/FreeBSD to the Sendmail mail server. It is usable for AVG version 8.5, 10 and 2012.

 

Requirements

1) Linux or FreeBSD x86 or x86_64 with x32 compatible libraries. (See /opt/avg/av/doc/README.)
2) Configured Postfix Mail server.
3) Correct HW configuration for AVG:

  • CPU: i686 or amd64 on 800 MHz
  • Mem: 512 MB, 1GB is recommended
  • HDD: 500 MB of free space

 

Installation

1) Download correct package from AVG site:

Trial: http://www.avg.com/cz-cs/download.prd-trialb
Free: http://free.avg.com/cz-cs/stahnout.tpl-stdfull.prd-alf

NOTE: Trial/full package contains Antispam module. Later migration from free to full is possible.

2) Install package according to your distribution. Examples:

Installation from RPM (Linux only):

# rpm -i avg2012lms-r{release}-a{vdb version}.{architecture}.rpm

Installation from .deb (Linux only):

# dpkg -i avg2012lms-r{release}-a{vdb version}.{architecture}.deb

Installation from sh (Linux only):

# chmod +x avg2012lms-r{release}-a{vdb version}.{architecture}.sh
# ./avg2012lms-r{release}-a{vdb version}.{architecture}.sh

Installation from .tar.gz:

# tar xzvf avg2012{edition}-r{release}-a{vdb version}.{architecture}.tar.gz
# cd avg2012{edition}-r{release}-a{vdb version}.{architecture}
# ./install.sh

 

Registration

You can register AVG for Linux/FreeBSD during installation from sh or tar.gz, or later using command:

# avgctl --register 'your license number'

NOTE: Free version is registered automatically during instalation, trial license is available at /opt/avg/av/doc/README.

 

Start Of AVG Anti-Virus

It is possible to use init scripts or avgctl utility:

Linux:

# /etc/init.d/avgd start

FreeBSD:

# /usr/local/etc/rc.d/avgd.sh start

Both systems.

# avgctl --start

 

Integration AVG To Sendmail

There are two options:

  • A) Edit and generate configuration - "mc file"
  • B) Edit configuration directly - "cf file".

First choice is "cleanest", but both options are sufficient for configuration.

 

A) Create configuration via mc file

Locate sendmail mc file (usually /etc/mail/sendmail.mc).

Add this line to the end of mc file:

INPUT_MAIL_FILTER(`avgtcpd', `S=inet:[email protected], F=T, T=S:1m;R:1m;E:10m')

Re-generate cf file. (It depends to your system.) For example:

# make -C /etc/mail

# cd /etc/mail
# make sendmail.cf

# cd /etc/mail
# m4 /usr/share/sendmail.cf/m4/cf.m4 sendmail.mc >sendmail.cf

 

B) Create configuration via cf file

Locate sendmail cf file (usually /etc/mail/sendmail.cf).

Add filter O InputMailFilters=avgtcpd below section Input mail filters:

# Input mail filters
O InputMailFilters=avgtcpd

Add filter definitions Xavgtcpd, S=inet:[email protected], F=T, T=S:1m;R:1m;E:10m below section MAIL FILTER DEFINITIONS:

######################################################################
######################################################################
#####
#####                   MAIL FILTER DEFINITIONS
#####
######################################################################
######################################################################
Xavgtcpd, S=inet:[email protected], F=T, T=S:1m;R:1m;E:10m

Or just add this lines to the end of your cf file:

# AVG Input mail filter
O InputMailFilters=avgtcpd
# AVG Mail filter definitions
Xavgtcpd, S=inet:[email protected], F=T, T=S:1m;R:1m;E:10m

Note: Socket inet:[email protected] is defined later in AVG configuration.

 

AVG Service Configuration

If you need to change some specific parameters use utility avgcfgctl.

For example if you need write configuration use:

avgcfgctl -w 'parameter=value'

For more details see man page of avgcfgctl.

 

Specific configuration for Sendmail

It is needed to change some default parameters:

Disable smtp functions.

Default.tcpd.smtp.enabled=false

Enable and define milter interface:

Default.tcpd.milter.enabled=true

Default.tcpd.milter.socket=inet:[email protected]

This item defines socket for communication witth AVG. (For more details see integration section.)

Default.tcpd.milter.verbosity=0

This item is optional, sets milter logging verbosity. (0 - disabled, 6 - highest severity).

 

Other useful AVG parameters

For settings:

Default.setup.features.tcpd=true

This item enables/disables whole E-Mail functions.

Default.tcpd.spam.enabled=true

Enable/disable Anti-spam function.

For scanning:

Tcpd.scan.Options.ArchiveLevel=256

It defines the level of processing archive files.Values:

  • 0 - no archives, macros, cookies, real-time compression will be scanned, including MIME
  • 32 - only macros, cookies, real-time compression will be scanned
  • 256 - archives, macros, cookies will be scanned

Tcpd.scan.Options.DetectCookies=false

This enables/disables detection of cookies.

Tcpd.scan.Options.DetectPup2=false
Tcpd.scan.Options.DetectPup=true

This enables/disables detection of potentially unwanted programs.

Tcpd.scan.Options.UseHeuristics=true

Use heuristic during scan.

Tcpd.scan.Options.MaxFileSize=268435456

This item defines maximal size of extracted archive.

Tcpd.scan.Options.MaxNumberOfFiles=50000

This item defines maximal count of extracted files.

Tcpd.scan.Options.MaxRecursionDepth=40

Maximal level of recursion for archive.

Tcpd.scan.mail.strip.alldoc=false
Tcpd.scan.mail.strip.alldoclist=|DO?|XL?|VBX|RTF|PP?|POT|MDA|MDB|XML|DOC?|DOT?|XLS?|XLT?|XLAM|PPT?|POT?|PPS?|SLD?|PPAM|THMX|PDF|
Tcpd.scan.mail.strip.allexe=false
Tcpd.scan.mail.strip.allexelist=|COM|DRV|EXE|OV?|PGM|SYS|BIN|CMD|DEV|386|SMM|VXD|DLL|OCX|BOO|SCR|ESL|CLA|CLASS|BAT|VBS|VBE|WSH|HTA|CHM|INI|HTT|INF|JS|JSE|HLP|SHS|PRC|PDB|PIF|PHP|ASP|LNK|PL|CPL|WMF|
Tcpd.scan.mail.strip.enable=false
Tcpd.scan.mail.strip.list=

Enable detection of defined attachments.

For basic Anti-spam configuration:

Default.tcpd.spam.header.enabled=true

This item adds "AVG Anti-spam header" to mail.

Default.tcpd.spam.phish_subj_prefix=[PHISHING]

This item adds prefix to subject - mail with phishing.

Default.tcpd.spam.spamscore_level=90

This item sets the score for Spam identification (less means more spam).

Default.tcpd.spam.subj_prefix=[SPAM]

This item adds prefix to subject - mail with spam.

Other actions:

Default.tcpd.parsing.mime_certification_enabled=false

It enables/disables AVG certification in body of E-mail.

Default.tcpd.rules.virus.action=0
Default.tcpd.rules.phishing.action=0
Default.tcpd.rules.spam.action=0

This items defines action for each detected message. Values:

  • 0 - PASS means message will be only certified (header, subject, body,..)
  • 1 - DROP means message will be deleted
  • 2 - BOUNCE means message will be delivered to adress defined by parameter Default.tcpd.rules.*.bounce_addr

Default.tcpd.rules.virus.bounce_addr=
Default.tcpd.rules.phishing.bounce_addr=
Default.tcpd.rules.spam.bounce_addr=

There is defined adress for BOUNCE action.

Default.tcpd.scan.header.enabled=true

This parameter adds "AVG Anti-virus header" to mail.

Default.tcpd.scan.subj_prefix=[VIRUS]

This item add prefix to subject - mail with virus.

NOTE: For other parameters see avgtcpd and avgspamd man page! After configuration restart all related services (AVG and Sendmail).

Ref From: howtoforge

Related articles