只有已知 php 軟體的系統上的 php 安全性(或:需要替代的非 PHP CMS)
由於 PHP 的安全記錄和項目處理安全的方式,我對 PHP 深表反感。不幸的是,我必須部署一個 CMS,並且我需要一個現代主題。到目前為止,我幾乎到處都看過,但它總是歸結為基於 PHP 的 CMS,因為這是大眾正在使用的東西,也是設計師正在設計的東西。:(
現在我已經選擇了 Drupal,它是一個維護得當的項目,並且處理安全漏洞堪稱典範。但是一般來說,不得不公開部署 php 仍然是苦澀的。
到目前為止,我所做的是:
- 使用 PHP-FPM 連結 PHP:套接字、chroot、未授權的自己的使用者,…
- 強化了我的網路根目錄周圍的文件系統權限
- 停留在 PHP 5.3.xw/suhosin 活躍(5.4.x 還沒有 suhosin)
- 將 Drupal 不需要的每個模組都排除在 PHP 之外
- …
老實說,我主要關心的是 PHP。我還能做些什麼來保護主機?對於那些在 Drupal 和 PHP 方面有更多經驗的人(我自己是 C++ 開發人員),PHP 在一個只部署一個已知包而沒有使用者 PHP 腳本或類似東西的系統上真正構成了多大的安全風險?
即使聽起來像,我也不是 Linux 或伺服器新手。:) PHP 不是我的主要遊戲領域,因為它反復出現和持續的負面新聞以及我對 Web 開發缺乏興趣……
或者,我真的很想使用依賴於 Perl、Python 甚至 Ruby 的 CMS。因此,如果有人知道一個好的 CMS 系統,它有很好的付費主題,支持靈活的佈局以及部落格引擎,還支持 PostgreSQL(我選擇的數據庫),我會全神貫注……
感謝您花時間閱讀這篇有點奇怪的文章。:-)
**更新:**我忘了提到,不用說我正確維護了我的伺服器,有一個限制性的防火牆,並且盡了這些天可以做的最好的事情。
您提到您有一個受限制的防火牆 - 不要忘記您可以通過 UID 阻止傳出連接。
如果您在自己的使用者 ID 下執行 PHP,您可以(並且應該!)拒絕使用者傳出的 HTTP/HTTPS 連接,除非您需要允許更新檢查或 RSS 提要獲取。這將防止任何被利用的程式碼能夠下載 rootkit。
我對你的問題有點困惑,但根據我的經驗,我確實認識到你的問題。談到模板建構,可能是 Wordpress(即使您最初並未計劃為 CMS)而不是 Drupal 是許多設計師的最佳選擇。
我一直在執行僅安裝了 wordpress 的虛擬伺服器,並且就您經常更新軟體包而言,應該有任何重大故障。除了嘗試記憶體 cookie 的幾次失敗嘗試之外,我還看到了任何令人不安的事情。
我的問題也是 php 的一般漏洞以及利用安全整體的使用者數量,這也是不跳入流行的 Java Web 開發世界的原因。我的解決方案是使用Python Web 框架,特別是Django Project。我的主要關注點是 Web 服務、應用程序或網站的前端,所有 Django 在後端都可以很好地工作。一旦你有一個 html/css 設計的模板,為它設計一個模板就非常容易,這似乎就是你要找的。
希望能給您一些關於 CMS 可能性的替代觀點,並在一定程度上回答您的問題。