Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Активная оборона" от CGI сканнеров, Нужна критика, идеи. 
:(
    Опции темы
GoDleSS
Дата 7.3.2007, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.2.2007
Где: Пироговский

Репутация: нет
Всего: 2



Доброго времени суток!

Работаю над защитой содержимого от атак CGI-сканнеров.
Вот что пока набросал - описание.

Что уже продумано и изменится в ближайшее время:
1. Пропуск указанных полей GET-метода(для текстовых форм и подобного).
2. Анализ POST-данных.
3. Создание и использование базы IP/параметров для защиты от неизвестных вхождений, но частых коннектов(например, больше 10 коннектов/секунда, более 100/минута - блок IP, притом всегда пропуская IP известных поисковых машин).

Есть ли идеи, критика и т.д.?! Очень интересная и важная для меня тема.
--------------------
It's a nice day to die my friend!
PM MAIL WWW ICQ   Вверх
Nab
Дата 7.3.2007, 04:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 25.3.2006
Где: Kiev

Репутация: 8
Всего: 37



Ну идея хорошая, хотя и есть некоторые замечания..

Защиту от доступа к этим файлам лучше реализовывать средствами системы или веб-сервера, потому как не всегда мод-реврайт доступен, и не всегда нужен...
Потом если уж реализовывать так, то можно увеличить количество вариантов ответов, типа 301 Moved Permanently, или 302 на microsoft.com к примеру smile
Флуд защита конечно прикол, но имхо лишняя нагрузка... лучше небольшие куски в цикле со sleep 1;  к примеру, пока нас вебсервер не прибьет.

Ну и сам скрипт можно порядочно прооптимизировать...

По поводу частоты попыток входа, то да это надо прорабатывать, и база известных IP тоже идея хорошая...



--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
nerezus
Дата 7.3.2007, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



GoDleSS, а чем они тебе мешают?


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
GoDleSS
Дата 7.3.2007, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.2.2007
Где: Пироговский

Репутация: нет
Всего: 2



nerezus, я же не сказал, что буду ставить ставить эту идею на любой динамический сайт, который делаю. В данном случае - это больше исследования, хотя в более полном и комплексном решении вполне применимо.
Для чего "применимо"? Для отваживание детей, которые мнят себя великими взломщиками. В случае со слип-методами - для снижения нагрузки на процессор несущего сервера.
От серьезных людей так защищаться все равно бесполезно smile


Nab, многие люди используют обычные хостинги, а контролировать веб-сервер там не особо получится. Что же касается ограничение на мод_реврайт, чтож, апач много где стоит, не всегда есть резон только в универсальных решениях.

Цитата

Флуд защита конечно прикол, но имхо лишняя нагрузка... лучше небольшие куски в цикле со sleep 1;  к примеру, пока нас вебсервер не прибьет.

По поводу флуда - согласен, нагрузочный метод очень. Но если куплен недавно хост и кол-во посетителей мало, то использовать для отваживания можно.
Куски со слип(1), хмм... ...не очень эффективно, т.к.:
1. Для нормальной работы придется Push методом пользоваться.
2. Сканнеру главное - заголовок. Если глупые вещи, вроде той, от которой отталкиваюсь (LimpidByte Centurion2.0a), обрабатывают весь ответ, то нормально написанный сканнер скушает первый ответ в режии Push, ухватится за заголовки и прервет текущую итерацию.

Вообще в тестах больше всех мешал "жить" сканнерам слип-метод. Хотя это и вполне логично.


Частота - попыток вещь тонкая, можно случайно и подсеть с непрозрачным проксиком блокировать из-за одного человека. Думаю, что этот метод стоит отрабатывать опытным путем.

Цитата

Ну и сам скрипт можно порядочно прооптимизировать...

Согласен, что не лучший вариант написания, но и не катастрофически плохой. Оптимизирую со временем.
Единственное что не буду делать - переводить в объектный стиль.
--------------------
It's a nice day to die my friend!
PM MAIL WWW ICQ   Вверх
Zuzu
Дата 7.3.2007, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 1
Всего: 4



Цитата(GoDleSS @  7.3.2007,  12:44 Найти цитируемый пост)
Вообще в тестах больше всех мешал "жить" сканнерам слип-метод. Хотя это и вполне логично.


Напиши, пожалуйста, как (и чем) тестировал свой "Антисканер".

Какова основная цель защиты?

1. Уменьшение входящего трафика
2. Защита от DOS-атаки (уменьшение нагрузки на Apache)
3. Уменьшение нагрузки на сервер (уменьшение нагрузки, связанной с работой CGI-скриптов и БД)

Если основная цель 3 - ИМХО лучше динамически формировать .htaccess со списком "плохих хостов", добавляя/удаляя информацию именно в него.

Добавлено @ 11:34 
При определенной изворотливости туда же можно и список проверочных файлов запихать и при их запросе сразу вызывать скрипт-блокиратор (с выбором способа "отражения" атаки).
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
nitr
Дата 7.3.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 12
Всего: 84



Цитата(GoDleSS @  7.3.2007,  09:44 Найти цитируемый пост)
Цитата
Ну и сам скрипт можно порядочно прооптимизировать...

Согласен, что не лучший вариант написания, но и не катастрофически плохой. Оптимизирую со временем.Единственное что не буду делать - переводить в объектный стиль.


Да и на сколько заметил, всё же стоит, и как-то уж странно выглядит правило у мод_реврайта smile (это неполностью регеспы, надо и такое помнить ;) )


Цитата(Zuzu @  7.3.2007,  11:32 Найти цитируемый пост)
1. Уменьшение входящего трафика
2. Защита от DDOS-атаки (уменьшение нагрузки на Apache)
3. Уменьшение нагрузки на сервер (уменьшение нагрузки, связанной с работой CGI-скриптов и БД)

