增強的CGI安全性和身份驗證
介紹
本文旨在作為圍繞CGI Web界面實現更強大的身份驗證和服務器安全性的簡介。
有很多方法可以增強監視服務器和Nagios環境的安全性。這不應被視為最終所有安全措施。相反,可以將其視為對可以用來加強系統安全性的一些技術的介紹。與往常一樣,您應該進行研究并使用最好的技術。將您的監視服務器視為網絡中最重要的服務器,您將得到回報。
附加技術
使用摘要式身份驗證的更強身份驗證 如果您已經按照快速入門指南進行操作,則很可能正在使用Apache的基本身份驗證。基本身份驗證將在每個http請求中以“明文”形式發送您的用戶名和密碼。考慮使用更安全的身份驗證方法,例如摘要身份驗證,該方法會創建您的用戶名和密碼的MD5哈希,以隨每個請求發送。
強制進行所有Web通信的TLS / SSL Apache 通過mod_ssl模塊提供TLS / SSL。TLS / SSL在客戶端和服務器之間提供了安全的隧道,可使用強大的公鑰/私鑰加密技術防止竊聽和篡改。
使用訪問控制鎖定Apache 請考慮將對Nagios框的訪問鎖定到您的IP地址,IP地址范圍或IP子網。如果您需要網絡外部的訪問,則可以使用VPN或SSH隧道。這是限制系統訪問HTTP / HTTPS的簡便而有效的方法。
實施摘要式身份驗證
摘要式身份驗證的實現很簡單。您將必須使用“ htdigest”工具創建新型的密碼文件,然后修改nagios的Apache配置(通常是/etc/httpd/conf.d/nagios.conf)。
使用“ htdigest”工具創建一個新的密碼文件。如果您熟悉“ htpasswd”工具,將會注意到的區別是要求提供“領域”參數。在這種情況下,“領域”是指Apache配置中“ AuthName”指令的值。
htdigest -c /usr/local/nagios/etc/.digest_pw“ Nagios訪問” nagiosadmin
接下來,使用以下示例編輯Nagios的Apache配置文件(通常是/etc/httpd/conf.d/nagios.conf)。
##開始APACHE CONFIG SNIPPET-NAGIOS.CONF
ScriptAlias / nagios / cgi-bin“ / usr / local / nagios / sbin”
<目錄“ / usr / local / nagios / sbin”>
選件ExecCGI
AllowOverride無
訂單允許,拒絕
全部允許
AuthType摘要
AuthName“ Nagios訪問”
AuthDigestFile /usr/local/nagios/etc/.digest_pw
需要有效用戶
</目錄>
別名/ nagios“ / usr / local / nagios / share”
<目錄“ / usr / local / nagios / share”>
選項無
AllowOverride無
訂單允許,拒絕
全部允許
AuthType摘要
AuthName“ Nagios訪問”
AuthDigestFile /usr/local/nagios/etc/.digest_pw
需要有效用戶
</目錄>
END APACHE CONFIG SNIPPETS
然后,重新啟動Apache服務,以使新設置生效。
/etc/init.d/httpd重新啟動
實施強制TLS / SSL
確保已安裝Apache和OpenSSL。默認情況下,如果仍然遇到問題,您應該具有mod_ssl支持,您可能會在閱讀Apache的TLS / SSL加密文檔時找到幫助。
接下來,通過使用HTTPS(https://your.domain/nagios)訪問Nagios Web界面來驗證TLS / SSL支持是否正常工作。如果工作正常,則可以繼續執行將強制使用HTTPS并阻止對Nagios Web Interface的所有HTTP請求的后續步驟。如果您遇到問題,請訪問Apache的TLS / SSL加密文檔和Google,以對您的特定Apache安裝進行故障排除。
接下來,通過將’SSLRequireSSL’指令添加到’sbin’和’share’目錄中,為Nagios編輯Apache配置文件(通常是/etc/httpd/conf.d/nagios.conf)。
##開始APACHE CONFIG SNIPPET-NAGIOS.CONF
ScriptAlias / nagios / cgi-bin“ / usr / local / nagios / sbin”
<目錄“ / usr / local / nagios / sbin”>
…
SSL要求SSL
…
</目錄>
別名/ nagios“ / usr / local / nagios / share”
<目錄“ / usr / local / nagios / share”>
…
SSL要求SSL
…
</目錄>
END APACHE CONFIG SNIPPETS
重新啟動Apache服務,以使新設置生效。
/etc/init.d/httpd重新啟動
實施IP子網鎖定
以下示例將展示如何使用Apache的訪問控制將Nagios CGI鎖定到特定的IP地址,IP地址范圍或IP子網。
通過使用“ Allow”,“ Deny”和“ Order”指令,以以下示例為示例,為Nagios編輯Apache配置文件(通常為/etc/httpd/conf.d/nagios.conf)。
##開始APACHE CONFIG SNIPPET-NAGIOS.CONF
ScriptAlias / nagios / cgi-bin“ / usr / local / nagios / sbin”
<目錄“ / usr / local / nagios / sbin”>
…
AllowOverride無
拒絕訂單,允許
全部拒絕
從127.0.0.1允許10.0.0.25#允許單個IP地址
允許從10.0.0.0/255.255.255.0#允許網絡/網絡掩碼對
從10.0.0.0/24允許#允許網絡/ nnn CIDR規范
…
</目錄>
別名/ nagios“ / usr / local / nagios / share”
<目錄“ / usr / local / nagios / share”>
…
AllowOverride無
拒絕訂單,允許
全部拒絕
從127.0.0.1允許10.0.0.25#允許單個IP地址
允許從10.0.0.0/255.255.255.0#允許網絡/網絡掩碼對
從10.0.0.0/24允許#允許網絡/ nnn CIDR規范
…
</目錄>
Nagios Core中文使用教程
推薦文章: