Monday, January 8th, 2007 10:13 pm
Жил-был один домонетный провайдер. И окучил он много домов. Ethernet'ом, естественно. Но клиенты нынче пошли технически подкованные, через одного хакеры, поэтому просто так раздавать IP-адреса нельзя - это ж каждый дурак подделать может.

Умные провайдеры в этом случае что делают? Покупают мощную железку и поверх всего этого запускают VPN. Потому что всё остальное при некотром желании можно отсниффить, даже если сеть на коммутаторах собрана. (Да-да, привет мальчику Сереже с его Черным Сниффером и arp poisoning'ом).

Но то умные. А у некоторых то ли денег не хватает, то ли мозгов.. Потому что делать широковещательную домашнюю сеть /16 - это я не знаю, кем надо быть. Несмотря на коммутаторы, там одних броадкастов и arp'ов килобайт на 20 в секунду приходит. И уровень грамотности сотрудников техподдержки сильно настораживает. Ну да ладно, речь не о том.

Короче, провайдер решил привязаться к мак-адресам сетевых карт. И строго-настрого запретил клиентам менять сетевые карты, или, того хуже, подключать всякие маршрутизаторы и точки доступа, не уведомив об этом провайдера. Про MAC address cloning, который давно стал штатной фичей в домашних маршрутизаторах, провайдер, видать, никогда не слышал.

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

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

Так оно что, правда, защищает? На первый взгляд - да.
А если копнуть поглубже?
На нормальное сетевое оборудование-то провайдер поскупился, по подъездам не маршрутизаторы стоят, а коммутаторы. Которые подешевле, неуправляемые. И в резуальтате в сети запросто может возникнуть маленькое чудо в виде двух компьютеров не только с одинаковыми IP, но и с одинаковыми маками. Авторизуется один, а в интернет ходят оба. Конечно, они иногда друг другу мешают, получая пакеты друг от друга, но в общем ничего, жить можно.

Будь там маршрутизаторы - фиг бы можно было заниффить мак-адреса. Хотя nmblookup их тоже сообщает, но это надо какие-то дополнительные нетривиальные телодвижения совершать. А так NBTшные броадкасты от виндовых машин вообще сами горами валятся - бери-не хочу. И подделываться можно было бы, в лучшем случае, под тех, кто в этом же подъезде.

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

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

Upd: мне тут недавно ссылочку подкинули - http://www.nag.ru/2002/0403/3m2.shtml . 2002 год, однако.
Monday, January 8th, 2007 11:01 pm (UTC)
ну у нас хотя бы нет "А чтоб совсем все было надежно, даже с этих псевдо-статических IP в наружный интернет выпускают не всех, а только тех, кто с этого IP-адреса запустит специальную хитрую программу, которая раз в N секунд ходит на сервер авторизации и очень шифрованным способом сообщает туда пароль."
у нас заходим по https на сервер, вводим пароль, и пока комп пингуется с сервера - связь есть.
ща посмотрю по tcpdump, с какой периодичностью...
да и сетка тут на свичах, все-таки, и не /16 а /24 :)
Monday, January 8th, 2007 11:17 pm (UTC)
не вижу принципиальной разницы. Пинговаться он будет. Оба сразу, или по очереди, или как получится.
Monday, January 8th, 2007 11:37 pm (UTC)
Пиновать надо arping'ом (via arp whohas). Тогда такие случаи отлично видны - приходит более одного ответа.
Monday, January 8th, 2007 11:46 pm (UTC)
Это только в пределах одного сегмента. То есть, либо несколько пингующих серверов, либо один, но во всех сетях сразу.. В общем случае тоже не выход.
Monday, January 8th, 2007 11:54 pm (UTC)
Проблему это составляет, только если дефолт роутер в таких сетях не *NIX ;-) Да и в этом случае, можно собрать нужные VLANы в рядом стоящую не слишком сильную машинку.

