Перейти до

Привязка МАК к IP


Рекомендованные сообщения

Если есть файл_с_юзерами в формате

name|ip|mac

...

То можно сделать так:

open (USERS, '< файл_с_юзерами') or print "Can't open файл_с_юзерами\n

while ($line = <USERS>)

{

chomp $line;

($user, $ip, $mac) = split(/\|/,$line);

$ips{$ip} = $ip;

$users{$ip} = $user;

$macs{$ip} = $mac;

}

close (USERS);

 

open (FIRE, "> скрипт =))") or print "Can't open скрипт\n";

printf FIRE "\#!/bin/sh\n\n/usr/sbin/arp -d -a\n";

foreach $i (1..254)

{

$ip = "num.your.net.".$i;

 

if(exists $ips{$ip}) # Если существует ип

{

# Смотрим сколько денег на балансе

 

if ($deneg <= 0) { $macs{$ip} = '00:00:00:00:00:00'; } # если без денег, то ту часть убираем))

 

}

else { $macs{$ip} = '00:00:00:00:00:00'; }

 

print FIRE "/usr/sbin/arp -s $ip $macs{$ip} pub\n";

}

close (FIRE);

 

потом можно этот "скрипт" выполнять sh скрипт =))

или ещё проще

 

`/usr/sbin/arp -d -a`;

foreach $i (1..254)

{

$ip = "num.your.net.".$i;

 

if(exists $ips{$ip}) # Если существует ип

{

# Смотрим сколько денег на балансе

 

if ($deneg <= 0) { $macs{$ip} = '00:00:00:00:00:00'; } # если без денег, то ту часть убираем))

 

}

else { $macs{$ip} = '00:00:00:00:00:00'; }

 

`/usr/sbin/arp -s $ip $macs{$ip} pub`";

}

 

Т.е. сразу и лочить =))

 

P.S. Можно сделать так, чтоб скрипт анализировал конф файл dhcpd. Чтоб не заводить лишний файл.

Ссылка на сообщение
Поделиться на других сайтах

Если меняют IP, то что мешает поменять и МАС?

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

Ссылка на сообщение
Поделиться на других сайтах

Поменять МАС не мешает абсолютно ничего.

Поэтому я стараюсь уйти с защиты по ip+mac на защиту по паролю.

Чего и вам желаю.

А скрипт взят из старой статистики.

Даже при защите по паролю, дополнительная защита по мак адресу будет не лишней. По крайней мере, это не будет делаться "просто так, прикола ради".

Ссылка на сообщение
Поделиться на других сайтах
Поменять МАС не мешает абсолютно ничего.

Поэтому я стараюсь уйти с защиты по ip+mac на защиту по паролю.

Чего и вам желаю.

А скрипт взят из старой статистики.

Даже при защите по паролю, дополнительная защита по мак адресу будет не лишней. По крайней мере, это не будет делаться "просто так, прикола ради".

Это давно реализованно в СТГ, что изобретаем велосипед?

Ссылка на сообщение
Поделиться на других сайтах
Поменять МАС не мешает абсолютно ничего.

Поэтому я стараюсь уйти с защиты по ip+mac на защиту по паролю.

Чего и вам желаю.

А скрипт взят из старой статистики.

Даже при защите по паролю, дополнительная защита по мак адресу будет не лишней. По крайней мере, это не будет делаться "просто так, прикола ради".

Это давно реализованно в СТГ, что изобретаем велосипед?

Я имею в виду лочить ип по маку. Это реализовано в СТГ? В каком билде, если не секрет? Я этого не нашел в stg. Поэтому считаю такую привязку хорошим дополнением к системе.

Ссылка на сообщение
Поделиться на других сайтах
Поменять МАС не мешает абсолютно ничего.

Поэтому я стараюсь уйти с защиты по ip+mac на защиту по паролю.

Чего и вам желаю.

А скрипт взят из старой статистики.

Даже при защите по паролю, дополнительная защита по мак адресу будет не лишней. По крайней мере, это не будет делаться "просто так, прикола ради".

Это давно реализованно в СТГ, что изобретаем велосипед?

Я имею в виду лочить ип по маку. Это реализовано в СТГ? В каком билде, если не секрет? Я этого не нашел в stg. Поэтому считаю такую привязку хорошим дополнением к системе.

Реализованна защита по паролю, а привязка не была реализованна за ненадобностью. Может во второй версии реализует автор, смысла в этом нет.

Не хотел я писать об этом, но так и быть, подсказка юным хакерам:

Сидит со своим IP хакер, дает команду arp -a

Смотрит МАС и IP соседа...

Время от времени его пингует...

Сосед выключился. Пинга нет.

Дальше продолжать рассказ, что делать хакеру?

