Я хочу разрешить только известный блок IP-адресов для SSH на наших серверах. У меня есть Windows Server 2012, R2, CentOS 7 и Ubuntu 12 и 14.

Какова наилучшая практика для каждой ОС для достижения этой цели?

2 ответа2

1

Есть несколько способов сделать это, но я расскажу вам, что я делаю для своих клиентов.

В зависимости от того, как вы этого хотите (я использую VLAN / подсети, ACL и группы безопасности), я обычно делаю сетевую группу безопасности (обычно на брандмауэре / коммутаторе / маршрутизаторе, с которым я работаю), которая состоит из: диапазон IP-адресов, группа серверов или сетевые объекты, для которых я буду разрешать доступ, а затем я использую списки ACL для ограничения трафика.

Например, предположим, что вы разрешаете этим серверам, о которых вы упоминали выше, подключаться через SSH (TCP-порт 22) к вашим серверам на внутренней / внешней основе; Это означает, что серверы, которые вы упомянули выше, являются внешними или вне вашей локальной сети, и что серверы, которым вы разрешаете им использовать SSH в ARE в вашей локальной сети. Вы должны создать группу объектов на своем брандмауэре, назвать ее Внешними SSH-клиентами и поместить все внешние / публичные IP-адреса этих серверов в эту группу. Затем вы создадите еще одну группу на брандмауэре для серверов, находящихся в вашей внутренней локальной сети, к которой они могут получить доступ, и назовете ее чем-то вроде «Внутренние серверы разрешены по SSH». Затем вы создадите ACL, который будет разрешать трафик от внешних клиентов к внутренним серверам. Так, например, ваш ACL будет выглядеть примерно так:

Источник: Внешние клиенты SSH

Назначение: внутренние серверы SSH разрешены

Протокол / Порт: SSH / 22

Разрешить / Запретить: Разрешить

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

В этом сценарии учитывается только переход с общедоступного набора IP-адресов или клиентов вне вашей сети на внутреннюю группу серверов в вашей локальной сети через SSH. Есть много других способов сделать это и другие сценарии; возможно, вы задаетесь вопросом, как сделать это внутри, где все серверы являются локальными, или в вашей локальной сети, и в этом случае это на самом деле мало чем отличается. Я просто попытался дать вам базовый образ мыслей о том, как вы этого добьетесь. Дайте мне знать, если что-то не имеет смысла, и я могу уточнить подробности.

0

Я отредактировал мой /etc/hosts.allow: sshd: 198.xxx.xxx.xxx/255.255.255.248 sshd: 192.168.x.0 /255.255.255.0

и /etc/hosts.deny: sshd: ALL

И перезапустил SSH. Кажется, работает.

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