2пункт реализуем? smile

GoDleSS, если нетрудно приведи список сканеров, с помощью которых тестировал свой "антисканер".


--------------------
PM   Вверх
GoDleSS
Дата 7.3.2007, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 11.2.2007
Где: Пироговский

Репутация: нет
Всего: 2




Цитата

Да и на сколько заметил, всё же стоит, и как-то уж странно выглядит правило у мод_реврайта  (это неполностью регеспы, надо и такое помнить ;) )

Вот в том-то и проблема, что с mod_rewrite пока не очень дружу, тогда как регэкспами полноценными пользоваться умею. 
Есть возможность напишите грамотные правила по следующим критериям:
1. Перенаправлять запросы вида site.ru/ и site.ru, но это ясно - ^\/?$ $script?%{QUERY_STRING}
2. Перенаправлять все остальные запросы, кроме оканчивающихся на указанные расширения(допустим .png, .jpg, .gif, .css)

Цитата

Какова основная цель защиты?

1. Уменьшение входящего трафика
2. Защита от DOS-атаки (уменьшение нагрузки на Apache)
3. Уменьшение нагрузки на сервер (уменьшение нагрузки, связанной с работой CGI-скриптов и БД)


В лучшем случае все три варианта.

Цитата

Если основная цель 3 - ИМХО лучше динамически формировать .htaccess со списком "плохих хостов", добавляя/удаляя информацию именно в него.

При определенной изворотливости туда же можно и список проверочных файлов запихать и при их запросе сразу вызывать скрипт-блокиратор (с выбором способа "отражения" атаки).

Вот не хочу пихать все в .htaccess, ближе перлом работать.


Цитата

Напиши, пожалуйста, как (и чем) тестировал свой "Антисканер".

Цитата

GoDleSS, если нетрудно приведи список сканеров, с помощью которых тестировал свой "антисканер".

Limpid Byte - Centurion 2.0a, Void - Eye build 461, xSpider(правда древний - 6.0, так что еще не Positive technologies).

Большего всего "забить" на происходящее было xSpider-у. Тем не менее и он лагал.

Как? Да просто скармливал адрес хоста, на который поставил сайтик на Nemesis и проводил аудит на CGI-баги(VEYE и Centurion больше ничего не умеют).

Вы должны понимать, что это лишь первый набросок. Он показал хоть какую-то работоспособность, а значит имеет право на существование(имхо). Просто над ним надо работать и работать.

--------------------
It's a nice day to die my friend!
PM MAIL WWW ICQ   Вверх
DiverD
Дата 9.3.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 14.9.2005
Где: Белорусь

Репутация: нет
Всего: 2



Лучшим вариантом я вижу толька : когда сги-сканер сканит, обязательно несколька запрососв за единицу времени будуn не валидны, далее проста помещаем ip адрес сканящего в blackList через правило ipfw или iptables и все дела.
К примеру за 1 с екунду с 1го ip было произведено 3 некоректных запроса с ошибкой 404, вот мы и помещаем его в блакЛист.
ps: тут минус в том что будут ли у вас прова для работы с правилами .!? (

А так если у вас приложение написано без дыр то нах вам  защита от цги ? 
--------------------
[ FreeBSD & pERL p0WER eVERY dAY ]
PM MAIL   Вверх
nitr
Дата 9.3.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 12
Всего: 84



Цитата(Zuzu @  7.3.2007,  11:32 Найти цитируемый пост)
Если основная цель 3 - ИМХО лучше динамически формировать .htaccess со списком "плохих хостов", добавляя/удаляя информацию именно в него.

Станет больше причиной DDoS-атак ;)


--------------------
PM   Вверх
Zuzu
Дата 9.3.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 1
Всего: 4



Цитата(nitr @  7.3.2007,  14:55 Найти цитируемый пост)
2пункт реализуем?


В общем случае, только "увелиением размера снаряда" - покупкой специального оборудования и установкой его перед сервером. smile

Цитата(GoDleSS @  8.3.2007,  00:12 Найти цитируемый пост)
Вот не хочу пихать все в .htaccess, ближе перлом работать.


Если работает .htaccess, то перл (php, asp etc smile ) просто не вызывается. Следовательно, нагрузка, связанная с работой (запуском и работой) скриптов просто отсутсвует. ИМХО, такой подход даст большую "экономию нагрузки".


Цитата(GoDleSS @  8.3.2007,  00:12 Найти цитируемый пост)
В лучшем случае все три варианта.


Чудес не бывает. Первый вариант ИМХО, лучше реализовывать средствами управления Firewall-ом.

--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
nitr
Дата 9.3.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 12
Всего: 84



Zuzusmile) я как раз таки про "антисканер" smile хардварными штучками имхо не тут ;)
и всё же я указал - 

Цитата(nitr @  9.3.2007,  16:40 Найти цитируемый пост)
Цитата(Zuzu @  7.3.2007,  11:32 )Если основная цель 3 - ИМХО лучше динамически формировать .htaccess со списком "плохих хостов", добавляя/удаляя информацию именно в него.Станет больше причиной DDoS-атак ;)




--------------------
PM   Вверх
nerezus
Дата 9.3.2007, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

В случае со слип-методами - для снижения нагрузки на процессор несущего сервера.
 Бред. Левая трата оперативки.

Цитата

Что же касается ограничение на мод_реврайт, чтож, апач много где стоит, не всегда есть резон только в универсальных решениях.
 мод_рерайт есть везде. А если его нет - то пора переезжать с бесплатного хостинга.

А теперь объясняю, как лечить: делаешь кеширование(лучше многоуровневое). Ставишь IDS на сервер. Настраиваешь файрвол. Вроде все.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0876 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.