Перейти к содержимому
Калькуляторы

Доступ в интернет сессиями ограниченными по времени

Здравствуйте!

 

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

определенное количество сессий ограниченных по времени (например 4 сеанса в день по 15 минут).

 

Я сделал так:

 

Написал простую систему на php которая которая после авторизации предлагает пользователю активировать сессию (если у него еще они остались), после активации адрес пользователя добавляется в список ipset'а с таймаутом на время сессии. Пользователи которые имеют активную запись получают доступ к порту прокси и спокойно работают, остальные просто редиректятся с порта сквида на 80 порт (где сидит апач со скриптами), где они могут активировать себе доступ.

 

Работает вполне нормально, но возникла следующая проблема - сайты с большим количество аякса (особенно гугл сервисы -почта, ридер и так далее) при активной "блокировке" (редиректе) начинают просто спамить запросами (иногда по 10-15 в секунду) тем самым нехило нагружая апач и вполне могут поднять загрузку системы на 30-40% с одного пользователя на все время пока открыта вкладка (так как сама такая страница по понятным причинам не поддается редиректу), и когда таких набирается 5-10 сисема начинает просто задыхаться (прокси сидит на виртуалке с 1 ггц и 1гб оперативки, ос debian 6)

 

Как можно победить данную проблемку? Может быть есть более простые способы реализовать подобную схему? Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

mod_evasive на апач...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

mod_evasive на апач...

 

Сейчас попробую, спасибо!

 

Запросы кстати сыпятся вот такие примерно:

 

192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:00 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"
192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "\x16\x03\x01" 200 1577 "-" "-"
192.168.50.208 - - [09/Apr/2012:09:41:01 +0400] "CONNECT mail.google.com:443 HTTP/1.1" 200 1905 "-" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.229 Version/11.62"

 

upd что наводит меня на мысль что скорее всего они ходят кругами сами себя редиректя или что-то вроде ) Щас разберемся, понедельник пятницы мудреннее )

Изменено пользователем Yappa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возникла необходимость реализовать следующую схему доступа - каждому пользователю доступно в день

определенное количество сессий ограниченных по времени (например 4 сеанса в день по 15 минут).

Мусье понимает толк в извращениях.

Это школьный хотспот, что ли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мусье понимает толк в извращениях.

Это школьный хотспот, что ли?

 

Неа, средних размеров отделение крупной конторы. Начальство так захотело... :)

 

По теме - поставил mod_evasive, запретил CONNECT на апаче - все нормализовалось, теперь гуглосервисы сразу получают 403 и "успокаиваются". Спасибо за советы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.