Cài đặt Suhosin cho PHP trên Linux

8 Tháng Bảy, 2015

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!