Архив категории ‘Security’

ModSecurity для Nginx: проблема с двойным Charset’ом

Monday, October 21st, 2013

Купленному покупатель платит по собственному усмотрению, а оказывающий услугу цену назначает сам.

Анджей Сапковский «Последнее желание»

nginx-modsec-charset

Не так давно я разбирался с применением ModSecurity для Nginx и даже набросал по этому поводу статью. Но в процессе эксплуатации этого решения я натолкнулся на странное поведение связки. Почему-то при работе Nginx в качестве прокси он в заголовок Content-Type ответа добавляет параметр charset независимо от того, присутствует он там уже или нет. Но беда не в этом, а в том, что к значению параметра кодировки он прибавляет случайным образом один байт, который на многих браузерах приводит к нечитаемости приходящего кириллического текста. Быстрое гугление показало, что проблему эту обнаружил не только я (раз, два), но решение для неё отсутствует в обозримых пространствах интернета.

(more…)

Метки: ,
Категория: Nginx, Security | 6 Комментариев »


Заметки об Apache, часть 2: Прячем лишнюю информацию из заголовков

Tuesday, May 25th, 2010

— Я в реке. Пусть река сама несёт меня, – решил Ёжик, как мог глубоко вздохнул, и его понесло вниз по течению.
— «Ёжик в тумане»


Не то чтобы наличие в заголовках ответов от web-сервера информации, скажем, о версии Apache или об установленной операционной системе являлось такой уж большой уязвимостью. Тем более не скажу, что удаление этой информации сразу сделает сервер защищенным. Но тем не менее даже если сервер станет надежнее хотя бы на сотую долю процента (не знаю уж от какой величины считать), то усилия явно не напрасны. Тем более, что информация о вашей версии web-сервера и тем более об операционной системе рядовым пользователям нужна как мне, например, третье ухо. Но зато эта информация очень нужна всяким любителям статистики навроде того, что Apache стоит на x% серверов, IIS – на y%, а nginx – на z%, а также всевозможным деструктивным элементам.
Стоит, естественно, отдавать себе отчёт в том, что атаки на сервер производятся в основном ботами, которым недосуг смотреть заголовки ответов – они могут спокойно перепробовать все известные эксплойты, инъекции и прочее. Так что защита в основном для самоуспокоения. Но все же…

(more…)

Метки:
Категория: Apache, Security | 1 Комментарий »


Рецепты iptables

Thursday, April 1st, 2010

Знать и помнить все особенности iptables – это очень здорово. Но маловероятно. К тому же на просторах сети иногда попадаются интересные находки в плане обеспечения безопасности. Иногда сам что-то придумаешь и хочется записать. В общем, решил сделать подборку примеров использования iptables на будущее.
Ещё недавно была статья по главным концепциям iptables – Memento iptables. Буду считать, что это её логическое продолжение. Тем более, что изначально не было планов разделять информацию на два разных поста.
(more…)

Метки: ,
Категория: Linux, Security | Нет комментариев »


Memento Mori iptables

Tuesday, March 30th, 2010

Look around just people, can you hear their voice
Find the one who’ll guide to the limits of your choice
The experience of survival
Try to think about it…
That’s the chance to live your life and discover
Try to think about it
The experience of survival
— Enigma // The Screen Behind The Mirror

Вынужден признать, что настраивать межсетевой экран netfilter в Линуксе приходится чрезвычайно редко, отчего каждый раз многое приходится вспоминать и нагугливать заново. В связи с этим решил написать себе ещё одну памятку, к которой по мере надобности можно обращаться. Катарсиса не будет, так что за подробной документацией и руководствами можно пойти по ссылкам, перечисленным в конце статьи.
Итак, что мы имеем. В состав ядра Linux версии 2.4 и выше входит компонент netfilter, выполняющий функции фильтрации и преобразования трафика, то бишь брандмауэр (он же файрволл). Напомню, что в более старых версиях ядра был ipchains. Так вот. Для управления этим брандмауэром используется утилита iptables, позволяющая создавать цепочки, указывать правила, критерии и действия по умолчанию, добавлять счётчики, проверять корректность параметров и кое-что ещё.
Смотрим…

(more…)

Метки: , ,
Категория: Linux, Security | 4 Комментариев »


Настройка SSL в Apache и Tomcat

Tuesday, March 2nd, 2010

