postfix-2.8.0-RC3
postfix-2.9-20110116 RPM SOURCE
postfix-2.8-20110105 rpm source
Postfix Randomizing Outgoing IP Using TCP_TABLE And Perl
This time i’ll show you how to randomize your smtp outbound’s IP addresses. This can be done via transport map. But, since ordinary Postfix lookup tables store information as (key, value) pairs. it will provide static value only. we need someting that can manipulate the value (right hand side) of a lookup table. In order to answer random transport value.
first come to mind was tcp_tables, tcp_tables lookup table gives some flexibility for us to execute our tiny perl script that will randomizing transport. that’s the basic idea.
Ok, here’s the first part, create perl script call random.pl, anyway this script only provide answer in “catch-all” manner. so it will randomized, all outgoing mail.
# cd /etc/postfix # vi random.pl
#!/usr/bin/perl -w # author: Hari Hendaryanto <hari.h -at- csmcom.com> use strict; use warnings; use Sys::Syslog qw(:DEFAULT setlogsock); # # our transports array, we will define this in master.cf as transport services # our @array = ( 'rotate1:', 'rotate2:', 'rotate3:', 'rotate4:', 'rotate5:' ); # # Initalize and open syslog. # openlog('postfix/randomizer','pid','mail'); # # Autoflush standard output. # select STDOUT; $|++; while (<>) { chomp; # randomizing transports array my $random_smtp = int(rand(scalar(@array))); if (/^get\s(.+)$/i) { print "200 $array[$random_smtp]\n"; syslog("info","Using: %s Transport Service", $random_smtp); next; } print "200 smtp:"; }
Postfix header_checks using tcp_table and checkdbl.pl script
Postfix implements the header_checks as built-in content inspection classes while receiving mail. Usually the best performance is obtained with pcre (Perl Compatible Regular Expression) tables or slower regexp (POSIX regular expressions). Googling on the net, i’ve found tiny perl script that can queries to dbl.spamhaus.org, multi.surbl.org, black.uribl.com. ( Sahil Tandon wrote it, based on João Gouveia perl script, i think..)
first download the script
# cd /etc/postfix # wget http://people.freebsd.org/~sahil/scripts/checkdbl.pl.txt
Rename and make it executable
# mv checkdbl.pl.txt checkdbl.pl # chmod 755 checkdbl.pl
Edit master.cf add this two lines
127.0.0.1:2526 inet n n n - 0 spawn user=nobody argv=/etc/postfix/checkdbl.pl
Make preliminary test, to ensure checkdb.pl sih really spawned and answering our queries
# postfix reload # telnet 127.0.0.1 2526
amavisd-new with AVG 8.5 free Edition for Linux
I’m evaluating the AVG 8.5 free Edition for Linux on Centos 5. It’s fairly easy step to setup. Just download the installer, install, update virus definition database.tweak some avgtcpd’s config and voila!! it’s running smoothly. Here’s the step everyone might want to know.
Download avg 8.5 installer
$ wget -t0 -c http://download.avgfree.com/filedir/inst/avg85flx-r863-a3205.i386.rpm
Install
$ sudo rpm -ivh avg85flx-r863-a3205.i386.rpm
start the service (in this case i was using init.d script)
$ sudo /etc/init.d/avgd start
Verify if avgtcpd is running
$ sudo netstat -pltn | grep avgtcpd tcp 0 0 127.0.0.1:54321 0.0.0.0:* LISTEN 10839/avgtcpd tcp 0 0 127.0.0.1:54322 0.0.0.0:* LISTEN 10839/avgtcpd
Update virus definition database
$ sudo avgupdate