Статьи

PHP Worms: Santy / Perl.PhpInclude — ModSecurity

Похоже, что кто-то, наконец, стал противным в написании кода, предназначенного для потенциальных ошибок, которые люди часто делают с PHP. Хотя вы можете быть в отпуске, рекомендуем хотя бы подумать об этом и, если сомневаетесь, делать то, что делал Кристиан, и отключать его до тех пор, пока у вас не будет времени заняться этим.

Santy

Надеюсь, вы уже подобрали это, но если вы используете phpBB, вам следует обновить его до 2.0.11 (см. Объявление ).

Причина? Санти Червь . Этот даже сделал сайт BBC (по иронии судьбы, вероятно, впервые для PHP или PHP-приложения).

Вокруг Santy возникла некоторая путаница, такая как это объявление , которое предполагает, что червь использует уязвимость в самом PHP. Дерик прояснил это здесь — phpBB также столкнулся с проблемой с функцией PHP unserialize () (исправлена ​​в последней версии PHP), но это было не то, что использует червь. Илья обсуждает здесь unserialize ().

Наиболее продуманная и актуальная информация, которую я нашел до сих пор, доступна здесь . Сейчас существует более одной версии червя, а последняя, Santy.e , также называется Perl.PhpInclude.Worm (очевидно, она не имеет отношения к Santy).

Perl.PhpInclude

Кажется, Perl.PhpInclude.Worm использует общую потенциальную уязвимость / ошибку, которую я описал (1 апреля прошлого года) здесь . Убедитесь, что вы прочитали это : 4. Удаленные файлы и относитесь к этому очень серьезно.

Должна быть возможность запустить сценарий оболочки для сканирования файловой системы на наличие кода, который потенциально может содержать такие проблемы, за исключением операторов включения (и аналогичных), которые содержат переменные PHP. Сегодняшнее время, но завтра попробую (если кто-то не придет первым).

ModSecurity

Некоторое время размышлял над блогом / обсуждением ModSecurity . Это заставляет меня думать, что пришло время двигаться дальше. Я должен автору сообщения Ивану несколько писем — ModSecurity появился на OSCOM.4 . Это просто несколько быстрых заметок …

Во-первых, я настоятельно рекомендую как веб-хостинговым компаниям, так и разработчикам таких проектов, как phpBB, посмотреть на ModSecurity. Иван уже написал в блоге, что может быть фильтр для Санты здесь .

Некоторые ключевые вещи о ModSecurity (здесь ссылка на версию C, а не версию Java);

— Это модуль Apache

— Сначала фильтрует входящие запросы, прежде чем Apache сделает с ними что-нибудь еще (например, передача в PHP)

— Это основано на правилах, и правила могут содержать регулярные выражения (среди прочего)

— Вы можете сделать так, чтобы он выполнял очень тонкую фильтрацию (например, фильтруя одну переменную GET, называемую ‘highlight’)

— Конфигурация может быть сделана в файлах httpd.conf и .htaccess.

— Он может работать в режиме «разрешить все / запретить некоторые» или «запретить все / разрешить некоторые», аналогично другим правилам Apache

— Это действительно самая простая вещь, которую вы можете сделать

— Там есть учебник Ивана по О’Рейли здесь

Потенциально хосты могут использовать ModSecurity для проверки всех запросов на возможные эксплойты, такие как Javascript XSS и такие вещи, как червь Santy (разрешить все / запретить некоторые). Разработчики, такие как команда phpBB, также могут публиковать «действительные подписи запросов» для своих приложений — все, что они считают допустимым вводом (запретить все / разрешить некоторые).