Это я тебе как провайдер с ~850 (правда, относительно мелкопорезанными, в основном по /26) вланами говорю ;)
Tuesday, January 9th, 2007 12:19 am (UTC)
~850 vlan? убиться :)
Friday, January 12th, 2007 03:55 am (UTC)
А юзеры в инет "напрямик", или через VPN?
Tuesday, January 9th, 2007 12:15 am (UTC)
разница в том, что авторизоваться можно не только из-под винды :)
Tuesday, January 9th, 2007 08:05 am (UTC)
Да у этих тоже есть перловый скрипт, который в юниксе работает. Его удалось выбить из техподдержки, которая, правда, не с первого раза поняла слово "линукс".
Tuesday, January 9th, 2007 08:07 am (UTC)
> Да у этих тоже есть перловый скрипт, который в юниксе работает.

ух ты. а я Ленина провайдера, который только через MS Internet sharing client инет раздает, видел
способа подключиться не из-под винды - не нашел


Tuesday, January 9th, 2007 12:23 am (UTC)
скупой провайдер мог бы на основе debian запустить PPTP или PPPoE сервер. Или несколько, все равно дешевле дорогущей железки получилось бы
Tuesday, January 9th, 2007 12:33 am (UTC)
Сложно. Уже на единицах тысяч одновременных сессий - очень сложно. Увы, проверено :(
Tuesday, January 9th, 2007 05:23 am (UTC)
А сколько один сервер тянет? Сотни?
Tuesday, January 9th, 2007 02:36 pm (UTC)
Примерно да. Дорогущие железки тем и хороши, что тысячи и десятки тысяч сессий держат. Но, увы, все равно в условиях современного безудержного разгула p2p складываются гораздо раньше, чем предполагалось их разработчиками: паттерн использования совершенно другой.
Tuesday, January 9th, 2007 08:23 am (UTC)
А в чем сложность?
Tuesday, January 9th, 2007 02:37 pm (UTC)
в первую очередь kernel interlocks
Tuesday, January 9th, 2007 01:47 am (UTC)
да обрящут они анлим и абонентскую плату..
Tuesday, January 9th, 2007 05:24 am (UTC)
Они его должны обрести во всех тарифных планах. Часть клиентов будет против.
Tuesday, January 9th, 2007 05:05 am (UTC)
Прямо сейчас так делает некий telenet.ru, раньше подобная пофигень была у convex.ru.
У нас таких чудиков много.
Кстати, авторизатор для telenet`а под *nix собрал какой-то любитель из числа их клиентов. Сами они не удосужились.
Tuesday, January 9th, 2007 05:33 am (UTC)
на imsys.ru тоже по макам все. При этом в договоре написано, что если я сообщу мак роутера и попробую через нат кормить квартиру, к примеру,меня немедленно отключат.
правда, как я понял, сдается мак через привязанный к порту свитча vlan... Но кого это останавливает?
Tuesday, January 9th, 2007 07:37 am (UTC)
Или как я уже говорил - следи просто за arp'ами от маршрутизатора и всегда будь соседом :)
Saturday, January 13th, 2007 02:33 pm (UTC)
Там, на самом деле, все еще смешнее сейчас.
Привязку к маку, похоже, отменили уже за ненадобностью. И тот самый авторизатор - тоже.
То есть, достаточно позвонить в службу поддержки и сказать - а напомните мне, пожалуйста, мой IP? И тебе его скажут, ага. И этого будет вполне себе достаточно.
Wednesday, March 14th, 2007 11:09 pm (UTC)
Домашняя широковещательная сеть на /16 -- это еще узко.
У нас один из домашних широковещательных сделал раздачу адресов (статикой без DHCP) из 10/8
Вот где веселуха была...
Monday, October 19th, 2009 01:24 pm (UTC)
Хмм...
Monday, October 19th, 2009 01:28 pm (UTC)
а кто обещал, что будет легко..