用Suhosin加強PHP指令碼語言安全性

來源:互聯網
上載者:User


PHP是一種非常流行的網站指令碼語言,但是它本身所固有的安全性是非常薄弱。本文講述了PHP增強計劃(Hardened-PHP project)和新的Suhosi計劃,Suhosin提供了增強PHP的安全配置。

PHP是帶有爭論地但又是最流行的一種網站指令碼語言。它之所以流行,是因為它低廉的價格,然而,這低廉的價格導致用PHP寫的網站應用程式程式越來越多的同時也越來越多的展現出PHP本身在安全上的脆弱,這種安全特性顯示出PHP是極不可靠,不過同時對這個指令碼語言本身而言它又是非常靈活的,使用它就能很容易的實現代碼,不過這些代碼都是臃腫的且不安全的,雖然是這樣它還是一直都擁有很多的使用者。你可以根據實際情況來假設,一次又一次,各種應用軟體都體現了這種脆弱性:容易受到SQL注入、跨站指令碼、任意執行指令等等的攻擊。

因為象safe_mode和open_basedir這樣內建的PHP安全措施將被忽略,PHP增強計劃建立的PHP更具有安全性,同時也對PHP進行校正檢查。最初,這些是由增強PHP補丁完成的,這些補丁需要修補並重新編譯PHP自身。最近,PHP增強計劃發布了一個名為Suhosin的新工程。

Sohosin包括有兩部分:第一部分是PHP的補丁,這個補丁強化了Zend引擎自身,以免可能產生緩衝溢出,也可以防止相關的弱點。第二部分是Suhosin的擴充,這是一個PHP的獨立使用模組。這兩部分可以一起工作,或者是擴充部分單獨工作。

開發人員不希望為了達到安全性而總去維護他們自己的PHP安裝設定和他們當然更喜歡直接使用銷售商提供的Linux分布系統上PHP,使用擴充模組能提供更多PHP本身所不能具有的安全特點。

擴充模組很容易安裝;它也能通過PECL安裝,或者是下載後通過編譯安裝:

$ tar xvzf suhosin-0.9.17

$ cd suhosin-0.9.17

$ phpize

$ ./configure

$ make

$ sudo make install

為了使用suhosin,還需要增加/etc/php.ini,如下所示:

extension=suhosin.so

對於大部分人來說預設的配置選項已經足夠了。為了加強設定,可以在/etc/php.ini中增加相應的值。網站中詳細地介紹了有關的各種配置選項,這些說明可以協助你進行初始化配置。

使用Suhosin,你可以得到一些錯誤記錄檔,你能把這些日誌放到系統日誌中,也可以同時寫到其他任意的記錄檔中去;它還可以為每一個虛擬機器主機建立黑名單和白名單;可以過濾GET和POST請求、檔案上傳和cookie。你還能傳送加密的會話和cookie,可以設定不能傳送的儲存上線等等。它不像原始的PHP強化補丁,Suhosin是可以被像Zend Optimizer這樣的第三方擴充軟體所相容的。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.