Postfix垃圾邮件过滤器使用Ubuntu Dapper,MailScanner,SpamAssassin,Razor,Pyzor,DCC和ClamAV

Postfix垃圾邮件过滤器使用Ubuntu Dapper,MailScanner,SpamAssassin,Razor,Pyzor,DCC和ClamAV

介绍

这是一个类似版本的HOWTO,可以在这里找到: http : //www200.pair.com/mecham/spam/spamfilter20050628.html 。 如果您正在考虑这一点,那么假设您对电子邮件服务器,DNS,TCP / IP,防火墙和Linux一般有一定的经验。

1设置Ubuntu服务器

有关设置Ubuntu服务器的详细信息,请参阅已在线的文档。 HowToForge有几个非常详细的HowTo。 然而,这里概述了几个安装配置,在设置可能与其他操作系统不同的服务器时,应该考虑这些。

NOTE: Ubuntu is installed as a setuid system by default. What that means is that the root account is disabled and you have to run everything with a 'sudo' in front of it to run it as root. The way around this is to run 'sudo su -' and you will no longer have to type 'sudo' in front of the command because you are in a bash session as root. For the rest of this document it is assumed that you have done this and are running a bash session as root so no sudo commands will be given. Moral of the story is, when you log into Ubuntu via SSH or console, remember to run 'sudo su -' before you start editing system files, moving/making directories or installing/uninstalling software and services.

1.1分区

以这种方式分区驱动器不是一个要求,但如果/ var目录中出现问题,则会使您的服务器无法正常运行。 此外,以这种方式分区驱动器将允许您使用MailScannerMRTG创建一些额外的图形,可以分别查看/ var/ var / log/ var / spool 。 MailScannerMRTG不会检查目录上的驱动器空间,它只能按分区计算大小。

Example of my partition table:
/boot		50MB		Boot Partition		EXT3 (PRIMARY)
Swap		2GB		Swap Partition (Size depends on your Memory, double your memory should be fine) (PRIMARY)
/		2GB		Root Partition		EXT3 (LOGICAL)
/var		1GB		Variable Data partition	EXT3 (LOGICAL)
/var/log	3GB		Variable Data partition	EXT3 (LOGICAL)
/var/spool	2GB		Variable Data partition Spool	EXT3 (LOGICAL)
/usr		4GB		User installed programs		EXT3 (LOGICAL)
/usr/local	2GB		User installed programs		EXT3 (LOGICAL)
/home		ANY		Home Directories (Good place to put any extra space, you can repartition if you run out of space and use this.)	EXT3 (LOGICAL)

1.2验证网络设置

我们需要确保系统设置有效的静态IP,正确的DNS服务器位于/etc/resolv.conf中 ,您的服务器在/ etc / hosts文件中标识。

vi /etc/network/interfaces

网络接口文件应如下所示:

auto lo eth0
iface lo inet loopback
# The primary network interface
iface eth0 inet static
        address  192.168.1.100
        netmask  255.255.255.0
        network  192.168.1.0
        broadcast 192.168.1.255
        gateway  192.168.1.1

重新启动网络服务以使这些更改生效:

/etc/init.d/networking restart

编辑resolv.conf文件以添加DNS服务器:

vi /etc/resolv.conf

确保你的域名是在resolv.conf的顶部,它应该看起来像这样:

search example.com
nameserver 192.168.0.1
nameserver 192.168.0.2

vi /etc/hosts

文件的顶部应该是这样的:

127.0.0.1 localhost.localdomain localhost
192.168.0.100 sfp.example.com sfp

既然我们在这里,你可以添加你想要我们的垃圾邮件过滤器知道的任何其他主机。 在这里添加任何内部邮件服务器。 只需将任何其他条目附加到列表的底部。

1.3 APT和其他调整

需要设置Apt以在宇宙和多元存储库中进行搜索。 备份您当前的/etc/apt/sources.list

cp /etc/apt/sources.list /etc/apt/sources.list.default

将其替换为以下sources.list文件:

vi /etc/apt/sources.list

