Sendmail的安全篇之Smrsh
Sendmail是最重要的郵件傳輸代理程序。那Sendmail的安全靠什么,靠Smrsh。
設(shè)置Sendmail使用"smrsh"
smrsh程序的目的是作為在mailer中為sendmail定義的"/bin/sh"的替代shell。smrsh是一種受限shell工具,它通過"/etc/smrsh"目錄來明確指定可執(zhí)行文件的列表。簡(jiǎn)而言之smrsh限制了攻擊者可以執(zhí)行的程序集。當(dāng)它與sendmail程序一起使用的時(shí)候,smrsh有效的將sendmail可以執(zhí)行的程序的范圍限制在smrsh目錄之下。
第一步:
決定smrsh可以允許sendmail運(yùn)行的命令列表。缺省情況下應(yīng)當(dāng)包含以下命令,但不局限于這些命令:
"/bin/mail" (如果在你的系統(tǒng)中安裝了的話)
"/usr/bin/procmail" (如果在你的系統(tǒng)中安裝了的話)
注意:不可在命令列表里包括命令解釋程序,例如sh(1),csh(1),perl(1),uudecode(1)及流編輯器sed(1)。
第二步:
在"/etc/smrsh"目錄中創(chuàng)建允許sendmail運(yùn)行的程序的符號(hào)連接。
使用以下命令允許mail程序"/bin/mail"運(yùn)行:
[root@deep]# cd /etc/smrsh
[root@deep]# ln -s /bin/mail mail
用以下命令允許procmail程序"/usr/bin/procmail"運(yùn)行:
[root@deep]# cd /etc/smrsh
[root@deep]# ln -s /usr/bin/procmail procmail
這將允許位于".forward"和"aliases"中的用戶采用"|program"語法來運(yùn)行mail及procmail程序。
第三步
配置sendmail使之使用受限shell。mailer程序在sendmail的配置文件"/etc/sendmail.cf"中僅有一行。必須修改"sendmail.cf"文件中"Mprog"定義的那一行。將"/bin/sh"替換為"/usr/sbin/smrsh"。
編輯"sendmail.cf"文件(vi /etc/sendmail.cf)并改動(dòng)下面這一行:
例如:
Mprog, P=/bin/sh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/, T=X-Unix, A=sh -c $u
應(yīng)該被改為:
Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/, T=X-Unix, A=sh -c $u
現(xiàn)在用以下命令手工重起sendmail進(jìn)程:
[root@deep]# /etc/rc.d/init.d/sendmail restart
通過文章,我們可以大概知道其實(shí)Sendmail的安全性不能忽視,而且使用Smrsh會(huì)幫助你加強(qiáng)Sendmail的安全性。
【編輯推薦】
- 如何在Sendmail里設(shè)置虛擬域
- Sendmail簡(jiǎn)單介紹
- 圖文并茂 講解Sendmail工作環(huán)境
- 深入了解 Linux下安裝DNS+Sendmail服務(wù)
- 如何在Linux下安裝Sendmail服務(wù)器
- Linux Sendmail配置攻略
- sendmail啟動(dòng)慢的解決辦法