Linuxoid Blog

Критическая уязвимость PHP случайно опубликована в открытом доступе

by admin on Май.08, 2012, under *nix Administration, News, Security

На форумах Reddit опубликовали копию закрытого обсуждения критической уязвимости CVE-2012-1823 в конфигурациях PHP-CGI, которая была обнаружена в январе 2012 года, а нормальный патч для неё ещё не готов. По чистой случайности обсуждение этой уязвимости пометили как открытое — и его сразу скопировали на Reddit, так что информация о баге стала достоянием общественности.

В январе 2012 года уязвимость обнаружили специалисты компании Eindbazen. Причиной бага является то, что в 2004 году разработчики PHP зачем-то убрали из кода проверку на знак ‘=’ в строке запроса. Согласно CGI RFC, в случае отсутствия знака ‘=’ в строке запроса, сервер обязан воспринимать эту строку как набор символов, а не как команду.

search-string = search-word *( "+" search-word )
search-word = 1*schar
schar = xunreserved | escape | xreserved
xunreserved = alpha | digit | xsafe | extra
xsafe = "$" | "-" | "_" | "."
xreserved = ";" | "/" | "?" | ":" | "@" | "&"

Однако, с 2004 года в PHP убрали эту проверку, так что теперь в некоторых конфигурациях сервера и обработчика запросов аргумент вроде ?-s в URL любого php-документа воспринимается как прямая команда -s к бинарнику php-cgi. Более того, таким способом можно направить к PHP любое количество параметров, приводящие к показу исходников скриптов, исполнению произвольного кода и т.д. От такой атаки не спасают ни safe_mode, ни allow_url_include, ни какие-то другие защитные опции ini.

PHP Group выпустила обновленные версии PHP 5.3.12 и PHP 5.4.2, которые должны закрывать уязвимость, но обе содержат баг, позволяющий легко обойти сделанный патч. Новый фикс выйдет в самое ближайшее время.

Leave a Comment more...

Рекомендуемые разрешения для папок и файлов web сервера.

by admin on Фев.28, 2012, under *nix Administration, Security

На всякий случай: 777 - полное разрешение всем на все, 000 - полное запрещение.

chmod 755 - для директорий CGI и скриптов.

chmod 644 - для файлов скриптов.

chmod 600 - для индивидуальных скриптовых файлов.

Leave a Comment more...

Защита Cisco рутера от SSH брутфорса

by admin on Фев.28, 2012, under *nix Administration, Security

Решил вчера глянуть в логи рутера на предмет заблокированных листами портов (делал проброс для Opera Unite и добавлял правило на входном АЦЛе) - sh hist all - и увидел там просто вал попыток аутентификации по ssh, причем с хостов из одной подсети /16. Whois показал, что эта подсетка по маске /8 отдана Колумбии. Характер логинов указывал на бомбардировку по словарю (наивные колумбийские кулхацкеры), то есть особо волноваться не стоило, однако в профилактических целях вбил всю подсеть deny’ем на входе и тут подумалось, как бы усложнить жизнь более продвинутым брутфорсам, ведь вода камень точит… Собственно, на родном Цисковском форуме практически сразу нашел гору советов, часть из которых применил у себя:
!
login block-for 60 attempts 3 within 20 # устанавливает задержку в 60 секунд, если было 3 попытки входа в течение 20 секунд
login delay 5 # задержка в 5 секунд между попытками входа
login on-failure log
login on-success log
!

про логирование, думаю, особо комментировать нечего.

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...