到目前爲止,我的搜索已經顯示了嘗試從PHP執行sudo'd命令時將會發生的潛在安全漏洞。通過PHP使用sudo執行shell命令
我目前的問題是我需要通過PHP的exec()函數在我的工作Web服務器上運行一個bash腳本作爲sudo。我們目前託管的網站少於200個。這樣做的網站只能通過我的辦公室的IP地址訪問。這是否會消除任何可用解決方案帶來的任何潛在安全問題?
其中一種方法是將apache用戶添加到sudoers文件,我認爲這將適用於整個服務器,因此仍然會在所有其他網站上提出問題。
在限制訪問我們的辦公室的網站上使用時,是否有任何解決方案不會構成安全威脅?
在此先感謝。
編輯:簡要背景
這裏的正是我想要實現的簡要說明。我工作的公司開發旅遊相關業務的網站等等。在創建新網站時,我需要設置一個託管軟件包,其中包括:爲新站點創建目錄結構,創建一個包含在httpd.conf中的apache配置文件,添加一個新的FTP用戶,創建一個新的用於網站CMS的數據庫僅舉幾例。
目前我在服務器上創建目錄結構的bash腳本,添加用戶,創建apache配置文件並正常重新啓動apache。這只是其中一部分,我期望做的是在PHP腳本中使用這個shell腳本,以簡單易用的方式自動完成整個網站生成過程,對於其他同事以及一般效率。
有將使用這個腳本沒有其他網址,請看我上面的編輯拿到的劇本不正是一個想法。它嚴格用於內部使用,客戶端網站都不會有任何對shell腳本的調用。這對於選項1(這似乎是最簡單的)的安全問題會產生什麼影響? –
@威廉斯圖爾特:至少這是你的意圖!如果某些php軟件具有文件系統讀取訪問您正在調用shell腳本的php-script的權限,並且該軟件中的某個安全問題允許外部用戶包含您的php文件(允許執行shell腳本),那麼該腳本可以執行它! – urzeit
@WilliamStewart:看我的編輯 – urzeit