Настройка и установка Suhosin на сервер

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

Как сегодня решить эту проблему, усложнить нехорошим ребятам задачу взлома вашего сайта и обезапасить себя таким образом. Можно заказать аудит кода у сторонней организации, согласитесь этот подход не дешев. Можно просканировать сайт специальными програмами на подобие Acunetix Web Vulnerability Scanner на предмет грубых ошибок в настройке безопасности сайта. Это и правильная ручная настройка сервера, PHP и баз данных.

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

Также на наших серверах установлен патч к PHP - Suhosin. Что же это за зверь?
Это добавление к PHP поможет нам избавиться от целого ряда проблем в приложениях и ядре PHP.
Разработчики Suhosin open sourse приложения ставят своей задачей защитить сервер от таких  атак как: PHP Include, SQL Injection, Cross site scripting (XSS) и других атак направленных на веб-сервисы. Полный список возможностей приведен на сайте разработчика Suhosin: http://www.hardened-php.net/suhosin/a_feature_list.html.

Вот не полный список возможностей плагина Suhosin:

  • добавлены функции sha256( ) , sha256_file() и поддержка blowfish для всех платформ;
  • кодирование Cookies и данных сессии;
  • запрещение вставки URL, закачки файлов и доступа к произвольным файлам, верификация загруженных файлов через внешний скрипт, запрет загрузки - исполняемых файлов, удаление двоичных данных из загружаемого файла;
  • отключение функции eval(), запуск приложений с использованием eval() с применением белого и черного списков;
  • принудительная установка максимальной глубины рекурсии;
  • поддержка виртуальных узлов и каталогов, настраиваемых через черный и белый списки;
  • защита от прерывания HTTP-заголовка (HTTP Response Splitting);
  • защита глобальных переменных от ex t rac t и import_request_vars, а также от скриптов, манипулирующих memory_limit;
  • защита от длинных и неправильных идентификаторов сессии;
  • фильтрование ASCII-символов;
  • игнорирование переменных GET, POST, COOKIE с целым рядом параметров;
  • установка лимитов ряду переменных REQUEST.

На наших серверах виртуального хостинга патч Suhosin установлен по умолчанию.
Установка патча для владельцев VDS серверов достаточно проста.

Надо отметить в что коментариях к файлу php.ini популярной серверной операционной системы FreeBSD, которая установлена на наших серверах виртуального хостинга, рекомендовано установить плагин Suhosin для повышения безопасности PHP.

Установка Suhosin на FreeBSD:

Скачиваем последнюю версию:

siteko# wget http://download.suhosin.org/suhosin-0.9.31.tgz

 

Разархивируем ее:

siteko# gunzip suhosin-0.9.31.tgz
siteko# tar xvf  suhosin-0.9.31.tar

 

Переходим в каталог с полученным дистрибютивом:

siteko# cd  suhosin-0.9.31

 

Компилируем PHP с Suhosin:

siteko# phpize
siteko# ./configure
siteko# make && make install

 

Далее добавляем extension=suhosin.so в файл php.ini или файл extensions.ini если он имеется.
Он располагается как правило: /usr/local/etc/php.ini или /usr/local/etc/php/extensions.ini
Перезагружаем Apache

siteko# apachectl restart



Установка Suhosin на CentOS:

 

Добавляем тестовый репозитариы в котором есть последняя версия Suhosin:

cd /etc/yum.repos.d
wget http://dev.centos.org/centos/5/CentOS-Testing.repo

 

Установка пакета из этого репозитария:

yum --enablerepo=c5-testing install php-suhosin

suhosin.ini будет располагаться в /etc/php.d.

 

Установка в Debian Etch:

Нахождение пакета для нашей версии PHP:

apt-cache search suhosin
php4-suhosin - advanced protection module for php4
php5-suhosin - advanced protection module for php5


Установка Suhosin:

apt-get install php5-suhosin


suhosin.ini должен располагаться в /etc/php5/conf.d.

 

Настройка Suhosin

Все настройки Suhosin производятся в файле php.ini. Первая запись, которая должна быть обязательно помещена в файл, – это подключение модуля
suhosin.so

Опции настроек Suhosin доступны на оф. сайте проекта:
http://www.hardened-php.net/suhosin/configuration.html

Таблица основных опций доступных при настройке Suhosin: Таблица


В написании статьи использованы материалы из статьи:
Яремчук С. Защищаем PHP-приложения с помощью Suhosin
//Системный администратор

  • 720 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

CentOS Установка сертификата SSL

Использование SSL совместно с веб сервером Apache позволяет защитить конфиденциальные данные при...

Установка файрволла APF - Advanced Policy Firewall

Нет смысла обьяснять необходимость файрволла на сервере. Удачным выбором среди серверных...

Обновление версии PHP с 5.1 до 5.2 в CentOS 5

В шаблоне CentOS 5 x86_64 + ISPmanager устанавливаемом на наших VPS серверах установлен PHP...

Настройка vsftpd в CentOS

  vsftpd (Very Secure Ftp Daemon) разрабатывался Chris Evans, недовольным уровнем безопасности,...

Использование утилиты screen на VDS с операционной системой Linux

В составе стандартных комплектаций операционных систем Linux есть очень удобная утилита Screen...