綠色資源網:您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題(tí)|廠(chǎng)商大全(quán)

綠色資源網

技術教(jiāo)程
您的位(wèi)置:首頁服務器類Mail服(fú)務器 → SMTP安全手冊—Sendmail服務器安全

SMTP安全手冊—Sendmail服務器安全

我要評論(lùn) 2009/04/24 18:05:20 來源:綠色資源網 編輯(jí):佚名 [ 小(xiǎo)] 評論:0 點擊:787次

Sendmail是在Unix環境下使用最廣泛(fàn)的實現郵件發送/接受的郵件傳輸(shū)代理程序(xù)。 由於Sendmail郵件服務器的(de)特點是功能(néng)強大而複雜,因此為保證Sendmail的安全(quán)性,需要作以(yǐ)下一些工(gōng)作。

1、設置Sendmail使用"smrsh"

smrsh程序的目的是作為在mailer中為(wéi)sendmail定義的(de)"/bin/sh"的替代shell。smrsh是一種受限(xiàn)shell工具,它(tā)通過"/etc/smrsh"目錄來明確指定可(kě)執行文件的列表(biǎo)。簡而言之smrsh限製了攻擊者可以執行的程序集(jí)。當它與sendmail程序一起使用的(de)時候,smrsh有效的將sendmail可以執行的程序的範圍限製在smrsh目錄之下。

第一步:

決定smrsh可以允許sendmail運行的命令列表。缺省情況下應當包(bāo)含以下命令,但不局限於這些命(mìng)令:

"/bin/mail" (如果在你的係統中安裝了的話)

"/usr/bin/procmail" (如果在你的係統中安裝了的話)

注意:不可在命令列表裏包括命令解釋程序,例如sh(1),csh(1),perl(1),uudecode(1)及流編輯器sed(1)。

第二步:

在"/etc/smrsh"目錄中創建允許(xǔ)sendmail運行的程(chéng)序的符號連接。

使用以下命令(lìng)允許mail程序"/bin/mail"運行:

[root@deep]# cd /etc/smrsh

[root@deep]# ln -s /bin/mail mail

用以下命令允許procmail程序"/usr/bin/procmail"運行:

[root@deep]# cd /etc/smrsh

[root@deep]# ln -s /usr/bin/procmail procmail

這將允許位於".forward"和"aliases"中的用戶采用"|program"語法來運行mail及procmail程序。

第三步

配置sendmail使之(zhī)使用受限shell。mailer程序在sendmail的配置(zhì)文件"/etc/sendmail.cf"中僅有一行。必須修改"sendmail.cf"文件中"Mprog"定義的那一行。將"/bin/sh"替換為"/usr/sbin/smrsh"。

編輯"sendmail.cf"文件(vi /etc/sendmail.cf)並改(gǎi)動下麵這一行:

例如:

Mprog, P=/bin/sh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/, T=X-Unix, A=sh -c $u

應該被(bèi)改為:

Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/, T=X-Unix, A=sh -c $u

現在用以下命令手工重起(qǐ)sendmail進程:

[root@deep]# /etc/rc.d/init.d/sendmail restart

2、"/etc/aliases"文件(jiàn)

如果沒有加以正確和嚴格的管理的話,別名文件被用來獲(huò)取特權。例(lì)如,很多發(fā)行版本在別名文件中帶有"decode"別名。現在這種情況越來越少了。

這(zhè)樣做的目的是為用戶提供一(yī)個通(tōng)過mail傳輸二進製(zhì)文件的方(fāng)便的方式。在郵(yóu)件的發送地,用戶把二進製文件用(yòng)"uuencode"轉換成ASCII格式,並把結果郵遞給接收地"decode"別名。那個別名通過管道把郵件消息發送到(dào)"/usr/bin/uuencode"程序,由這(zhè)個程序來完成從ASCII轉回到原始的二進製文件的工作。

刪除"decode"別(bié)名。類似的,對(duì)於所有用於執行沒有被放在smrsh目錄下的程序的別名,你都要仔細的檢查,可能它們都值得懷疑並應當刪除它們。要想使(shǐ)你的改變生效,需要運行:

[root@deep]# /usr/bin/newaliases

編輯別(bié)名文件(jiàn)(vi /etc/aliases)並刪除以(yǐ)下(xià)各行:

# Basic system aliases -- these MUST be present.

MAILER-DAEMON: postmaster

postmaster: root

# General redirections for pseudo accounts.

bin: root

daemon: root

games: root?? 刪除這一行

ingres: root ?? 刪除這一行

nobody: root

system: root ?? 刪除這(zhè)一行

toor: root?? 刪除這一行

uucp: root ?? 刪除這一行

# Well-known aliases.

manager: root ?? 刪(shān)除這一行

dumper: root ?? 刪除這一行

operator: root ?? 刪除這一行

# trap decode to catch security attacks

decode: root ?? 刪除(chú)這一行

# Person who should get root's mail

#root: marc

最後應該運行"/usr/bin/newaliases"程(chéng)序使改動生效

3、避免你的Sendmail被未授權的用戶濫用

最新版本的Sendmail (8.9.3)加入了很強的防止欺騙的特(tè)性。它們可以防止你的郵件服務器被未授權的用戶濫用。編輯你的"/etc/sendmail.cf"文件,修改一下這個配置文件,使你的(de)郵件服務器能夠擋住欺騙郵件。

編輯"sendmail.cf"文件(vi /etc/sendmail.cf)並更改下麵一行(háng):

O PrivacyOptions=authwarnings

改(gǎi)為:

O PrivacyOptions=authwarnings,noexpn,novrfy

