VPN: привязка ip или mac к логину.

Linux, безопасность, сети и все что с этим связано
Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

VPN: привязка ip или mac к логину.

Сообщение tes+or »

вобщем картина такая: есть биллинг локалки, траффик считается роутерами исходя из мака и айпишника и передается на биллинг сервак.

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

решили внедрять VPN на линуксе и соответствующий биллинг который мы обсудим отдельно. но сразу остановить старый биллинг и поднять новый вот так разом нельзя. надо постепенно заменять компоненты всей системы по одному. таким образом считать траффик непосредственно по VPN интерфейсам не представляется возможным. траффик считается на роутерах, которые лежат между юзерами и VPN серваком, по прежнему, по маку и айпишнику. незная логин нельзя выйти в инет, но можно выходить по своему логину с чужим маком и айпишником. задача - позволить логинится на определенные логины только с определенных айпишников(несоответствие мака и айпишника отловит роутер). решение временное, но необходимое.

второй вариант решения - парсить логи и вылавливать несоответствие логина и айпишника при поднятии ppp линков, но это уж совсем брутальный костыль.

третий вариант, windows style - при жалобах на воровство траффика копатся в логах руками.

tungus
Интересующийся
Сообщения: 44
Зарегистрирован: 11 авг 2002, 04:19

Re: VPN: привязка ip или mac к логину.

Сообщение tungus »

vpn - pptp (poptop+pppd)?

Дебильный вариант добавть в конец /etc/ppp/ip-up что-то типа:

remote=`cat /path/to/user/file | grep "^$PEERNAME" | awk '{print $2}'`
[ -n "$remote" -a "$remote" != "$6" ] && { sleep 1 ; kill -term `cat /var/run/$IFNAME.pid` ; } &

Где файл /path/to/user/file имеет вид:
name ip

Правильный вариант - через радиус.

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

pptp(кстати, а лучшее ли это решение?)

и какие свободные и нелажовые реализации радиуса бывают?

avb
Фанатеющий
Сообщения: 145
Зарегистрирован: 13 мар 2006, 01:28
Откуда: Minsk, BY

Сообщение avb »

лучше решение это cisco+radius или mpd+radius+*bsd на худой конец.
Хотя циско все равно говно :) Там тоже проблем хватает.
Join jabber.org.by. avb@jabber.org.by

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

а что за mpd и почему именно под БСД?

я к тому, что существует еще pppoe и это я еще не пробывал.

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

1.я честноговоря не совсем просек как именно работает скрипт предложенный в качестве дебильного варианта. и как его написать - не совсем представляю. что передается в качетсве шестого параметра и откуда оно берется? да и awk я как-то не пользовался. в чем смысл? поясни плиз.

2.как достичь аутентификации средствами радиуса - я понял, но как не позволять юзеру аутентифицироватся, если он лезет с чужого айпишника - тоже пока не ясно.

tungus
Интересующийся
Сообщения: 44
Зарегистрирован: 11 авг 2002, 04:19

Сообщение tungus »

tes+or писал(а):что передается в качетсве шестого параметра и откуда оно берется?
man pppd, man pptpd - ip.
tes+or писал(а):в чем смысл? поясни плиз.
Прибить процесс pppd. Получится юзер залогинится, но его сразу выкинет.
tes+or писал(а): я понял, но как не позволять юзеру аутентифицироватся, если он лезет с чужого айпишника - тоже пока не ясно.
А это уж как ты в радиус сервере определишь.

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

man pppd, man pptpd - ip.
еще раз. как именно получается айпишник? если ты говоришь об айпишнике ppp интерфейса, то с одного конца, это локальный айпишник для сервака, а с другого - то что выдается клиенту. айпишник опорной сети в мане вообще нигде не фигурирует, я его читал и проблема именно в этом.

узнать бы айпишник с которого юзер логинится, а там я уже разберусь.

---

насчет радиуса - допустим. посмотрю еще - может пойму.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

tes+or, гм, а окночные точки построены на нормальном оборудовани или мыльницах? Т.е. из самого тривиального - поднять на окончных свичах 802.1Q VLAN'ы и запихивать в них юзеров...
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

хм.. *сделал вид что понял* там где у нас стоят управляемые свичи мы все на уровне физического порта и рубим, а вот там где цепочки из мыльниц, там и юзеры поумнее не от хорошей жизни и следить за ними сложнее в виду специфики мыльниц, что и порождает проблему, решить которую я и задумал при помощи VPNа, а для этого надо как-то получать айпишник юзера с которого он, юзер, коннектится.

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

почти смешно, да

будут идеи попрозаичнее?

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

tes+or, в случе debian и pptpd (poptop) в качестве шестого праметра скриптам из /etc/ppp/ip-up.d/ передается IP клиентского компа. Судя по всем, в переменно $PEERNAME по мнению tungus содержится логин юзера....
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
Ahmed
Интересующийся
Сообщения: 47
Зарегистрирован: 11 ноя 2006, 15:36

Сообщение Ahmed »


Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

гхм..

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

Llama,
из коммента в ip-up:

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

# the followings parameters are available:
# $1 = interface-name
# $2 = tty-device
# $3 = speed
# $4 = local-IP-address
# $5 = remote-IP-address
# $6 = ipparam
из мана pppd:

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

 ipparam string
              Provides an extra parameter to the ip-up, ip-pre-up and ip-down scripts.  If this option is  given, the string supplied is given as the 6th parameter to those scripts.
т.е. это айпишник клиента по дефолту если этому параметру не назначить что-то другое? пока не проверял, но по логике это работать не должно.

Аватара пользователя
tes+or
Неотъемлемая часть форума
Сообщения: 535
Зарегистрирован: 16 дек 2004, 17:47
Откуда: minsk
Контактная информация:

Сообщение tes+or »

да, наверное я туговат на английский или что-то в этом духе, но это в самом деле передает скрипту айпишник клиента по опорной сети.

Ответить