LINUX.ORG.RU
ФорумAdmin

статическая arp-таблица - запрет выхода в Инет,юзеру поменявшему свой IP ?


0

0

Будьте добры, подскажите правильно ли у меня сделана настройка статической arp-таблицы? Я сделала так:
Создала файл /etc/ethers такого вида:
IP_адрес МАС_адрес
В sysinit`e сделала запись arp -s -f /etc/ethers
Запустила arpwatch так:
/usr/sbin/arpwatch -f /etc/arp.dat -i eth1
Т.е. теперь, если кто-то поменяет свой IP, я это увижу (прийдет майл руту и в файле /etc/arp.dat увижу).
Но, когда я меняю IP на своей машине и потом смотрю таблицу arp, то там мой MAC адрес уже соответствует новому IP (флаг С) + сохраняется статическая запись (флаг СМ). Т.о. одному МАС адресу в таблице теперь соответствует два IP и юзер, поменявший свой IP не теряет доступ в Интернет - Так и должно происходить?
Запрет для доступа в Инетрнет для юзера, поменявшего свой IP, видимо осуществляется не посредством arp? Тогда какими средствами? Читала, что с помощью сквида, но для поддержки такой возможности в нем его надо компилить со специальной опцией.
Как еще можно осуществить подобный запрет? (у меня ядро 2.2.12-20)
Спасибо!

anonymous

Что то мне не понятно, у тебя в сети что все кто хочет меняет адрес ? Я так понял тебе надо запретить того пользователя который сменил свой IP и запрет должен происходить автоматом? Если да то я не слышал что это можно осуществить с помощью arp, конечно не отрицаю что нет но не слышал В squid можно прописать те ip которые можно пускать если даже кто то поменяет то интер ему не выпадет на лапу

anonymous
()

Да ещё можно решить это с помощью firewall-a

anonymous
()

ну раз arp не помогает, то лучше взять squid-2.3, там есть MAC access lists. Что касается опций, то они все доступны по ./configure --help.

Z0termaNN
()

> В squid можно прописать те ip которые можно пускать если даже кто
> то поменяет то интер ему не выпадет на лапу

ну пропишу я в сквиде разрешенные ip (их у меня около 100). А как защититься от ситуации, когда кто-то сменит свой ip на другой из списка разрешенных, в то время когда он не будет использоваться?
У нас теперь начался строгий учет трафика по каждому юзеру, поэтому надо чтобы все считалось честно.
Мой вопрос был как сделать жесткую привязку IP-MAC, и когда нарушалось бы это соответствие (менялся IP или МАС), то юзер автоматически лишался бы интернета?
если можно так сделать подскажите как?

> Да ещё можно решить это с помощью firewall-a
у меня ipchains и там про МАС адреса ничего не сказано.

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

anonymous
()

Тогда не знаю , можно было бы через ipchains указать все те адреса которым ты даешё доступ а остальные DENY. Если кто то додумается сменить IP то можно поставить какую нить лог прогу которая следила бы за временем входа тех или иных пользователей , тогда можно было бы проконтролировать это но потом разгребать статистику тоже нудно. ПРивезать MAC идея не плохая но мало этим занимался , кстати не подскажешь как узнать MAC адресс левого IP коотрого нет у тебя в сети?

anonymous
()

сквид отлично фильтрует по соответствию IP-МАС.

acl sasha src x.x.x.x

acl sasha_arp arp xx:xx:xx:xx:xx:xx

http_access allow sasha sasha_arp

sasha999 ★★★★
()

./configure --enable-arp-acl
make
make install
vi /usr/local/squid/etc/squid.conf

~~~~~
~~~~~
acl имя arp "файл с МАС адресами"
http_access deny !имя
~~~~~
~~~~~

Все!

anonymous
()

Могу кинуть исходники простого демона, который через syslog ведет лог смены MAC-адресов.

RSI
()

2 RSI - и мне кинь.... ruwa@psrp.te.ru а лучше урлу скажи......

Ruwa
()

Спасибо всем за помощь!
RSI, демон, о котором ты пишешь, не помешало бы поставить, мой адрес nelli@lgs.lv
Правда у меня arpwatch сообщает по почте о смене MAC адресов и появлении новых хостов, но ваш демон тоже было бы интересно посмотреть.
А на счет привязки IP-MAC через сквид, надо попробовать. Пока мне не очевидно, что там происходит фильтрация именно по соответствию IP-МАС, а не задается только список разрешенных IP и МАС. Но раз не пробовала, не могу утверждать обратное.

anonymous
()

А ты не пробовал в своем файле /etc/ethers прописать _ВСЕ_ МАС адреса своей подсети? На мой взгляд это должно решить проблему, ибо каждому IP должен соответствовать единственный МАС, заранее прописанный в arp-таблице. Я не прав?

anonymous
()

Я же писала, после записи IP и МАС адресов компа в файле /etc/ethers, я меняю IP на той машине и потом смотрю таблицу arp, и там уже одному МАС адресу соответствует два IP (статическая запись сохраняется + появляется новая)

anonymous
()

вообще-то эта проблема очень старая и долго обсуждалась и в cisco online conference на online.comptek.ru, и в ru.unix.* . на мой взгляд самый лучший выход - arpwatch и жуткие кары тем, кто попытается фокусы делать. конечно, можно и MAC подменить, но тут уже без умных свитчей не обойтись.

sasha999 ★★★★
()

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

anonymous
()

Да, для того, чтобы фильтровать сквидом нужно заставить всех ходить через него. Для этого надо каждому юзеру в браузере сделать соответствующие настройки (IP сквидовской машины и номер порта, на котором работает сквид - см. в squid.conf, по умолчанию он 3128). Минус в том, что юзер может убрать эти настройки и тем самым уйти из поля зрения. Если пускать редиректом (прозрачный прокси), то не будет статистики и кеширования. На счет того, что не будет кеширования не имею 100% уверенности, но мне так говорили.

anonymous
()

По поводу "МАС адресу соответствует два IP" - дык это ядро периодически обновляет arp cache. Чтобы оно этого не делало (только статика из файла /etc/ethers) - надо его пропатчить и пересобрать. Где-то на www.linux.opennet.ru про это было....

anonymous
()
Ответ на: комментарий от anonymous

Как бы сделал я:
1. Взвел бы DNS и DHCP
2. Полностью заблокировал бы хождение меж локалкой и Интернетью
3. В Интернет разрешил бы хождение только squid
4. squid взвел бы в авторизующем режиме (вот и учет - ходи с любой тачки, но под своим именем)

anonymous
()

А юзера друг другу пароли расскажут, хотя это их дело. Если они за доступ денежки платят, то может и не расскажут. А если нет (как у меня) то через неделю в инет будут все лазить.

anonymous
()
Ответ на: комментарий от anonymous

>Да, для того, чтобы фильтровать сквидом нужно заставить всех ходить через него. Для этого надо каждому юзеру в браузере сделать соответствующие
>настройки (IP сквидовской машины и номер порта, на котором работает сквид - см. в squid.conf, по умолчанию он 3128). Минус в том, что юзер может убрать эти
>настройки и тем самым уйти из поля зрения.

Ну и фиг ему тогда а не Инет, если все правильно настроено :))). Что и требовалось. 
Надо будет попробовать в SQUID MAC-адреса зашить, то у меня нашлись умники - вместо своего адреса в подсетке подставляют чужой ip, а когда за трафик начинаешь разборки устраивать - оказывается надо arpwatch слушать :). 

anonymous
()

squid это прокси, а если открыт маскарад на множество портов, да еще на всякие хитрые сервисы типа ICQ, то он не лечит. У меня все работает - стоит arp -f filename, где формат файла такой же, как и у тебя. Ядро 2.2.14. Со старыми ядрами тоже работало без проблем, и никаких двойных записей в arp таблице не создавалось. А насчет squid'a: очень легко заставить ходить всех через него. Смотри ядро и ipchains на предмет transparent proxy.

timur
()

man ifconfig 
/arp
 

anonymous
()
Ответ на: комментарий от anonymous

так! у меня все работает так: по дхцп люди получают адреса. от умников , которые руками выставляют чужие ИП или меняют без спроса карточку, кажную минуту запускается простенький перловый скрипт, который сравнивает арп и файло типа /етц/езерс и тех кого не надо отрубает путем переписывания правил ipchainsом вот вроде и все.

anonymous
()

Рассказал бы кто-нидь, как ограничить бесконтрольное присваивание ипшников в аркнетовской сети, где, как известно, MAC меняется простым переключением джамперов на плате...

anonymous
()

MAC адреса

Надо заметить, что MAC адрес подделать(поменять) не сложнее, чем IP. man ifconfig /hw class address

anonymous
()

У меня это сделано так:

  • 1 Вся сеть (кроме серверов) получает IP по DHCP.
  • 2 На основе /etc/dhcpd.conf генериться скрипт arp.setup вида:

    arp -s IP MAC

    .............

  • 3 Скрипт исполняется на фаэрволе и внутреннем раутере.

    Конечно, можно подделать и МАС адрес, но на это надо интеллект иметь, а у моих пользователей с ним плохо.

    anonymous
    ()
  • По поводу squid - и редиректа пользователей - а transparent proxy support в ядре на что?

    anonymous
    ()

    transparent proxy support в ядре в ядре обязательно надо включить, если хочешь сделать прозрачный прокси. Но надо еще и в ipchains (ipfwadm) сделать правило - редирект на соответствующий порт проксика.

    anonymous
    ()

    Полтора года пользуюсь чужим иннетом подставляя IP и MAC. Сам пробовал найти защиту от таких как я, и могу с уверенностью заявить удовлетворительного метода не существует, правда я искал решение в виде бесплатного програмного пакета. Вероятно комерческие продукты способны на большее.

    anonymous
    ()

    Да, в дополнение к моей мессаге от (2000-04-04 06:00:45.0)

    Для борьбы с подстановкой МАС адресов сильно рекомендую локальную сеть делать на основе _управляемых_ хабов/свичей. ХП-шные позволяют сказать, что с такой-то дырки должен ходить только такой-то МАС! Думается мне, что это же умеют делать не только в ХП :)

    anonymous
    ()

    Reverse ARP пробовали в ядре включать ? Помоему в этом случае динамическое обновление отключается и ничего патчить не надо ...

    Seasonf
    ()
    Ответ на: комментарий от anonymous

    Во-Во и незаюзаные ИП нулями забить, у меня это великолепно работает.

    anonymous
    ()
    2 мая 2001 г.

    Как узнать Ip чела через Net

    anonymous
    ()
    Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.