Suhosin là một hệ thống bảo vệ mã nguồn PHP mà nó hoạt động như một PHP module nhằm chống lại một số hình thức khai thác lỗ hổng thông qua các đoạn mã PHP. Ví dụ như nó sẽ có thể giúp bạn hạn chế các lỗ hổng SQL Injection hay Remote Attack, thêm một lớp bảo vệ trên một số hàm nhạy cảm trong PHP như mail(), eval(), preg_replace(), ngoài ra còn có rất nhiều tính năng khác mà bạn có thể xem tại đây.
Ở bài này, mình sẽ hướng dẫn cách cài Suhosin trên máy chủ Linux ở các hệ điều hành RHEL/CentOS và Ubuntu/Debian.
Cập nhật package
Hãy chắc chắn là chúng ta nên cập nhật các software trong package lên phiên bản mới nhất.
RHEL/CentOS
yum update -y
Ubuntu/Debian
apt-get update
Cài php-devel
Do chúng ta cài Suhosin từ source nên sẽ cần php-devel để có thể sử dụng phpize.
RHEL/CentOS
yum install php-devel
Ubuntu/Debian
apt-get install php5-dev
Cài Suhosin
Sau khi đã làm xong các bước trên, bạn hãy tải mã nguồn của Suhosin bản mới nhất tại đây.
wget https://download.suhosin.org/suhosin-0.9.38.tar.gz --no-check-certificate
Rồi giải nén ra
tar -xvf suhosin*
Rồi truy cập vào thư mục suhosin
cd suhosin*
Rồi lần lượt chạy các lệnh sau để build mã nguồn.
phpize ./configure make make install
Bây giờ bạn đã có module suhosin trong thư mục mã nguồn của PHP rồi. Bây giờ bạn chỉ việc kích hoạt nó bằng cách thêm đoạn sau vào cuối file php.ini
extension=suhosin.so
Nếu bạn không biết file php.ini của bạn nằm ở đâu thì chạy lệnh dưới.
php -i |grep php.ini
Cuối cùng là khởi động lại PHP hoặc PHP-FPM của bạn là được. Để kiểm tra xem Suhosin có load chưa, bạn có thể gõ lệnh dưới đây.
# php -v PHP 5.6.10-1+deb.sury.org~precise+1 (cli) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies with Suhosin v0.9.38, Copyright (c) 2007-2015, by SektionEins GmbH
Chúc bạn thành công!