PHP, безопасность · 2 min read · Oct 25, 2025

Как укрепить PHP5 с помощью Suhosin на CentOS 5.0

Как укрепить PHP5 с помощью Suhosin на CentOS 5.0

Версия 1.0
Автор: Фалко Тимме

Этот учебник показывает, как укрепить PHP5 с помощью Suhosin на сервере CentOS 5.0. С страницы проекта Suhosin: “Suhosin — это продвинутая система защиты для установок PHP, которая была разработана для защиты серверов и пользователей от известных и неизвестных уязвимостей в PHP-приложениях и ядре PHP. Suhosin состоит из двух независимых частей, которые могут использоваться отдельно или в комбинации. Первая часть — это небольшой патч для ядра PHP, который реализует несколько низкоуровневых защит от переполнения буфера или уязвимостей форматной строки, а вторая часть — это мощное расширение PHP, которое реализует все остальные защиты.”

Этот документ предоставляется без каких-либо гарантий! Я хочу сказать, что это не единственный способ настройки такой системы. Существует много способов достижения этой цели, но это тот путь, который я выбираю. Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Я протестировал это на сервере CentOS 5.0 с IP-адресом 192.168.0.100.

Я установлю обе части Suhosin в этом учебнике, патч Suhosin (для которого нам нужно перекомпилировать PHP5) и расширение PHP Suhosin. Чтобы увидеть, что может сделать Suhosin, пожалуйста, обратитесь к http://www.hardened-php.net/suhosin/a_feature_list.html. Функции патча Suhosin перечислены в разделе Защита движка (только с патчем); все остальные функции идут с расширением Suhosin.

2 Установка Apache2 и PHP5 (необязательно)

(Эта глава является необязательной, если у вас уже установлен Apache2 и PHP5 — пожалуйста, переходите к следующей главе.)

Если у вас нет установленного Apache2 и PHP5 на вашем сервере, установите их сейчас:

yum install httpd php php-devel

Затем создайте системные ссылки для запуска Apache2 и запустите Apache2:

chkconfig --levels 235 httpd on  
/etc/init.d/httpd start

Теперь у вас есть PHP5 с базовой функциональностью на вашем сервере; если вам нужны специальные модули PHP5, вы можете искать их так:

yum search php

Из вывода выберите необходимые модули, установите их так и перезапустите Apache2:

yum install php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc
/etc/init.d/httpd restart

3 Получение информации о вашей установке PHP5

Если вы еще не создали виртуальные хосты в вашей установке Apache, корневая директория по умолчанию для веб-сайта — /var/www/html. Теперь мы создадим небольшой PHP-файл (info.php) в этой директории (если вы создали виртуальные хосты, поместите его в любой из виртуальных хостов, где включен PHP) и вызовем его в браузере. Файл отобразит много полезных деталей о нашей установке PHP, таких как установленная версия PHP.

vi /var/www/html/info.php

| |

Теперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php):

Как вы видите, наша версия PHP — 5.1.6, и Suhosin нигде не упоминается на этой странице, что означает, что он не установлен.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.