查看完整版本: 加強 php.ini 的安全性設定


cuteftp 2014-6-13 09:45

加強 php.ini 的安全性設定

<span style="font-weight: bold">safe_mode = on</span><br>限制system, exec等系統執行的能力,限制某些function只能處理與自己同一個UID的檔案。<br>safe_mode受限制的功能請參考http://tw2.php.net/manual/en/features.safe-mode.functions.php<br><br>因為mail()的第五個參數有漏洞,可突破safe_mode的限制,執行系統命令,最好disable,以SMTP的方式替代寄信。<br><br><span style="font-weight: bold">register_globals = off</span><br><br><span style="font-weight: bold">allow_url_fopen = Off </span>(很重要的設定)<br>allow_url_fopen 打開的時候, 如果有人傳入一個參數為 xxx=http://xxx/xxx 之類的東西,<br>如果這個 php 的程式, 沒有檢查這個變數, 或是 register_globals 是開啟的情形下, 也許會造成這個 php 使用<br>include() 去把遠端那個 URL 的檔案給引入執行.... 也就是執行到了別人寫的程式, 這時... 自然別人想在那裡頭做什麼,<br>就能夠做什麼了.<br><br><span style="font-weight: bold">display_errors = off</span><br>盡量不要在正式上線的主機直接顯示錯誤在頁面上,以避免暴露系統資訊。如需有debug的需要則開啟log_errors = On ,並以error_log = filename指定錯誤訊息要記錄到哪個檔案。<br><br><font color="#ff0000"><span style="font-weight: bold">disable_functions = </span>
(很重要的設定,對外的Web建議要把可以執行系統指令的functions拿掉)</font>
<br>disable_functions = exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source<br>非必要一定要關閉的funciton,不然駭客會利用來執行檔案來取得你的管理權限。<br><br>能的話盡量將php檔案編碼過,可避免駭客在得到你的程式後,進一步分析程式的漏洞。<br><br>盡量限制可上傳檔案的folder,其他的目錄都不要讓web server有寫入的權限。<br><br>php檔案的owner不能是root,配合safe_mode使用,可以避免駭客利用來以root身份執行命令。<br>fsockopen能的話也關掉,但是因為有部分套裝程式會用到,例如Horde Webmail,如果關掉fsockopen imap會連不上。
頁: [1]
查看完整版本: 加強 php.ini 的安全性設定