1

Я нахожусь в процессе ограничения доступа к моей производственной системе Linux, где доступ по ssh должен быть ограничен только несколькими MAC-адресами.

Я следовал инструкциям, изложенным в этом руководстве, и выполнил следующие две команды:

/sbin/iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP
/sbin/iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT

root@xxxx:~/#: iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere            MAC XX:XX:XX:XX:XX:XX
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh MAC XX:XX:XX:XX:XX:XX

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

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

3 ответа3

0

Я думаю, что делать то, что вы спрашиваете, - это ebtables.

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

0

Я вижу проблему из вашего результата:

Chain INPUT (policy ACCEPT)

По умолчанию системная политика INPUT цепочки правил iptables для вашей системы - ПРИНЯТЬ, она влияет только на ваш введенный MAC-адрес. Поэтому, пожалуйста, измените политику по умолчанию на DROP.

#iptables -P INPUT DROP

Теперь вы можете проверить снова. Доступ к вашему компьютеру возможен только через разрешенный MAC.

0

Как отмечалось выше, я думаю, вы, вероятно, ошибаетесь; MAC-адреса могут быть подделаны и могут даже дублироваться в больших сетях.

Если вы хотите ограничить доступ по ssh к нескольким машинам, тогда лучшим выбором будет ограничение по IP-адресу. Эти машины находятся в локальной сети или глобальной сети?

Однако обратите внимание, что даже блокировка по IP может быть ошибочным подходом:

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

  • ssh должен использовать метод аутентификации, достаточно безопасный для предотвращения доступа неавторизованных пользователей, откуда бы они ни исходили.

Мой подход заключается в следующем:

  • [Определенно] Ограничение скорости ssh попытки подключения с использованием iptables или пакета, например fail2ban
  • [Определенно] Разрешить только авторизацию на основе ключа для ТШ
  • [Возможно] Разрешить только те сети, которые хотят получить доступ из iptables

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .