Linux下如何利用Sendmail构建安全可靠的邮件服务器

简介:
Linux下如何利用Sendmail构建安全可靠的邮件服务器
 
实验原理:
       Sendmail是UNIX/Linux环境中稳定性较好的一款邮件服务器软件,通过对Sendmail服务器的配置可以实现基本的邮件转发功能;dovecot服务器实现了POP3协议,可以与Sendmail服务器配合工作,实现用户对邮件的收取功能;OpenWebmail是网页形式的邮件应用系统,可实现用户对邮件的发送、收取和管理功能。通过对Sendmail、dovecot和OpenWebmail的综合管理,系统管理员可以构建出功能完善的邮件应用系统。
 
实验步骤:
 
一、 搭建DNS环境,并设置sendmain的主机域名
可以通过修改“/etc/hosts”和“/etc/sysconfig/network”两个文件更改主机域名。并在DNS服务器中添加对应的MX记录。
clip_image002[5]
clip_image004
 
二、 Sendmail的安装与配置
Sendmail服务器在RHEL4系统中是被默认安装的,软件包的名称是sendmail,m4软件包提供了配置Sendmail服务器必须的工具程序,与Sendmail软件包一同默认安装在系统中。Sendmain和m4两个软件都在RHEL4的第2张安装光盘中。
clip_image006
 
更改sendmial服务器的启动级别。
clip_image008
 
设置local-host-names文件,用于设置邮件服务器提供邮件服务的域名。
clip_image010
clip_image012
 
编辑sendmail.mc文件
Sendmail服务器的主配置文件是sendmain.cf,该文件配置及其难,不过可以通过配置sendmail.mc然后生成sendmail.cf文件。
clip_image014
 
开启Sendmail服务器的网络接口,Sendmail服务器出于安全考虑,默认只对lo网络接口(IP地址为127.0.0.1)提供服务,为了使服务器能够为主机的所有网络接口(地址为0.0.0.0)提供服务,需要在sendmail.mc文件中进行配置的修改。
clip_image016
 
开启SMTP的用户认证功能。将TRUST_AUTH_MECH(‘EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)前面的dnl以及空格去掉即可。开启之后,邮件服务器要求用户提供用户账户和口令进行身份认证,只有通过身份认证的用户才能通过邮件服务器向外部发送邮件。
clip_image018
 
进入/etc/mail目录,然后使用m4 sendmail.mc > sendmail.cf生成sendmail.cf文件。
clip_image020
 
启动/etc/rc.d/init.d/sendmail服务,使sendmial.cf配置生效
clip_image022
 
开启了Sendmail服务器的认证功能之后,需要确保saslauthd服务程序正确运行。
clip_image024
 
邮件用户账户的设置
Sendmail服务器使用Linux系统中的用户账户作为邮件账户,因此为用户添加邮件账户只需要添加Linux账户即可。为了方便用户管理可以将具有同种性质的用户加入某一个组中。
clip_image026
 
设置邮件别名和邮件群发功能
在Sendmail服务器中使用aliases机制实现邮件别名和邮件群发功能。在/etc目录下同时存在名为aliases和aliases.db的两个文件。aliases文件是文本文件,其内容是可阅读和编辑的,aliases.db是数据库文件,是由aliases文件生成而来的。
clip_image028
 
编辑aliases文件,在文件末尾添加“gongcheng: xiaonuo1,xiaonuo2”, 意思是通过给gongcheng@xiaonuo.com 发邮件,群发到 xiaonuo1@xiaonuo.com xiaonuo2@xiaonuo.com
clip_image030
 
设置完成之后,通过newaliases生成aliases.db文件。
clip_image032
 
如果想让一个用户通过匿名的方式向外发送邮件,可以通过修改access文件,然后通过“makemap hash access.db < access”生成数据库文件。
clip_image034
clip_image036
 
三、 devecot的安装与配置
Sendmail服务器并不为MUA软件提供收取邮件的功能,因此系统中需要单独安装实现POP3或IMAP4功能的服务器程序。
系统默认安装了devecot软件,由于devecot服务器以来的软件包比较多,因此建议使用RHEL4系统中提供的软件包管理程序来安装dovecot软件包。
clip_image038
clip_image040
clip_image042
安装好dovecot软件包之后,需要设置其配置文件dovecot.conf文件。
clip_image044
 
dovecot服务器默认只提供imap服务,需要修改“#protocols = imap impas”这一行为“protocols = imap imaps pop3 pop3s”
clip_image046
重启启动dovecot服务,使dovecot.conf的设置生效。
clip_image048
 
四、 邮件客户端Outlook Express的配置
使用Windows自带的Outlook Express软件连接sendmail服务器。注意设置完成之后,需要将服务器的“我的服务器要求身份验证”打上勾。
clip_image050
 
发送、接收电子邮件进行测试即可。
clip_image052
 
五、 安装配置OpenWebmail,并通过Web发表Webmail
OpenWebmail是使用Perl语言编写的Webmail应用系统,可以很好地和Sendmail等邮件系统配合,构建功能强大的Webmail应用。
下载OpenWebmail所需要的文件,其中有四个perl软件和一个openwebmail软件。
clip_image054
 
