如何提升nagios服務(wù)器安全
如何提升nagios服務(wù)器安全
Nagios是一種監(jiān)控軟件,能夠幫助用戶迅速了解主機和互聯(lián)網(wǎng)上出現(xiàn)的問題,并且可以將其配置為在任何網(wǎng)絡(luò)使用,那么你知道如何提升nagios服務(wù)器安全嗎?下面是學(xué)習(xí)啦小編整理的一些關(guān)于如何提升nagios服務(wù)器安全的相關(guān)資料,供你參考。
提升nagios服務(wù)器安全的方法:
Web界面
如果你按照互聯(lián)網(wǎng)上提供的快速安裝指南安裝Nagios,很可能只是安裝了web界面,因為Nagios使用Apache顯示出很多其他安全選項。
下面是Nagios web界面的apache配置的例子:
Options:ExecCGI AllowOverride:None Order allow:deny Allow from:all AuthName:"Nagios Access" AuthType:Basic AuthUserFile:/usr/local/nagios/etc/htpasswd.users Require:valid-user |
“Allow from”選項是用來明確只能向某些IP地址和/或網(wǎng)絡(luò)提供訪問權(quán)限的,上面例子中允許所有IP地址訪問該web界面。其他安全選項是用于身份驗證的,“AuthType”定義了使用哪種身份驗證類型,只有兩種類型可供選擇Basic或者Digest,基本驗證(Basic)會將用戶密碼和用戶名作為純文本提交,而Digest驗證的密碼則會作為MD5 digest提交,很明顯后者更加安全。
為了提高安全性我們需要進行如下修改:
Options:ExecCGI AllowOverride:None Order allow:deny Allow from:192.168.4. AuthName:"Nagios Access" AuthType:Digest AuthDigestFile:/usr/local/nagios/etc/htpasswd.users Require:valid-user |
這個配置中,只有192.168.4.0網(wǎng)絡(luò)的電腦可以訪問該web界面,并且我們現(xiàn)在使用Digest驗證取代了不安全的基本驗證方法。
現(xiàn)在我們需要添加允許訪問web網(wǎng)絡(luò)的用戶以及密碼,使用下列命令來為digest驗證添加新用戶:
# htdigest -c /usr/local/nagios/etc/htpasswd.users realm username
Digest驗證確實比Basic驗證更加安全,不過保護用戶名和密碼安全最好的方法還是使用SSL。
進行任何配置更改后都必須重新啟動apache,命令如下:.
# /etc/init.d/apache2 restart
最佳做法
本節(jié)將列舉出一些安裝Nagios服務(wù)器的最佳安全做法,具體如下:
· 不要以root身份運行Nagios。需要有一個名為nagios的普通用戶,如果Nagios作為root運行,那么當(dāng)Nagios受到攻擊時,攻擊者就能夠?qū)τ脩粝到y(tǒng)為所欲為了。.
· 鎖定Check Result Directory。 確保只有nagios用戶擁有對check result directory的讀取/寫入權(quán)限,否則攻擊者將可能發(fā)送偽造的主機和服務(wù)檢查結(jié)果,該目錄通常位于這個位置:/usr/local/nagios /var/spool/checkresults。
· 在Command Definitions中使用完整路徑。當(dāng)定義命令時,請明確完整的路徑,而不是與正在執(zhí)行的任何腳本或者二進制相關(guān)的路徑。
· 保護遠程代理安全。遠程代理包括NRPE,、NSClient以及SNMP等,下文中我們將介紹保護NRPE遠程代理的步驟。
保護遠程代理(remote agent)
本節(jié)我們將研究如何保障NRPE安全的問題。該遠程代理用于在遠程主機上執(zhí)行檢查程序(檢查負載或者磁盤使用等),我們不會希望任何程序或者用戶能夠在遠程機器上執(zhí)行命令,因此保障NRPE的安全性是非常重要的。
由于NRPE附帶有對TCP wrappers的支持,我們可以定義哪些主機允許訪問NRPE:
/etc/hosts.allow
nrpe:192.168.1.91
以上示例中,只有192.168.1.91可以在該主機上使用這個遠程代理,你可以將你的Nagios客戶端IP地址取代192.168.1.91,請注意應(yīng)該同時用于你的Nagios服務(wù)器和客戶端。
NRPE絕不能作為root或者任何其他superuser來運行,它只能作為nagios用戶組中的nagios用戶來運行,可以在/etc/nagios/nrpe.cfg位置查看NRPE是否作為nagios運行:
part of /etc/nagios/nrpe.cfg
nrpe_user=nagios
nrpe_group=nagios
NRPE的另一部分也可能成為安全漏洞,即允許command arguments。我們當(dāng)然不希望看到攻擊者通過發(fā)送惡意arguments攻擊我們的系統(tǒng),確實有時候需要允許Nagios發(fā)送command arguments,但如果大部分時候不需要啟用此功能,那么一定要禁用。
禁用此功能需要編輯/etc/nagios/nrpe.cfg 并確保你執(zhí)行下列命令:
dont_blame_nrpe=0
用戶進行任何配置更改后都必須重新啟動nrpe.cfg,想要了解更多關(guān)于NRPE安全的信息請閱讀數(shù)據(jù)包源文件中的SECURITY文件。
保護通信渠道安全
在網(wǎng)絡(luò)進行通信時,必然要涉及到通信安全問題,這也正是SSL的用武之地。
NRPE可以允許你啟用SSL功能,但是數(shù)據(jù)包必須已經(jīng)配置為–enable-ssl option(啟用SSL選項),如果NRPE配置為使用SSL功能,請注意客戶端和服務(wù)器都必須同時啟用。
下一步我們還需要配置SSL以提高其安全性,這樣才不至于發(fā)送簡單的純文本web界面密碼:
# openssl genrsa -des3 -out server.3des-key 1024
# openssl rsa -in server.3des-key -out server.key
# openssl req -new -key server.key -x509 -out server.crt -days 365
# chmod 600 server.key
# rm server.3des-key
# mv server.crt /etc/ssl/
# mv server.key /etc/ssl/private/
現(xiàn)在我們已經(jīng)生成了證書,需要告訴Apache來使用這些證書。
在Apache配置中,需要添加SSLRequireSSL選項,例如:
SSLRequireSSL Options:ExecCGI AllowOverride:None Order allow:deny Allow from:192.168.4. AuthName:"Nagios Access" AuthType:Digest AuthDigestFile:/usr/local/nagios/etc/htpasswd.users Require:valid-user |
請記住重新啟動Apache:
# /etc/init.d/apache2 restart
現(xiàn)在Nagios服務(wù)器已經(jīng)很安全了,下一步就是即使進行安全更新。
看過文章“如何提升nagios服務(wù)器安全”的人還看了:
5.Windows服務(wù)器的基礎(chǔ)安全加固方法
8.怎么利用服務(wù)器的DHCP維護局域網(wǎng)安全
9.怎么設(shè)置網(wǎng)件PR2000為公共熱點安全模式
10.服務(wù)器物理安全