Проверка IP при заходе на вебку

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Проверка IP при заходе на вебку

Сообщение chtito2 »

Кто знает как сделать, чтобы при попытке юзера войти на веб панель проверялся не только логин и пасс, но и проверялось сидит ли уже юзер в онлайне с тем же IP, с которого заходит на веб (REMOTE_ADDR)?
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Сообщение chtito2 »

Вопсчем, сам привинтил проверку. Тема можно сказать закрыта.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

Kirill
Сообщения: 9
Зарегистрирован: Вс дек 02, 2007 12:16 pm
Откуда: Kyiv, Ukraine
Контактная информация:

Сообщение Kirill »

А как насчёт озвучить поподробнее?

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

chtito2 писал(а):Вопсчем, сам привинтил проверку. Тема можно сказать закрыта.
а это разве не здесь регулируется?
ченжлог писал(а):12.09.2008

*
Добавлен шаблон ipn_form_active, позволяющий убрать кнопку активизации IPN-сесии из пользовательского меню (из меню администратора кнопка также удаляется).

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Сообщение chtito2 »

Kirill писал(а):А как насчёт озвучить поподробнее?
В Abills/mysql/Dv_Sessions.pm в теле sub online() добавляется (добавленный код выделен, а ориентиры показывают куда его вставлять):
if (defined($attr->{USER_NAME})) {
push @WHERE_RULES, "c.user_name LIKE '$attr->{USER_NAME}'";
}

if (defined($attr->{LOGIN})) {
push @WHERE_RULES, "c.user_name='$attr->{LOGIN}'";
}

# Show groups
if ($attr->{GIDS}) {
push @WHERE_RULES, "u.gid IN ($attr->{GIDS})";
}
Затем в cgi-bin/index.cgi в sub auth добавляется:
else {
return 0 if (! $login || ! $password);


require Dv_Sessions;
Dv_Sessions->import();
my $sessions = Dv_Sessions->new($db, $admin, \%conf);
my $list = $sessions->online({ LOGIN => "$login", FRAMED_IP_ADDRESS => "$REMOTE_ADDR" });

if (!$sessions->{TOTAL}) {
$html->message('err', "$_ERROR", 'Access denied');
return 0;
}

if ($conf{wi_bruteforce}) {
$user->bruteforce_list({ LOGIN => $login,
а это разве не здесь регулируется?
Ну в принципе к Ipn проверка не привязана. Dv авторизация через радиус и затем при попытке веб-логина проверяется соответствие IP. Да и мне бы вариант с формочкой не подошел, т.к. действия Ipn связанные с шейпингом происходят на радиус события.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

а файерволом пускать на вебморду только с туннельных ифейсов не судьба? файерволом туннельного сервера разумеется... под линухом это выглядит где-то так:

Код: Выделить всё

iptables -A INPUT -i ! ppp+ -p tcp -m tcp --dport 9443 -j REJECT --reject-with tcp-reset

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Сообщение ~AsmodeuS~ »

В системе есть функция безпарольного входа когда не проверяется проль пользоватея а авторизует его по ип впн сессии

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Сообщение chtito2 »

Суть задачи в ограничении веб-доступа данного юзера только с того IP, с которым он в данный момент сидит в онлайне. Самое очевидное место для этого как раз таки на уровне приложения.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Сообщение chtito2 »

~AsmodeuS~ писал(а):В системе есть функция безпарольного входа когда не проверяется проль пользоватея а авторизует его по ип впн сессии
Видел. Там выборка только по IP, а неизвестно кому он в таблице принадлежит. Ради безопасности было решено оставить проверку по логину/паролю и дополнить ее проверкой по IP.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

chtito2 писал(а):Суть задачи в ограничении веб-доступа данного юзера только с того IP, с которым он в данный момент сидит в онлайне. Самое очевидное место для этого как раз таки на уровне приложения.
а разве если усер висит на туннеле это не означает что он успешно прошёл авторизацию и ему назначился нужный ип? :shock: по-моему гораздо проще написать 1 правило файервола чем править код биллинга... хотя - дело вкуса :D

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Сообщение chtito2 »

Мы о разных вещах говорим. Согласно вашему правилу создается впечатление, что под чужим логином войти на вебку сможет любой сидящий юзер, зная его логин/пасс, чего моя версия не даст.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

ran
Сообщения: 2298
Зарегистрирован: Вс окт 21, 2007 2:29 pm

Сообщение ran »

под чужим логином войти на вебку сможет любой сидящий юзер, зная его логин/пасс, чего моя версия не даст.
мож я и не совсем тебя понял... сидящий где? авторизованный через ппп/радиус? дык ежли он авторизован (а значит знает логин/пасс) то и ип на туннель ему назначится согласно тому что в базе прописано (тоись тот что нада)... и твои потуги тут не помогут... потому как он зайдёт на вебку через туннель (с ипа назначенного на туннель) другой вопрос в том, что при авторизации через ппп/радиус у меня включён контроль по маку (тоись не только логин/пасс)... да мак тоже не сложно проспуфить - но тут уж без аппаратных средств блокирования никуда не деться... а если ты имеешь ввиду (под сидящий) что это усер подключенный к изернету и заходящий на вебморду напрямую (без авторизации и поднятия туннеля) - дык моё правило как раз такого и не позволяет - только через туннель ;) у меня ваще пппое авторизация и ип адресов на изернетах просто нету - любая работа в сети (неважно локалка или инет) только через туннель (а значит после авторизации по логин/пасс и проверки мака). Спросишь как зайти на вебморду при отрицательном балансе? да очень просто: у меня туннель поднимается и при негативном депозите - только вот правила файервола в этом случае пускают только на вебморду биллинга больше никуда :D

dnk2009
Сообщения: 121
Зарегистрирован: Сб окт 04, 2008 6:10 pm
Контактная информация:

Сообщение dnk2009 »

о ran поделись опытом. как ты так сделал. что у тебя юзера конектяться с отрицательным балансом но захходят только на веб морду :D

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Сообщение chtito2 »

У меня через машинку трафик проходит в целях шейпинга и обсчета, а терминирует юзеров другой дядя. Трафик вливается в одну дырку, и выливается из другой. Туннель ни что иначе как логический транспорт, и в рамках веб авторизации значения не имеет: там имеют значение ипы. Раньше любой мог ввести на вебке (для попадания в свой личный кабинет) логин/пасс чужого юзера и войти без проверки соответствия ипа HTTP соединения ипу PPPoE. А должники у меня как ни странно обрабатываются через фильтр негативного депозита. И проверка маков у меня тоже включена при PPPoE авторизации, но это уже другая степь...
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Сообщение ~AsmodeuS~ »

chtito2 писал(а):Мы о разных вещах говорим. Согласно вашему правилу создается впечатление, что под чужим логином войти на вебку сможет любой сидящий юзер, зная его логин/пасс, чего моя версия не даст.
Я уже написал что в билинге реализировано пускать пользователя только в свой акаунт пользователя исходя их его ип. двое с одним ип сидеть не могут

Ответить