ограничить доступ через MAC-адрес - PullRequest
1 голос
/ 28 мая 2009

Я устанавливаю стек WAMP / LAMP на старом ПК. Этот компьютер будет подключен к локальной сети примерно с дюжиной других компьютеров. Я заинтересован в ограничении доступа со всех остальных компьютеров, чтобы только мой партнер и я могли получить доступ к нашему локальному серверу. Я думаю, что лучший способ сделать это - заблокировать чужой MAC-адрес (маршрутизатор назначает IP-адреса автоматически, поэтому я не хочу зависеть от этого). Я хотел бы добавить, что у меня нет доступа к странице конфигурации маршрутизатора, так что это должно быть сделано с самого сервера.

Может кто-нибудь рассказать о том, как это делается?

Ответы [ 3 ]

3 голосов
/ 28 мая 2009

linux / iptables, способ сортировки по черному списку, это отбросит весь трафик, исходящий от указанных mac адресов:

iptables -I INPUT 1 -m mac --mac-source <blacklisted mac 1> -j DROP
iptables -I INPUT 1 -m mac --mac-source <blacklisted mac 2> -j DROP

Однако я не совсем уверен, что если вы этого хотите, то MAC-адрес на самом деле не является надежным методом фильтрации вашего трафика. Большинство современных сетевых адаптеров позволяют вам менять свой mac-адрес, и если ip-пакет, который инкапсулируется в ethernet-фрейм, прошел через маршрутизатор, source-mac-address на ethernet-фрейме будет одним из последних маршрутизатор, через который он прошел, а не исходящий компьютер.

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

iptables -A INPUT -p tcp --dport 80 -m mac --source <your mac> -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m mac --source <your partners mac> -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
1 голос
/ 28 мая 2009

Если вы не можете возиться с роутером, тогда вам нужно ввести ограничения для самого сервера: в зависимости от того, каким параноиком вы хотите быть, на ум приходит несколько вариантов:

  • Самый простой - настроить VirtualHost в Apache, задав для имени хоста уникальное имя, которое не разрешается через DNS: просто добавьте эту запись в файл локальных хостов и вуаля - любой, кто обращается к серверу по IP, получит хост Apache по умолчанию (страница приветствия ).
  • Middle - используйте mod_auth_basic для добавления базового (имя пользователя + пароль через htpasswd) доступа к веб-серверу
  • Самое сложное - добавить правила iptables, чтобы заблокировать весь доступ к порту 80, кроме данных с данного компьютера Mac
1 голос
/ 28 мая 2009

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

Второе, что вам поможет, это брандмауэр. Ищите брандмауэр, который ограничивает доступ по MAC-адресу (если вы используете Linux, я почти уверен, что у него уже есть эта возможность, на моем wintel я использую Comodo Personal Firewall, который позволяет мне фильтровать по физическому адресу.)

...