Защита скриптов с помощью Suhosin

Security

Автор: Александр Степанов

1 нояб. 2011 г., 09:41:33  1203


Уязвимости в различных CMS, форума etc отходят и найти банальную SQL-injection, RFI, LFI или XSS довольно таки сложно, а если обновления выходят незамедлительно, практически сводятся к нулю. В таком случае необходимо искать баги уже в программном обеспечении. Иногда при удачной эксплуатации баги в интерпретаторе бывает достаточно чтобы провести vendor:)

Проект Suhosin

Простой защиты с помощью php иногда бывает недостаточно и тут на помощь приходит патч к PHP, который предназначен для более надежной защиты скриптов.

Suhosin представляет собой систему защиты PHP скриптов. Он был разработан для защиты серверов и пользователей от известных и неизвестных недостатков PHP приложений.
Suhosin поставляется в двух независимых частей, которые могут быть использованы отдельно или в комбинации. Первая часть может быть использованна как дополнение к ядру PHP для защиты от bufferoverflows или «уязвимость строки форматирования», а вторая часть является мощным расширением PHP, которая реализует все другие формы защиты.

В некоторых *NIX системах патч уже идет по умолчанию к PHP

Тут приведен список основных возможностей suhosin:

  • Защита от переполнения буфер.
  • Защита от нарушения Zend hash table.
  • Защита от format string.
  • Симулирует работу скриптов.
  • Добавляет поддержку sha1 в ядро PHP (php < 4.3.0).
  • Добавляет ключ Blowfish к функции crypt
  • Выключает поддержку функции phpinfo
  • Защищает от SQL-injection
  • Шифрация Cookie
  • Запрещяет подключение загруженных файлов.
  • Запрещяет инклюд удаленных и локальных файлов.
  • Отключает моодификатор /e у preg_replace.
  • Есть возможность отключть eval (eval не единственная опасная функция)
  • Фильтрует разделенные Http запросы.
  • Не позволяет перезаписывать переменные.
  • Фильтрация для функции mail (в PHP была бага с этим.)

Более подробное описание возможностей есть в офф документации
http://www.hardened-php.net/suhosin/configuration.html
При все этом стоит отметить и обратную сторону медали. Также как и в любом программном продукте есть баги, suhosin не является исключением. Стоит посмотреть на bugtruck list.

 



Ссылки

Офф. сайт — http://www.hardened-php.net/suhosin/download.html
Небольшая заметка про suhosin — http://baron.su/archives/75-OstoroZhno,_Suhosin!.html