Патч или расширение suhosin и Zend Optimizer
Мне было интересно узнать разницу между Suhosin Patch и Extension? Например, какой из них мне следует установить с PHP 5.2.17 с Xcache 1.3.1 и Zend Optimizer 3.3.0.a? Должно ли это быть расширение Suhosin 0.9.32.1? Является ли Patch версия PHP специфичной для Suhosin Patch 0.9.10 для PHP 5.3.4/5.3.3 и Suhosin Patch 0.9.7 в моем случае для PHP 5.2.17?
Я также не мог понять четкую разницу между Patch и Extension от точки безопасности, чем они отличаются друг от друга?
2 ответа
Разница проста. Один (расширение) работает как обычное расширение, поэтому он сохраняет совместимость с другими расширениями. Другой (патч) нет, поэтому он, скорее всего, сломает другие 3pd расширения.
Теперь нужно учесть, что патч даже не выпущен для самых последних версий (последняя версия патча - 5.3.4, поэтому вы не можете использовать стабильную версию 5.3.5). Теперь вы можете установить более старую версию PHP для использования патча, но это подвергнет вас уязвимостям, закрытым ядром в последней версии. Которое ИМХО не стоит.
Теперь я хотел бы прояснить одну вещь. Suhosin (и другие расширения / патчи и такие вещи, как mod_security) на самом деле не защищают ваш код. Позвольте мне сказать, что agian, потому что это важно: он не защищает ваш код. Он закрывает некоторые часто используемые векторы атак и отключает некоторые часто используемые злоупотребления внутренние функции. Но все еще абсолютно возможно иметь уязвимости в вашем коде.
Таким образом, хотя он может помочь "укрепить" плохой код, он не будет иметь никакого значения с хорошим кодом. Если вы тратите время и силы на защиту своего кода, патч и расширение для всех практических целей бесполезны. Но это похоже на брандмауэр в том смысле, что каждый уровень полезен, если он не слишком мешает вам (особенно потому, что практически невозможно написать 100% безопасный код).
Посмотрите на: http://www.hardened-php.net/suhosin/a_feature_list.html
Раздел Engine Protection доступен только при использовании пропатченного источника php.