Ссылка на сообщение
Поделиться на других сайтах
Смотрит МАС и IP соседа...

Время от времени его пингует...

Сосед выключился. Пинга нет.

Дальше продолжать рассказ, что делать хакеру?

 

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

Ссылка на сообщение
Поделиться на других сайтах
Не хотел я писать об этом, но так и быть, подсказка юным хакерам:

Сидит со своим IP хакер, дает команду arp -a

Смотрит МАС и IP соседа...

Время от времени его пингует...

Сосед выключился. Пинга нет.

Дальше продолжать рассказ, что делать хакеру?

Спасибо, что облегчил жизнь юным хакерам и осложнил жизнь провайдерам =))

Ты хочешь, чтобы все сказали "лочить ип по маку - ненадежно, поэтому мы не будем этого у себя делать"?

Это лишняя защита. Согласен, она не помешает хакеру сменить и мак для смены IP. Но простому пользователю, который начитается журнала Хакер и подумает "а на...бу-ка я соседа, сменю ка IP адрес", это остановит.

Я думаю, что никто не будет против поставить у себя такую защиту в дополнение к уже имеющийся.

Но я согласен с тем, что лучшая защита - свичи с защитой по маку на порт.

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

--КУСЬ--

Но я согласен с тем, что лучшая защита - свичи с защитой по маку на порт.

Может наоборот спасибо скажешь мне, когда поскорее перейдешь на авторизацию по паролю, может мое сообщение ускорит процесс перехода.

Вот насчитает биллинг у какому-ту юзеру лишнего...

А с юзером спорить - себе вредить, доказывать ему что-то, что так нельзя делать -- нервы себе портить, все-равно не дойдет.

А так поменял, ну не работает, поставил назад. Да и провайдеру спокойней, даже тогда, когда его это не заботит.

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

Я думаю, тема исчерпанна.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...
Сидит со своим IP хакер, дает команду arp -a

Смотрит  МАС и IP соседа...

Время от времени его пингует...

Сосед выключился. Пинга нет.

Дальше продолжать рассказ, что делать хакеру?

Отца русской демократии (nn) спасет установка свитчей с VLAN'ами, например SURECOM 16 port 19", два общих порт, остальные друг друга не видят, и arp -a показывать будет себя и сервер e.t.c ;-)

 

Решить только программно безопасность - НЕВОЗМОЖНО, какой велосипед не изобретай.

 

А привязка по МАКУ полезна, по крайне мере дисциплинирует прицепление к сети уродцами разнообразных девайсов, + DHCP естесно.

Ссылка на сообщение
Поделиться на других сайтах

Во первых. Авторизация ПО ПАРОЛЮ у меня уже давно стоит.

Во вторых. Даже с ней не повредит привязка использующихся IP к МАС адресам. А неиспользующиеся IP адреса забить маками 00:00:00:00:00:00.

В третьих. Железно ситуацию спасут умные свичи.

Ну в четвертых. Если везде 10, 100 и более мегабит, можно попробовать ввести топологию типа "звезда". Когда создается при наличии физической локальной сети, создается абстрактно отдельная сеть на каждого выделенщика, в которой битовой маской количество IP адресов ограничивается четыремя. Это как бы 0 адрес, потом адрес сервера, адрес клиента и широковещательный адрес. Понавешать алиасов на интерфейс на сервере. И можно будет файрволом разруливать разрешения, какому пользователю чего в сети можно видеть. Потому как теперь весь траффик, в том числе и локальный, будет гоняться через сервер =))

Ссылка на сообщение
Поделиться на других сайтах

Только что доделал привязку маков к ипам. Выкладываю простой вариант, когда клиенты в одной локалке с сервером. Если кому надо более продвинутый вариант( когда сервер в другой локалке) - пишите =))

У меня в карточке пользователя примечания отведены под мак адрес .

#!/usr/bin/perl

$raw = `grep IP= /var/stargazer/users/*/conf`;
@lines = split(/\n/, $raw);
foreach $line (@lines)
{
chomp $line;
($a, $b) = $line =~ /^\/var\/stargazer\/users\/(\w+)\/conf\:IP=(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/ or next;
$ips{$a} = $b;
}

$raw = `grep Note= /var/stargazer/users/*/conf`;
@lines = split(/\n/, $raw);
foreach $line (@lines)
{
chomp $line;
($a, $b) = $line =~ /^\/var\/stargazer\/users\/(\w+)\/conf\:Note=(\w{2}\:\w{2}\:\w{2}\:\w{2}\:\w{2}\:\w{2})$/ or next;
next unless(exists $ips{$a});
$arps{$a} = lc $b;
}

`/usr/sbin/arp -d -a`

while(($name) = (each %arps)[0]) { `/usr/sbin/arp -S $ips{$name} $arps{$name} pub`; }

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...