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 restart

3 Получение информации о вашей установке 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 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.