Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

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

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  我们使用的软件是带有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。

安装前的准备M

  我们要在电脑中安装一个软件包用于实现监听服务。一般来说,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


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Linux打破桌面系统格局   下一篇:在Linux下为游戏配置TNT2显卡驱动

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号