Jump to content
Калькуляторы

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

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

 

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

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

 

Я сделал так:

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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 что наводит меня на мысль что скорее всего они ходят кругами сами себя редиректя или что-то вроде ) Щас разберемся, понедельник пятницы мудреннее )

Edited by Yappa

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this