建立dbm.conf文件
Openwebmail软件将所有的文件都安装在目录“/var/www/cgi-bin/openwebmail”中,在该目录下的etc子目录中需要建立名为dbm.conf的配置文件。
clip_image056
 
初始化OpenWebmail系统
执行“/var/www/cgi-bin/openwebmail/openwebmail”目录中的openwebmail-tool.pl程序,并使用“--init”选项进行OpenWebmail系统的初始化过程。
clip_image058
 
启动Apache服务器。使客户机可以通过web的方式访问邮件服务器。
clip_image060
clip_image062
clip_image064
 
由于默认访问的页面是英文的,使用起来不太方便,可以通过修改openwebmail.conf配置文件,将页面改成中文。
clip_image066
domainnames xiaonuo.com 设置sendmail的域名为xiaonuo.com
clip_image068
 
default_language 设置系统默认的语言为简体中文
clip_image070
 
default_iconset Cool3D.Chinese.Simplified 设置系统中的图标由英文设置为简体中文
clip_image072
 
设置完成之后,使用IE浏览器重新登录即可生效。
clip_image074
clip_image076


本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/167192,如需转载请自行联系原作者
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
8天前
|
前端开发 数据处理 API
后端开发:构建稳健与高效的服务器逻辑
后端开发:构建稳健与高效的服务器逻辑
|
5天前
|
监控 安全 Linux
【专栏】害怕 Linux SSH 不安全?这几个小妙招安排上!
【4月更文挑战第28天】在数字化时代,Linux SSH 的安全对于远程管理至关重要。增强 SSH 安全包括:使用强密码,调整 SSH 配置文件,尤其是端口号和认证方式;采用密钥认证代替密码;限制登录用户,禁止密码登录;使用防火墙限制访问;定期更新系统和软件。此外,通过日志监控、入侵检测系统及及时应对攻击来提升安全监控。保持对安全知识的学习和更新,结合最佳实践,是保障 SSH 安全的关键。记得安全是个持续过程,时刻保持警惕!
|
13天前
|
Unix Linux 数据安全/隐私保护
Linux服务器如何远程连接?服务器远程连接图文教程
服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行离不开操作系统,服务器也一样,服务器操作系统主要分为四大流派:Windows Server、Netware、Unix和Linux。 今天驰网飞飞就给你们分享下Linux、Unix系统远程连接图文操作方法
21 4
Linux服务器如何远程连接?服务器远程连接图文教程
|
3天前
|
Prometheus 监控 Cloud Native
构建高效可靠的Linux服务器监控体系
【4月更文挑战第30天】 在维护企业级Linux服务器的稳定性和性能方面,一个周全的监控体系是至关重要的。本文将探讨如何利用开源工具和实践构建一个高效、灵活且用户友好的监控系统。我们将重点讨论核心组件的选择、配置、报警机制以及数据分析方法,旨在帮助读者打造一个能够实时响应并预防潜在问题的监控环境。
|
4天前
|
存储 安全 网络协议
游戏服务器:构建与运行的艺术
游戏服务器:构建与运行的艺术
17 1
|
5天前
|
缓存 网络协议 Linux
Linux服务器性能优化小结(下)
Linux服务器性能优化小结(下)
15 0
|
5天前
|
监控 算法 Linux
Linux服务器性能优化小结(上)
Linux服务器性能优化小结(上)
13 0
|
5天前
|
安全 算法 Linux
【专栏】Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
【4月更文挑战第28天】OpenVAS 是一款开源的漏洞扫描工具,用于全面评估 Linux 服务器安全。它具有全面性、准确性和实时性的特点,能扫描各种设备并及时发现安全漏洞。使用 OpenVAS 包括安装、配置和执行扫描,以及分析结果并采取修复措施。在使用过程中应注意扫描时间、范围和策略的选择。通过定期检查和修复漏洞,结合其他安全措施,可以提升服务器安全性。OpenVAS 是保障 Linux 服务器安全的重要工具,但安全维护也需要持续学习和适应新挑战。
|
5天前
|
中间件 Go API
Golang深入浅出之-Go语言标准库net/http:构建Web服务器
【4月更文挑战第25天】Go语言的`net/http`包是构建高性能Web服务器的核心,提供创建服务器和发起请求的功能。本文讨论了使用中的常见问题和解决方案,包括:使用第三方路由库改进路由设计、引入中间件处理通用逻辑、设置合适的超时和连接管理以防止资源泄露。通过基础服务器和中间件的代码示例,展示了如何有效运用`net/http`包。掌握这些最佳实践,有助于开发出高效、易维护的Web服务。
20 1
|
7天前
|
安全 Linux 网络安全
linux服务器木马排查
【4月更文挑战第18天】该文提供了服务木马排查的六个步骤:1) 检查系统日志,观察异常IP并用SSH防护,限制22端口和root用户;2) 查看系统用户,找寻异常或新创建的UID/GID为0的用户;3) 检查UID为0的进程和隐藏进程,防止恶意活动;4) 搜索异常大文件和具有特殊权限的文件;5) 检验系统计划任务的完整性;6) 使用rkhunter和chkrootkit检测rootkit。关键在于识别入侵点并采取相应措施。
14 0