PHP Security · 2 min read · Oct 24, 2025
Как укрепить PHP5 с помощью Suhosin на OpenSuSE 10.2
Как укрепить PHP5 с помощью Suhosin на OpenSuSE 10.2
Версия 1.0
Автор: Фалко Тимме
Это руководство показывает, как укрепить PHP5 с помощью Suhosin на сервере OpenSuSE 10.2. С страницы проекта Suhosin: “Suhosin — это продвинутая система защиты для установок PHP, которая была разработана для защиты серверов и пользователей от известных и неизвестных уязвимостей в PHP-приложениях и ядре PHP. Suhosin состоит из двух независимых частей, которые могут использоваться отдельно или в комбинации. Первая часть — это небольшой патч для ядра PHP, который реализует несколько низкоуровневых защит от переполнения буфера или уязвимостей форматной строки, а вторая часть — это мощное расширение PHP, которое реализует все остальные защиты.”
Этот документ предоставляется без каких-либо гарантий! Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
Я протестировал это на сервере OpenSuSE 10.2 с IP-адресом 192.168.0.100.
Это руководство немного нетипично, потому что вам не нужно ничего делать, чтобы установить Suhosin на OpenSuSE 10.2, если у вас уже установлен PHP5, так как PHP5 от OpenSuSE уже по умолчанию поставляется с Suhosin. Тем не менее, я думаю, что стоит написать это руководство, потому что оно отвечает на вопрос “Что мне нужно сделать, чтобы установить Suhosin?” — ничего, если PHP5 уже установлен.
2 Установка Apache2 и PHP5 (необязательно)
(Эта глава необязательна, если у вас уже установлен Apache2 и PHP5 — чтобы проверить, включен ли Suhosin в вашем PHP5, пожалуйста, перейдите к следующей главе.)
Если у вас нет установленного Apache2 и PHP5 на вашем сервере, установите их сейчас:
yast2 -i apache2 apache2-devel apache2-mod_perl apache2-mod_php5 apache2-prefork perl-HTML-Parser perl-HTML-Tagset perl-Tie-IxHash perl-URI perl-libwww-perl php5 php5-devel zlib zlib-develТеперь настройте вашу систему для автоматического запуска Apache при загрузке:
chkconfig --add apache2Затем запустите Apache2:
/etc/init.d/apache2 startТеперь у вас есть PHP5 с базовой функциональностью на вашем сервере; если вам нужны специальные модули PHP5, вы можете запустить YaST и поискать пакеты PHP5:
yast2Перейдите в Программное обеспечение > Управление программным обеспечением:

Затем используйте функцию Поиск и ищите php5:


После этого вы можете отметить желаемые пакеты для установки:

В качестве альтернативы, вы можете установить пакеты из командной строки следующим образом:
yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dbase php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mhash php5-mysql php5-ncurses php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshmЗатем перезапустите Apache:
/etc/init.d/apache2 restart3 Получение информации о вашей установке PHP5
Если вы еще не создали виртуальные хосты в вашей установке Apache, корневая директория по умолчанию для веб-сайта — /srv/www/htdocs. Теперь мы создадим небольшой PHP-файл (info.php) в этой директории (если вы создали виртуальные хосты, поместите его в любой из виртуальных хостов, где включен PHP) и вызовем его в браузере. Файл отобразит множество полезных деталей о нашей установке PHP, таких как установленная версия PHP.
vi /srv/www/htdocs/info.php| |
Теперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php):

Как вы видите, наша версия PHP — 5.2.0.
Если все прошло хорошо, вы должны увидеть упоминание Suhosin в двух местах на странице:


Вот и все. Если хотите, вы можете настроить Suhosin (см. http://www.hardened-php.net/suhosin/configuration.html), хотя Suhosin будет работать из коробки с его конфигурацией по умолчанию, так что убедитесь, что вы знаете, что делаете.
4 Ссылки
- Suhosin: http://www.hardened-php.net/suhosin/index.html
- PHP: http://www.php.net
- OpenSuSE: http://www.opensuse.org
Get new posts in your inbox
No spam. Unsubscribe anytime.