設置"noexpn"使sendmail禁止所有SMTP的"EXPN"命令,它也使(shǐ)sendmail拒絕所有SMTP的"VERB"命令。設置"novrfy"使sendmail禁止所有SMTP的"VRFY "命令。這種更改可以防止欺騙者使用"EXPN"和"VRFY"命令(lìng),而這(zhè)些命令恰恰被那些不守規矩的(de)人所濫用。

4、SMTP的問候信息

當 sendmail接受(shòu)一個SMTP連接的(de)時候,它會向那台機器發送一個問候信息,這些信息作為本台主機的標識,而(ér)且(qiě)它所做的第一件事就是(shì)告訴對方它已經準備好了。

編輯"sendmail.cf"文件(vi /etc/sendmail.cf)並更改下麵一行:

O SmtpGreetingMessage=$j Sendmail $v/$Z; $b

改為:

O SmtpGreetingMessage=$j Sendmail $v/$Z; $b NO UCE C=xx L=xx

現在手工重(chóng)起一下sendmail進程,使剛才所做的更改生效:

[root@deep]# /etc/rc.d/init.d/sendmail restart

以上的更改將影響到Sendmail在接收一個連接時所顯示(shì)的標誌信(xìn)息。你應該把"`C=xx L=xx"條目中(zhōng)的"xx"換(huàn)成(chéng)你所在的國家和(hé)地區代碼。後麵的更改其實不會影(yǐng)響任(rèn)何(hé)東西。但這是"news.admin.net-abuse.email"新聞組的夥伴們推薦的合法做法。

5、限製可以審核郵件隊(duì)列內容的人員

通常情(qíng)況下,任何人都可以使用"mailq"命令(lìng)來查看郵件隊列的(de)內容。為了(le)限製(zhì)可(kě)以(yǐ)審核郵件隊列內容(róng)的人員(yuán),隻需要在"/etc/sendmail.cf"文件中指(zhǐ)定"restrictmailq"選項即可。在這種情(qíng)況(kuàng)下,sendmail隻允許(xǔ)與這個隊列所在目錄的組屬主相同的用(yòng)戶可以查看它的內容(róng)。這將允許權限(xiàn)為0700的郵件隊列(liè)目錄被完全保(bǎo)護(hù)起來,而我們限定的合法用戶仍然可以看到它的內容。

編輯"sendmail.cf"文件(vi /etc/sendmail.cf)並(bìng)更改下麵一行:

O PrivacyOptions=authwarnings,noexpn,novrfy

改為:

O PrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq

現在我(wǒ)們更改郵件(jiàn)隊列目錄的權限使它被完全保護起來:

[root@deep]# chmod 0700 /var/spool/mqueue

注意:我們已經在sendmail.cf中的"PrivacyOptions="行中添加了(le)"noexpn"和"novrfy"選項,現(xiàn)在在這一行中我們(men)接著添加"restrictmailq"選項。

任何一個沒有特權的用戶如果試圖查看郵件隊列的(de)內容會收到下麵(miàn)的信息:

[user@deep]$ /usr/bin/mailq

You are not permitted to see the queue

6、限製處理郵件隊列的權限為"root"

通(tōng)常,任何人都可以(yǐ)使用"-q"開關來處理郵件隊(duì)列,為限製隻允許root處理郵件隊列,需要在"/etc/sendmail.cf"文件中指定"restrictqrun"。

編輯(jí)"sendmail.cf"文件(vi /etc/sendmail.cf)並更改下(xià)麵一行:

O PrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq

改為:

O PrivacyOptions=authwarnings,noexpn,novrfy,restrictmailq,restrictqrun

任(rèn)何一個沒(méi)有特權的用戶如果試圖處理(lǐ)郵件隊列的內容會收到下麵的信(xìn)息(xī):

[user@deep]$ /usr/sbin/sendmail -q

You do not have permission to process the queue

7、在重要的sendmail文件上設置不可更改位

可以通過(guò)使用"chattr"命令(lìng)而(ér)使重要的Sendmail文件(jiàn)不會(huì)被擅自更改,可以提高係統的安全性。具有"+i"屬性(xìng)的文件不能被(bèi)修改:它不能被刪除和改名,不能創建到這個文件的鏈接,不能向這個文件寫入數據(jù)。隻有超級用戶(hù)才能設置和清除這個屬性。

為"sendmail.cf"文件設置不可更改位:

[root@deep]# chattr +i /etc/sendmail.cf

為"sendmail.cw"文件設置不可更改位:

[root@deep]# chattr +i /etc/sendmail.cw

為"sendmail.mc"文件設置不可(kě)更改位:

[root@deep]# chattr +i /etc/sendmail.mc

為"null.mc"文件設置(zhì)不可更改位:

[root@deep]# chattr +i /etc/null.mc

為"aliases"文件設(shè)置不可更改位(wèi):

[root@deep]# chattr +i /etc/aliases

為"access"文件設置不可更改位(wèi):

[root@deep]# chattr +i /etc/mail/access

8、Sendmail環境(jìng)下的防止郵件relay

從8.9版本開始,缺省的是(shì)不允許(xǔ)郵件轉發(mail relay)的。最簡單的允(yǔn)許郵件轉發的方法是在文(wén)件/etc/mail/relay-domains中進行設置。該文件中列出的域名(míng)內的信件都允許通過本地服務器進行郵件轉發。

為了更精確的設置,可以在sendmail.mc中添加如(rú)下幾個參數允許被用來設置郵件轉發:

· FEATURE(relay_hosts_only). 通常

關(guān)鍵詞:SMTP安全手冊,Sendmail服務器安全

閱讀本文後您有什麽感想? 已有 人給(gěi)出評價!

  • 1 歡迎喜歡
  • 1 白癡(chī)
  • 2 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