Linux下架设安全的Web邮件服务器

http://www.enet.com.cn 2007年04月20日18:09

  我们讲述如何把Linux机器配置成一个基于Web的电子邮件系统。这个电子邮件系统可以用于一个小团体或者组织之中。当然,如果你家里有一个Internet连接(比如DSL),那么它也可以用安全的方式远程检测你的电子邮件。

  我们使用的软件是带有mod_ssl和PHP4的Apache,还有Webmail软件Aeromail。之所以选择这一组合,是因为它们的开发和维护都非常活跃,安装非常简单,功能也非常丰富。

  假设系统上还没有安装Web服务器或者SSL库。首先要安装基本的邮件服务器、IMAP服务器,并且确保它们只接收本地连接。接着,要构建一个强大的Web服务器,它支持SSL(加密套接字协议层)连接和PHP脚本语言。接下来,安装用于在一个Web页面上显示邮件的软件就非常简单了。

  下面是要下载的文件表:

  -rw-r--r-- 1 jose jose 22841 Nov 19 15:18 aeromail-1.40.tar.gz

  -rw-r--r-- 1 jose jose 2847497 Oct 25 19:14 apache_1.3.14.tar.Z

  -rw-r--r-- 1 jose jose 1866035 Oct 25 13:27 imap.tar.Z

  -rw-r--r-- 1 jose jose 748253 Oct 25 19:15 mod_ssl-2.7.1-1.3.14.tar.gz

  -rw-r--r-- 1 jose jose 2086131 Sep 24 11:46 openssl-0.9.6.tar.gz

  -rw-r--r-- 1 jose jose 2225976 Nov 5 13:31 php-4.0.3pl1.tar.gz

  之所以选择这些版本是因为它们提供了大部分的功能,并且非常稳定。在自己架设服务器时,建议最好使用最新的可用版本,并且随时关注补丁的发布。

  现在有了所需要的软件就可以开始工作了。应该说,整个配置过程不会花太多的时间,在本文中,我们把所有的文件都置于同一个目录之下(/webmail),而Apache则安装于缺省的目录之下,即/usr/local/apache/htdocs。

  安装前的准备

  我们要在电脑中安装一个软件包用于实现监听服务。一般来说,Linux工作站在安装过程中不会安装该软件。这个程序就是inetd服务器,它可以监听一些邮件收发的后台程序。在Red Hat 6.2的安装中,包含该程序的RPM文件是inetd-0.16-4.i386.rpm。在Red Hat 6.2中,下面的步骤将完成inetd后台程序的安装:

  # rpm -ivh inetd-0.16-4.i386.rpm

  # /usr/sbin/inetd

  # /sbin/chkconfig inetd on

  构建IMAP服务器

  IMAP(Internet Message Access Protocol)是用户从不同的计算机访问邮件的一种方式。它的工作方式是在一台中央计算机上存储信息,并且允许用户访问信息的一个拷贝。你可以让本地工作站和服务器同步,此外也可以为邮件创建一个文件夹,并且具有完全的访问权限。这一点和POP3不同。

  首先,下载文件,并且将其解压缩:

  $ tar -zxvf imap.tar.Z

  然后进入新建的目录中并且编译IMAP服务器。因为使用的是Linux,所以这个过程非常简单:

  $ cd imap-2000

  $ make slx

  (输出结果省略)

  安装新的IMAP服务器也非常简单,只需将其放到合适的位置即可:

  # cd imapd

  # cp imapd /usr/sbin/imapd

  现在要告诉计算机如何监听imapd连接,以及如何处理这些连接。首先,编辑inetd配置文件inetd.conf:

  # vi /etc/inetd.conf

  修改经常要读取的行:

  #imap stream tcp nowait root /usr/sbin/tcpd imapd

  将其改为:

  imap stream tcp nowait root /usr/sbin/tcpd imapd

  也就是去掉行前的“#”号,告诉inetd该行不是注释行。然后告诉inetd重新读取这些配置。我们通过向inetd进程发送HUP信号来达到这一目的。首先要得到进程的ID号:

  # ps -ax   grep inetd

  7699 ? S 0:00 inetd

  此处的7699指的是inetd的进程ID号,当然你自己配置时ID号可能会不同。下面告诉inetd重新读取配置文件:

  # kill -HUP 7699

  最后,要确保inetd拒绝任何不速之客。在现实中,很多黑客喜欢通过突破imapd服务来突破系统,为此,我们限制该服务器仅限于连接本地机器。这就意味着只有本地的Web服务器可以连接它。我们通过编辑以下文件来实现这一目的:

  # vi /etc/hosts.deny

  在其中加入用于IMAP程序的一行:

  imapd:ALL

  接下来编辑允许连接的文件:

  # vi /etc/hosts.allow

  并且在文件的未尾加上下面的内容:

  imapd: 127.0.0.1

  到此为止,第一部分的安装就完成了。

站内
E型
相关热词搜索
我感兴趣  电话:010-65245588
  • 文章排行
  • 周排行
  • 月排行
  • 年排行
网站合作、内容监督、商务咨询、投诉建议:010-65245588
合作建议:
Copyright©2000-硅谷动力版权所有 京ICP证000088号
京ICP证000088号