“—Я вам посылку принёс, только я вам её не отдам, потому как у вас докУментов нету
—Усы, лапы, хвост — вот мои документы!”
— «Каникулы в Простоквашино»

Сегодня посмотрим, как обеспечить поддержку шифрованного протокола https для контейнера сервлетов Tomcat. Причём рассмотрим проблему с двух сторон: как обеспечить поддержку https, если фронтэндом является Apache, и как её обеспечить, если Tomcat сам выполняет функции web-сервера. В целом, это достаточно несвязанные задачи, и их просто можно в отрыве от контекста рассматривать как настройку SSL для двух различных приложений.

Вообще, SSL (Secure Socket Layers) – это протокол шифрования трафика с использованием криптографии с открытым ключом (асимметричной криптографии). Непосредственно для шифрования требуется только открытый ключ и закрытый ключ сервера. А для аутентификации сервера, то есть для проверки, что сервер, с которым контактирует клиент и передаёт ему некоторые конфиденциальные данные тот, за который он себя выдаёт – требуется сертификат. Сертификат, подписанный доверенным Certificate Authority (CA) даёт такую гарантию. При более низких требованиях к безопасности можно использовать самоподписанные сертификаты.

Всё нижеописанное производилось и проверялось с Apache 2.2.12 и Tomcat 6.0.24 на операционных системах CentOS 5.4 и Ubuntu 9.10 c JDK 1.6.0.18.
(more…)

Метки: , ,
Категория: Apache, Security, Web-dev | 19 Комментариев »


mod_rewrite для Apache

Friday, February 5th, 2010

“Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo.”
— Brian Moore

mod_rewrite_logo
В своей недавней статье “mod_security2 для Apache” я начал тему безопасности для web-сервера Apache. Там, конечно, не было никаких откровений – простая разминка для мозгов плюс полезная памятка на будущее. Но в целом оставлять эту благодатную тему не хочется, поэтому сейчас я пробегусь по ещё одному полезному модулю – mod_rewrite.

Если вкратце, то модуль предназначен для преобразования URL’а из одного вида в другой. Кроме каких-то специфических утилитарных применений (вроде улучшения читабельности адресов, как это, меж тем, реализовано прямо здесь, на WordPress’е) модуль может повысить безопасность сервера, скрывая от пользователя параметры, передаваемые серверному сценарию. Также в контексте SEO можно упомянуть, что такие укороченные ссылки лучше индексируются поисковыми системами.

Но… ближе к телу!

(more…)

Метки: ,
Категория: Apache, Linux, Security, Web-dev | Нет комментариев »


Защита web-приложения, использующего Ajax (Ajax Fingerprinting)

Thursday, January 28th, 2010

ajaxНа редком сайте сейчас не увидишь привычных уже крутящихся иконок асинхронной загрузки через Ajax. Однако новые технологии приносят и новые беды в виде новых уязвимостей и дыр в безопасности. Меж тем, недавно я узнал о таком понятии как “Ajax fingerprinting”. Почитал про него, попробовал в деле, узнал кое-какие тонкости и сейчас об этом пишу. В целом идея тривиальна: в браузере JavaScript’ом генерируем Ajax’овый GET-запрос с дополнительным полем в заголовке XHR (XMLHttpRequest), а на стороне сервера с помощью mod_security фильтруем всё Ajax-запросы, не содержащие этого поля или содержащие неверное значение. Не самая крепкая защита, но лучше, чем ничего. Не зря гласит народная мудрость: “Если у Вас паранойя, то это не значит, что за Вами не следят”.

Посмотрим, как это всё реализовать.

(more…)

Метки: , ,
Категория: Apache, Security, Web-dev | 1 Комментарий »


mod_security2 для Apache

Sunday, January 10th, 2010

mod_securityДля защиты своих Web-приложений надо прикладывать максимум усилий и всегда быть готовым к тому, что этого всё равно окажется недостаточно. Руки, само собой, опускаться не должны (только если на клавиатуру), а мы должны знать и помнить о всех возможностях нашего любимого ПО.
Сегодня я себе в качестве памятки (а всем прочим для ознакомления или праздного интереса) вкратце опишу весьма нужный модуль для Web-сервера Apache: mod_security2.

(more…)

Метки: ,
Категория: Apache, Linux, Security, Web-dev | 6 Комментариев »