deb http://us.archive.ubuntu.com/ubuntu dapper main restricted
deb-src http://us.archive.ubuntu.com/ubuntu dapper main restricted
deb http://us.archive.ubuntu.com/ubuntu dapper-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu dapper-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu dapper universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu dapper universe multiverse
deb http://security.ubuntu.com/ubuntu dapper-security main restricted
deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted
deb http://security.ubuntu.com/ubuntu dapper-security universe multiverse
deb-src http://security.ubuntu.com/ubuntu dapper-security universe multiverse

我们需要更新/刷新apt缓存并安装一些软件。 要更新缓存运行:

apt-get update

注意:这是将内核映像更改为正确的一个好时机,很可能需要“linux-image-i686”。 如果你不知道这是什么意思,请查看。 运行apt-get升级 ,并花一点时间解决任何可能遇到的错误或问题。 我们想要消除将来可能引起问题的任何东西。 一旦一切都准备好并运行一个快速的dmesg |,请记住重新启动 少了 ,可以走很长的路。

apt-get install ssh

一旦安装ssh,您应该通过ssh使用PuTTY从您的linux或Windows桌面连接到服务器。 这样可以更容易地获得其余的功能,因为您将能够从桌面复制/粘贴到终端上。 所以去吧,ssh这只小狗。

我通常只需将BIOS时钟设置为本地时间,然后运行以下操作来同步时钟。

apt-get install ntpdate

hwclock --systohc

现在我们安装大部分我们需要的东西。 我将列表分成4个APT安装运行。 5-15安装一次似乎谨慎,由你决定:

apt-get install libc6-dev dpkg-dev db4.3-util libdb4.3-dev vim lynx bzip2 unzip perl-doc libwww-perl ntp-simple

apt-get install zlib1g-dev zip libdbi-perl libconvert-binhex-perl gcc make autoconf automake libtool libmail-spf-query-perl rblcheck libnet-ident-perl

apt-get install flex bison libcompress-zlib-perl pax libberkeleydb-perl ncftp unzoo arj lzop nomarch arc zoo

apt-get install postfix postfix-pcre postfix-mysql postfix-ldap cabextract lha unrar razor pyzor spamassassin

当Postfix的Debconf出现时,请选择NO CONFIGURATION。

安装unarj:

wget http://archive.ubuntu.com/ubuntu/pool/universe/a/arj/unarj_3.10.21-2_all.deb

dpkg -i unarj_3.10.21-2_all.deb

现在我们还需要删除一些程序,希望您不需要PCMCIA或打印机支持。 该服务器也不需要拨号支持。 您不一定会安装所有这些程序。

卸载以下软件(全部一行):

apt-get remove ipchains lpr nfs-common portmap pidentd pcmcia-cs pcmciautils pppoe pppoeconf ppp pppconfig uw-imapd qpopper mailagent

1.6清理服务

即使卸载了后台程序,某些服务也可能仍然停留。 首先我们需要备份inet.d:

cp -R /etc/init.d /etc/init.d.backup

现在我们可以停止可能运行的所有不需要的服务:

/etc/init.d/lpd stop
update-rc.d -f lpd remove

/etc/init.d/nfs-common stop
update-rc.d -f nfs-common remove

/etc/init.d/portmap stop
update-rc.d -f portmap remove

/etc/init.d/pcmcia stop
update-rc.d -f pcmcia remove

/etc/init.d/pcmciautils stop
update-rc.d -f pcmciautils remove

/etc/init.d/ppp stop
update-rc.d -f ppp remove

/etc/init.d/exim4 stop
update-rc.d -f exim4 remove

update-rc.d -f ntpdate remove

禁用我们停止的所有服务:

update-inetd --disable time

update-inetd --disable daytime

update-inetd --disable echo

update-inetd --disable chargen

update-inetd --disable ident

update-inetd --disable discard

最后一个可能会问你有关“多个条目”的问题,回答是(y)。

检查我们得到的一切:

lsof -i | grep LISTEN

你应该看到的唯一守护进程是*:ssh。 您可能需要再次运行:

update-inetd --disable discard

如果显示其他程序,请尝试重新启动并再次测试。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