Apache-2.2

抵禦 c99 和類似的外殼

  • December 5, 2012

我試圖在不限制我的選擇的情況下盡可能多地保護我的伺服器,所以作為第一步,我已經用 php 防止了危險的功能

disable_functions = "apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode" 

但我仍在與目錄旅行作鬥爭,我似乎無法限制它,通過使用像 c99 這樣的 shell 腳本,我可以從 /home/dir 到光碟上的任何地方。

我怎樣才能一勞永逸地限制它?

我正在嘗試盡可能多地保護我的伺服器而不限制我的選擇

. . . 那麼現在不會很安全,是嗎?

你不能通過在你偶然發現的洞上放一點口香糖來保護系統。如果您認為這是正確的方法,那麼您就是以錯誤的方式看待安全問題。

正如Michael Hampton 所說,您需要從編寫安全程式碼開始。


但我仍在與目錄旅行作鬥爭,我似乎無法限制它……我怎麼能一勞永逸地限制它?

chroot網路伺服器。這是唯一的解決方案。

你採取的任何其他步驟都是嚼口香糖堵住一個洞——如果你想確保惡意使用者無法接觸到任何敏感的東西,請將他們鎖在一個沒有任何敏感內容的盒子裡,不要讓他們出去。

引用自:https://serverfault.com/questions/455255