Недавно у нас возникла проблема, когда пользователь принес свой ноутбук из дома и подключил его к сети, пытаясь получить доступ к Интернету. Я знаю, что на уровне порта я могу установить ограничения MAC, но мне было интересно, есть ли способ, которым я могу запретить несоответствующей машине даже получать доступ к нашей сети в будущем? В настоящее время мы используем все клиентские машины Windows 7, и я хотел бы просто сказать ей «если не Windows 7, нет доступа», но не уверен, как именно это сделать. Мы используем среду AD, 2008 и более поздние Windows Servers.
Я думал, что NAP, возможно, сработает, и, похоже, у него есть настройка для WinXP (и одна для Win7), но он позволяет мне запрещать/разрешать доступ на основе того, обновлена ли она, включена ли защита от вирусов и т. д., а не на основе самой Windows XP. Есть ли способ, которым я могу отключить что-либо, кроме того, что я укажу, от получения доступа к сети таким образом?
Заранее спасибо за вашу помощь!
решение1
Надо отдать должное тем, кто упомянул об этом выше, но 802.1X — это способ контролировать такое поведение. Здесь гораздо больше сложностей, чем у меня есть непосредственный опыт, но я использую сервер RADIUS дома для аутентификации в моей беспроводной сети. С pfsense это было легко настроить.
решение2
Аутентификация по MAC-адресу является самым слабым типом аутентификации, MAC-адреса можно подделать за считанные секунды, получив полный доступ к сети. Все, что нужно сделать пользователю, это узнать MAC-адрес своего ноутбука и подделать его на своем личном ноутбуке, и он получит полный доступ к корпоративной сети.
Вам следует использовать 802.1x, чтобы остановить это, там, где я работаю, мы развернули его с коммутаторами Cisco и сервером Windows NPS, только устройства, которые являются частью домена, получают доступ к сети. Мы также использовали сертификаты с ним.
Однако блокировка порта по MAC-адресам наряду с 802.1x также является хорошей идеей для предотвращения атаки MAC-флуда. Мы заблокировали порты до 8 MAC-адресов, чтобы снизить риск атаки MAC-флуда.
решение3
Во-первых, убедитесь, что вы отключили все сетевые порты, которые не нужно использовать.
А теперь еще одна альтернатива, которая не сработает для вас, но о которой стоит подумать другим. Пассивный отпечаток ОС может сработать для тех, кто хочет решить эту проблему, но, возможно, хочет заблокировать пользователей, не использующих Windows, или имеет локальную сеть компьютеров MAC и хочет заблокировать все остальное.
Я собираюсь добавить его туда как возможное решение, которое может подойти для некоторых ситуаций. Я все же думаю, что что-то вроде 802.1X — более надежный вариант.
Это не работает, потому что, насколько я могу судить, фильтровать с помощью osf в Windows:xp или что-то в этом роде нельзя... или можно? Не могу сказать, не попробовав.
Но предположим, что вы просто хотите разрешить доступ только к компьютерам с Windows.
1) Создайте мост Linux. http://bwachter.lart.info/linux/bridges.html
2) Загрузите пассивный модуль отпечатков пальцев ОС и используйте такие правила, как:
iptables -I ВВОД -p tcp -m physdev --physdev-in eth0 -m osf --genre Windows --ttl 0 -j ПРИНЯТЬ
Читать далее:Как заблокировать/разрешить пакеты, отправляемые определенной операционной системой с помощью iptables?
Затем эта машина-мост вставляется между вашей сетью и маршрутизатором. Если у вас уже есть маршрутизатор Linux в сети, который вы используете в качестве брандмауэра/шлюза, вы можете просто добавить правила модуля osf в iptables.
К сожалению, поскольку распознавание ОС основано на том, как ОС устанавливает начальный TTL, размер окна и несколько других битов и деталей в пакетах TCP SYN, оно будет работать только с TCP. Кроме того, его можно обойти. Так что это не совсем безопасно.
решение4
Я бы настроил фильтрацию MAC, так как это самый безопасный маршрут, и вы можете быть уверены, что ловите все. Почему вы не хотите настроить фильтр MAC?