對於擁有自己的虛擬主機(實體伺服器或經銷商)的使用者的問題:
您的伺服器上是否存在需要處理的常見安全性問題?關於應該禁用的麻煩的事情有什麼建議嗎?我應該避免哪些針對虛擬主機的愚蠢的安全錯誤?最近有影響網站主機的漏洞嗎?
答案1
向任何擁有 PayPal 帳戶或信用卡的人提供用戶級存取權限的做法本身就是瘋狂的。在過去六年的大部分時間裡,我一直在託管行業工作,但我仍然覺得它很瘋狂。
這是我對大多數伺服器(共享或非共享)所做的操作的列表,沒有特定的邏輯順序:
- 我幾乎從不使用發行版提供的核心。在 grsecurity 允許的範圍內,我保留了我們自己的核心樹,它與 Linux 主線保持同步。它不僅是一種安全措施,也是一種最佳化措施。您不會在我們的核心中找到諸如並行/USB/音訊支援之類的東西(因為網頁伺服器不需要它們)。內核的建構是為了僅利用板上我們需要的東西。
- 9/10 有缺陷的使用者腳本會帶來不好的事情。許多客戶對 PHP 的了解足夠多,以至於有危險。 mod_security 是我最好的朋友之一,我付費訂閱強化的規則集,並幾乎每週更新它們。
- 審計很重要,我還建議使用 OSSEC 或類似的東西。
- 我的所有伺服器都連接到維護 LAN,我可以獨立於公共網路進行存取。當/如果事情確實變壞並且您發現您的伺服器如此忙於在互聯網上發送垃圾資料包時,您會很高興有另一種方法。 ,取決於硬體。
- 最近,我一直在使用 Xen 作為共享伺服器的管理階層。我創建了一個擁有系統 99% 記憶體的來賓。這使我能夠輕鬆地執行檔案系統修復/快照/等操作。如果出現問題,它確實可以幫助恢復(並且可以方便地從共享伺服器中隱藏 LAN)。
- 我維護一個非常嚴格的基於 iptables 的防火牆,在出口方面尤其嚴格。
- 我對誰可以存取系統編譯器和連結工具非常小心。
- 我虔誠地更新系統軟體。
- 我定期進行掃描,以確保人們不會無意中運行流行應用程式的舊版本和易受攻擊的版本,例如 Wordpress、PHPBB 等。
- 我提供免費安裝客戶「在網路上找到」的東西。這確實有助於我審核託管內容,同時為客戶提供額外價值。它還有助於確保安全、正確地安裝物品。
- 始終、始終、始終強化 PHP,確保您也對 PHP 使用 suexec。沒有什麼比在 /tmp 中找到「無人」擁有的機器人更糟糕的了:)
最後,最後但並非最不重要的一點是:
- 我實際上閱讀了系統日誌檔。許多主機在發現問題後才跑來查看問題所在。即使在使用 OSSEC 等工具時,積極主動也很重要。
答案2
看起來其他人正在討論很多細節,但是惡意活動的最大來源必須是文件傳輸協定。
將其鎖定到某些 IP,並對不需要它的帳戶禁用它。除非有要求,甚至禁用服務。
在惡意程式碼上傳到網站後,我必須處理數十次駭客攻擊,要么向全世界發送垃圾郵件,要么透過 iframe 注入重定向訪客。它們很少獲得 root 或 shell 存取權限,相反,它們只會導致大量手動清理伺服器黑名單和手動搜尋程式碼的工作。
駭客攻擊的主要來源不是伺服器本身,而是受感染的最終用戶 PC,它們嗅探 FTP 密碼並將其發送回母艦,然後用於稍後從另一台電腦上傳程式碼。
答案3
我在一家網頁寄存公司工作了一段時間,確保所有用戶的安全是一場噩夢。特別是在共享環境上。私有伺服器更容易跟踪,因為安全性問題僅與該系統隔離。
關於共享主機需要記住的一些事項:
- 一個站點中的錯誤可能會影響所有其他站點。所以盡量限制每個使用者可以做的事情並對權限進行限制。包括ulimit、php限制等。
- 監控系統和各個站點。像 OSSEC 這樣的工具可以非常方便地處理所有資訊。
- Linux 核心對於本機漏洞沒有很好的追蹤。因此,請確保它始終更新並使用核心安全性擴充(grsecurity、SELinux 等)。
對於私人伺服器,您將安全性留給用戶,但請確保在網路上安裝適當的 QOS、NIDS 和反 DOS 工具。