1、什么是Suhosin?
Suhosin是一個PHP程序的保護系統。它的設計初衷是為了保護服務器和用戶抵御PHP程序和PHP核心中(看了下我的空間服務商的phpinfo,不知道為什么沒有實用內核補丁…),已知或者未知的缺陷(感覺挺實用的,可以抵御一些小攻擊)。Suhosin有兩 個獨立的部分,使用時可以分開使用或者聯合使用。(既然空間商沒用內核補丁,偶就不用啦~~)第一部分是一個用於PHP核心的補丁,它能抵御緩沖區溢出或者格式化串的弱點(這個必須的!);第二部分是一個強大的 PHP擴展(擴展模式挺好的,安裝方便…),包含其他所有的保護措施
2.各種特性
- 模擬器保護模式
- 增加兩個函數sha256()和sha256_file()到PHP核心中(表示還不知道這兩個函數是做什么的…)
- 所有平台,加入CRYPT_BLOWFISH到函數crypt()中
- 打開對phpinfo()頁的透明保護
- SQL數據庫用戶保護(測試階段)
3.運行時保護
- 加密cookies
- 防止不同種類的包含漏洞(不允許遠程URL包含(黑/白名單);不允許包含已上傳的文件;防止目錄穿越攻擊)
- 允許禁止preg_replace() /e 修改選項
- 允許禁止eval()函數
- 通過配置一個最大執行深度,來防止無窮遞歸
- 支持每個vhost配置黑白名單
- 為代碼執行提供分離的函數黑白名單
- 防止HTTP響應拆分漏洞
- 防止腳本控制memory_limit選項
- 保護PHP的superglobals,對於函數extract() import_request_vars()
- 防止mail()函數的新行攻擊
- 防止preg_replace()的攻擊
4.Session 保護
- 加密session數據
- 防止session被劫持
- 防止超長的session id
- 防止惡意的session id
5.過濾特性
6.日志特性(略)
7.更多的強大功能等着里去發掘哦~~!
安裝方法
!/bin/sh #首先下載 wget -c http://download.suhosin.org/suhosin-0.9.33.tgz tar zxvf suhosin-0.9.33.tgz cd suhosin-0.9.33 #這個視你的安裝路徑來 /usr/local/php/bin/phpize # #這個同上,也是視安裝路徑來的 ./configure -with-php-config=/usr/local/php/bin/php-config # make cd modules # cp suhosin.so extension_dir/ #vim 編輯php.ini 找到 extension_dir,將上面的 extension_dir 替換為找到的extension_dir的“=”后面的路徑 #注意路徑后面的斜杠! #然后找到許多“;extension=”的那部分,添加: extension=suhosin.so #再到最底部加入“suhosin.executor.disable_eval = on”來禁止eval函數 #然后:wq保存! #再輸入: service httpd restart #重啟 Apache 再看看phpinfo,是不是在Zend Engine那欄出現了 #with Suhosin v0.9.33 #OK,如果出現了,那么就代表着安裝完成
以上參考
http://www.shenqhy.com/using-the-php-suhosin-protect-your-environment-install-suhosin.html
http://demon.tw/software/suhosin-php.html
http://blog.ihipop.info/2011/03/2188.html
官方 https://suhosin.org/stories/index.html