[公告] PHP 安全的漏洞
人氣1008
儘管已經在防火牆上用功了,無奈網站還是被駭客變臉了,現在針對Web的攻擊,絕對不是Firewall能抵擋的,主要還是要留意Web是否有安全的漏洞,最常要注意的就是那些Server site script的安全性,以下大概介紹一下PHP在安全上要注意的設定。
safe_mode = on
限制system, exec等系統執行的能力,限制某些function只能處理與自己同一個UID的檔案。
safe_mode受限制的功能請參考http://tw2.php.net/manual/en/features.safe-mode.functions.php
因為mail()的第五個參數有漏洞,可突破safe_mode的限制,執行系統命令,最好disable,以SMTP的方式替代寄信。
register_globals = off
allow_url_fopen = Offallow_url_fopen 打開的時候, 如果有人傳入一個參數為 xxx=http://xxx/xxx 之類的東西,如果這個 php 的程式, 沒有檢查這個變數, 或是 register_globals 是開啟的情形下, 也許會造成這個 php 使用include() 去把遠端那個 URL 的檔案給引入執行.... 也就是執行到了別人寫的程式, 這時... 自然別人想在那裡頭做什麼,就能夠做什麼了.display_errors = off
盡量不要在正式上線的主機直接顯示錯誤在頁面上,以避免暴露系統資訊。如需有debug的需要則開啟log_errors = On ,並以error_log = filename指定錯誤訊息要記錄到哪個檔案。
magic_quotes_gpc = on
默認是on,但需檢查一遍
open_basedir =web目錄
盡量將網站的起路徑限制在web的路徑,並免駭客去引用web路徑以外的檔案。
disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod
disable_functions = (很重要的設定,對外的Web建議要把可以執行系統指令的functions拿掉) system,exec,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,dl,set_time_limit
disable_functions = (很重要的設定,對外的Web建議要把可以執行系統指令的functions拿掉) system,exec,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,dl,set_time_limit
非必要一定要關閉的funciton,不然駭客會利用來執行檔案來取得你的管理權限。
能的話盡量將php檔案編碼過,可避免駭客在得到你的程式後,進一步分析程式的漏洞。
盡量限制可上傳檔案的folder,其他的目錄都不要讓web server有寫入的權限。
php檔案的owner不能是root,配合safe_mode使用,可以避免駭客利用來以root身份執行命令。
人氣1008
這些評論各由發表者自負責任. 對於他們的發言內容, 本站不提供任何擔保.