Linux中防御垃圾邮件的方法_unix linux

  一、环境说明

  单位的服务器使用RedHat Linux 9.0,邮件服务器使用Sendmail 8.12.8;这台服务器放在内网,通过一台Win2000的服务器作网关,连到Internet;网关软件使用的是WinRoute Pro 4.2.5。

  二、主要修改措施

  1.关闭Sendmail的Relay功能

  所谓Relay就是指别人能用这台SMTP邮件服务器,给任何人发信,这样别有用心的垃圾发送者可以使用笔者单位的这台邮件服务器大量发送垃圾邮件,而最后别人投诉的不是垃圾发送者,而是单位的服务器。所以必须关闭Open Relay,其方法就是到Linux服务器的/etc/mail目录,编辑access文件,去掉“*relay”之类的设置,一般只留“localhost relay”和“127.0.0.1 relay”两条即可。

  注意:修改access文件后还要用命令makemap hash access.db

  2.打开Sendmail的SMTP认证功能

  关掉了Relay功能,单位的老师就不能使用OE之类的软件发信了不要紧,只要对Sendmail配置好SMTP认证功能,再在OE中打开SMTP认证,就可以在任何地方使用单位的SMTP服务器了。

  在RedHat Linux 9.0中配置SMTP认证非常方便,首先用命令rpm -qa|grep sasl检查有没有安装cyrus-sasl软件包(一般默认安装已经包括了)。如果没有安装的话,用命令rpm -ivh cyrus-sasl.rpm安装所有软件包,接着打开/etc/mail/sendmail.mc文件,把如下三行:

  dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldnl define(`confAUTH_MECHANISMS',`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlDAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,Name=MTA') 改为TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS',`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlDAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,Name=MTA')

  3.在Sendmail中添加RBL功能

  RBL(Realtime Blackhole List)是实时黑名单。国外有一些机构提供RBL服务,它们把收集到的专发垃圾邮件的IP地址加入他们的黑名单,我们只要在Sendmail中加入RBL认证功能,就会使我们的邮件服务器在每次收信时都自动到RBL服务器上去查实,如果信件来源于黑名单,则Sendmail会拒收邮件,从而使单位的用户少受垃圾邮件之苦。

  国外比较有名的RBL是http//www.ordb.org,他们的RBL可免费使用,去年国内的http//anti-spam.org.cn也提供类似的服务,但它必须先注册才能使用免费。

  在Sendmail中添加RBL认证,只要对sendmail.mc添加以下几句话(第一句表示加入了ORDB.ORG的RBL服务,第二句表示加入了ANTI-SPAM的RBL服务,注意第二条必须先去该网站注册后才能使用。如果还想加入其它的RBL认证,则将这样的话再多加几句即可,一般加入两个RBL认证也够了):

  ①FEATURE(`dnsbl',`relays.ordb.org',`″Email blocked using ORDB.org - see ″')

  ②FEATURE(`dnsbl', `cblplus.anti-spam.org.cn', `', `″451 Temporary lookup failurefor ″ $&{client_addr}″ in cbl.anti-spam.org.cn″')

  最后执行m4 sendmail.mc>sendmail.cf和service sendmail restart两条命令,使有关Sendmail的修改生效。

  4.关闭Open Proxy

  单位的网关使用WinRoute软件,为了提高访问Internet的网速,开放了WinRoute的Proxy服务,但想不到的是大部分Proxy都是默认允许以HTTP Connect Method连接任意一个TCP端口,这样一来,当Proxy没有对使用者及相应的TCP端口做相应的限制时,很容易给垃圾邮件发送者可乘之机。他们只需要利用单位的Proxy来连接另外一台邮件服务器的25端口,并发送特定的SMTP指令就可以发送大量的垃圾邮件。

  不查不知道,一查吓一跳。单位服务器早在去年12月就由于Open Proxy而在国外的黑名单上了。更可气的是,由于开放了代理,我们的网关机CPU利用率一直在50%左右,原来笔者单位的网关一直在为别人义务干坏事。

  在WinRoute中关闭Open Proxy的方法也很简单,只要把连接外网网卡的Proxy端口关闭即可。

  具体操作如下:单击“Settings→Advanced→Packet Filter”,选择Incoming面板,找到接外网的网卡,单击Add按钮,会显示Add Item对话框,把Protocol选为TCP,Destination中的Port选=3128,Action中选Deny(如图1所示)。

  

  图 1

  5.关闭外部的25端口

  笔者查看Sendmail的LOG,结果没发现从单位中发出很多垃圾邮件,正在郁闷时,突然想起这段时间正在大闹Internet的网络天空“NetSky”和唯诺格“MyDoom”病毒,这两种病毒都会自动发出很多垃圾邮件,特别是网络天空,它自带SMTP服务功能。不需要利用单位的Sendmail,就直接可以发信。单位的Sendmail的LOG中当然也不会有记录了,于是马上到网关机WinRoute中对连接内网的网卡加上不能向外连接25号端号的限制,具体设置如图2所示。

  

  图 2

  注意:这个设置是加在内网网卡上的,而上面关闭Open Proxy的设置则是加在外网网卡上的。

  6.从黑名单上除名

  前段时间,由于自已的疏忽,使我单位的IP已经上了国外RBL的黑名单了。查询和删除RBL中的IP地址可以到http://openrbl.org/ 和http://ordb.org,另外国内的http://anti-spam.org.cn/cbl_minus/query.html也可查询。

时间: 2024-08-06 04:28:19

Linux中防御垃圾邮件的方法_unix linux的相关文章

关于Linux常见紧急情况的处理方法_unix linux

1.使用急救盘组进行维护 急救盘组(也称为boot/root盘组),是系统管理员必不可少的工具.用它可以独立地启动和运行一 个完整的Linux系统.实际上,急救盘组中的第2张盘上就有一个完整的Linux系统,包括root文件系 统:而第1张盘则存放了可启动的内核.使用急救盘组维护系统很简单.只需用这两张盘启动系统后,进入急救模式,这时使用的是root账户.为了能访问硬盘上的文件,需要手工安装硬盘文件系统.例如,用下面的命令可在/mnt目录中安装 /dev/hda2盘上的ext2fs类型的Linu

如何在linux下做软raid实现方法_unix linux

如何在linux下做软raid?希望以下介绍能对朋友们有所帮助和启发! 在虚拟机系统中添加一块10g的硬盘为sdb,将硬盘分5个逻辑盘分别是sdb{5,6,7,8,9},每个盘的大小是1G. 首先利用其中三块硬盘sdb{5,6,7}建立raid5,sdb8为热备盘. 然后将sdb6作为故障盘下线,之后拔出sdb6,插入新的盘sdb9. 命令如下:mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sdb{5,6,7,8} 通过上面命令建立了使用空间为2G的raid5.盘符为/d

Linux系统“死机”时解决方法_unix linux

如果问题能够再现,那么问题已经解决 80% 了.对于操作系统核心而言,如果有问题的再现方法,那么可以说是已经解决 99% 了.经常遇到的问题是系统可以正常运行一段时间,然后死机.如果不好再现问题,那么只有根据死机现场遗留的东西来进行分析了.  如果系统没有死干净,比如磁盘中断和文件系统是好的,那么也许能有日志信息保留在文件中,不过这样的好运气我是从来没有遇到过的.如果键盘中断还能响应 (按下Num Lock,可以看见键盘小灯亮灭),那么运气就算是足够好了,这时可以祭出 sysrq 大法,同时按下

Linux中轻松使用USB移动存储器_unix linux

USB移动存储器越来越普及,但是各个不同Linux发行版本中它的使用方法都不一样,有些需要相应的工具软件.不过大家经常使用的RedHat Linux9对USB移动存储器支持较好,在它上面使用USB移动存储器你要做的只是如下几步: 1.插上你的USB移动存储器. 2.进入终端命令行模式,用以下命令为外挂点新建一个子目录: mkdir /mnt/usb 3.挂上你的USB移动存储: USB移动存储通常被识别为sda1,具体可通过fdisk -l命令查询.需要注意的是你的USB移动存储器文件系统,若是

linux系统启动自动激活网卡的解决方法_unix linux

linux每次启动的时候网卡都需要激活才能上网,实在是很麻烦. 上网找了找资料,最后是这样解决的: #   vi   /etc/sysconfig/network-scripts/ifcfg-eth0 :1  查看eth0:1的配置文件. 都说有ONBOOT=yes这句就能开机启动自动激活,但配置文件中明明就有还是没起作用,开机总是要手动去激活. 于是在/etc/rc.d/rc.local文件中加入   ifup   eth0    或者   ifconfig   eth0   up eth0就

linux 双网卡绑定网络设置方法_unix linux

设置linux主机的主机名和域名 /etc/hosts 例子 127.0.0.1 localhost.localdomain localhost 一般情况下hosts的内容关于主机名(hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开.其中#号开头的行做说明,不被系统解释. 第一部份:网络IP地址: 第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain 第二部份:主机名(主机名别名) ,其实就是主机名: 当然每行也

SUSE Linux登录出现黑屏解决方法_unix linux

1.在启动时,GRUB上引导命令后面加上一个VGA=791,这样进去屏幕分辩率就是1024*768.  kernel (hd0,0)/linux root=/dev/ram ramdisk_size=65536 devfs=mount,all vga=791  initrd (hd0,0)/initrd  boot  2.在黑屏时.按Ctrl+Alt+F2进入另一个shell,运行yast,选择hardware-Graphics and Monitor,里面有两个选项,第一个是text模式,第二

深入理解linux中close与shutdown的区别_unix linux

1. close  把描述符的引用计数减一,仅在该计数变为0时才关闭套接字.而shutdown可以并以不管引用计数就激发TCP的正常连接终止序列 2. close终止读和写两个方向的数据传送,而shutdown可以指定哪个方向被关闭,读端还是写端还是两个都关闭 int shutdown(int sockfd, int howto);howto参数的值SHUT_RD  只关闭读这一半SHUT_WD  只关闭写这一半SHUT_RDWR 连接的读半部和写半部都关闭

Win7系统中让垃圾邮件不再进入Outlook中的设置技巧

Outlook 是 Microsoft 的主打邮件传输和协作客户端产品.它是一种集成到Microsoft Office和ExchangeServer中的独立应用程序.Outlook 还提供与Internet Explorer 5.5的交互和集成.电子邮件.日历和联系人管理等功能的完全集成使得 Outlook 成为许多商业用户眼中完美的客户端. Outlook 可帮助您查找和组织信息,以便您可以无缝地使用 Office 应用程序.这有助于您更有效地交流和共享信息.下面小编给大家介绍Win7系统 (