PHP adalah bahasa skrip situs web yang sangat populer, namun keamanan bawaannya sangat lemah. Artikel ini menjelaskan rencana peningkatan PHP (proyek Hardened-PHP) dan rencana Suhosi baru yang menyediakan konfigurasi keamanan PHP yang ditingkatkan.
PHP adalah bahasa skrip situs web yang kontroversial namun paling populer. Ini populer karena harganya yang murah. Namun, harga yang rendah ini menyebabkan semakin banyak aplikasi situs web yang ditulis dalam PHP, dan pada saat yang sama, semakin banyak PHP itu sendiri yang terkena kerentanan keamanan semacam ini Fitur-fiturnya menunjukkan bahwa PHP sangat tidak dapat diandalkan, tetapi pada saat yang sama bahasa skrip itu sendiri sangat fleksibel, dan mudah untuk mengimplementasikan kode yang menggunakannya, tetapi kode-kode ini membengkak dan tidak aman, meskipun demikian, masih banyak pengguna. Anda dapat berasumsi bahwa, berkali-kali, semua jenis aplikasi menunjukkan kerentanan ini: rentan terhadap injeksi SQL, skrip lintas situs, eksekusi sewenang-wenang, dan banyak lagi.
Karena langkah-langkah keamanan bawaan PHP seperti safe_mode dan open_basedir diabaikan, Proyek Peningkatan PHP menciptakan PHP yang lebih aman dan juga melakukan pemeriksaan validasi pada PHP. Awalnya, hal ini dicapai dengan perbaikan patch PHP yang memerlukan patch dan kompilasi ulang PHP itu sendiri. Baru-baru ini, Proyek Peningkatan PHP merilis proyek baru bernama Suhosin.
Sohosin terdiri dari dua bagian: Bagian pertama adalah patch PHP. Patch ini memperkuat mesin Zend itu sendiri untuk menghindari kemungkinan buffer overflows dan mencegah kelemahan terkait. Bagian kedua adalah ekstensi dari Suhosin yang merupakan modul stand-alone untuk PHP. Kedua bagian tersebut dapat bekerja sama, atau ekstensi dapat bekerja secara mandiri.
Para pengembang tidak ingin harus memelihara instalasi PHP mereka sendiri demi mencapai keamanan dan mereka tentu lebih memilih untuk menggunakan PHP langsung pada sistem distribusi Linux yang disediakan oleh vendor, menggunakan modul ekstensi untuk memberikan lebih banyak fitur keamanan yang tidak dapat dimiliki oleh PHP sendiri.
Ekstensi ini mudah dipasang; dapat juga dipasang melalui PECL, atau diunduh dan dikompilasi:
$ tar xvzf suhosin-0.9.17
$ cd suhosin-0.9.17
$ phpize
$ ./configure
$ make
$ sudo make install
Untuk menggunakan suhosin , Anda juga perlu menambahkan /etc/php.ini, seperti yang ditunjukkan di bawah ini:
extension=suhosin.so
Bagi kebanyakan orang, opsi konfigurasi default sudah cukup. Untuk memperkuat pengaturan, Anda dapat menambahkan nilai yang sesuai di /etc/php.ini. Berbagai opsi konfigurasi diperkenalkan secara rinci di situs web. Petunjuk ini dapat membantu Anda dengan konfigurasi awal.
Dengan menggunakan Suhosin, Anda bisa mendapatkan beberapa log kesalahan. Anda dapat memasukkan log ini ke dalam log sistem atau menuliskannya ke file log lainnya secara bersamaan; itu juga dapat membuat daftar hitam dan daftar putih untuk setiap host virtual; permintaan, unggahan file, dan cookie. Anda juga dapat mengirim sesi dan cookie terenkripsi, mengatur penyimpanan yang tidak dapat dikirim, dan banyak lagi. Berbeda dengan patch pengerasan PHP asli, Suhosin kompatibel dengan ekstensi pihak ketiga seperti Zend Optimizer.