Ограничить доступ к серверу с помощью MAC-адреса или сертификата

Ограничить доступ к серверу с помощью MAC-адреса или сертификата

У моего сервера статический IP, и я настроил веб-сайт так, чтобы компьютеры в той же сети могли получить доступ к веб-сайту, используя IP-адрес. Например, вы можете ввести 192.168.1.1/#!/ в адресной строке браузера и подключиться к моему веб-сайту.

Я ищу способ ограничить подключения к рабочему столу Ubuntu либо с помощью MAC-адреса, либо с помощью сертификатов, которые находятся на компьютерах, которым я предоставляю доступ.

Есть ли способ ограничить подключения таким образом?

решение1

Вы можете использовать правила iptables для ограничения доступа на основе MAC-адреса. Вот пример из моего собственного набора правил, чтобы не разрешать пакеты с определенного MAC-адреса:

# Drop packets from a certain MAC address
#
$IPTABLES -A INPUT -i $EXTIF -m mac --mac-source 00:14:BF:BC:25:EE -j LOG --log-prefix "BEFSR81:" --log-level info
$IPTABLES -A INPUT -i $EXTIF -m mac --mac-source 00:14:BF:BC:25:EE -j DROP

где:

IPTABLES=/sbin/iptables
EXTIF="eth1"
UNIVERSE="0.0.0.0/0"
EXTIP="your static IP address"

Однако если бы требовалось разрешить доступ на основе MAC-адреса, правила были бы примерно такими:

$IPTABLES -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow packets from a certain MAC address and no others
#
$IPTABLES -A INPUT -i $EXTIF -m mac --mac-source 00:14:BF:BC:25:EE -j LOG --log-prefix "BEFSR81:" --log-level info
$IPTABLES -A INPUT -i $EXTIF -m mac --mac-source 00:14:BF:BC:25:EE -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -j DROP

Примечание: для версии allow могут потребоваться некоторые другие специальные ACCEPT.
Вы можете захотеть или не захотеть строки журналирования. Если вы их сохраните, убедитесь, что они не заполняют ваши файлы журналов.

Связанный контент