Я хочу разрешить только известный блок IP-адресов для SSH на наших серверах. У меня есть Windows Server 2012, R2, CentOS 7 и Ubuntu 12 и 14.
Какова наилучшая практика для каждой ОС для достижения этой цели?
Я хочу разрешить только известный блок IP-адресов для SSH на наших серверах. У меня есть Windows Server 2012, R2, CentOS 7 и Ubuntu 12 и 14.
Какова наилучшая практика для каждой ОС для достижения этой цели?
Есть несколько способов сделать это, но я расскажу вам, что я делаю для своих клиентов.
В зависимости от того, как вы этого хотите (я использую VLAN / подсети, ACL и группы безопасности), я обычно делаю сетевую группу безопасности (обычно на брандмауэре / коммутаторе / маршрутизаторе, с которым я работаю), которая состоит из: диапазон IP-адресов, группа серверов или сетевые объекты, для которых я буду разрешать доступ, а затем я использую списки ACL для ограничения трафика.
Например, предположим, что вы разрешаете этим серверам, о которых вы упоминали выше, подключаться через SSH (TCP-порт 22) к вашим серверам на внутренней / внешней основе; Это означает, что серверы, которые вы упомянули выше, являются внешними или вне вашей локальной сети, и что серверы, которым вы разрешаете им использовать SSH в ARE в вашей локальной сети. Вы должны создать группу объектов на своем брандмауэре, назвать ее Внешними SSH-клиентами и поместить все внешние / публичные IP-адреса этих серверов в эту группу. Затем вы создадите еще одну группу на брандмауэре для серверов, находящихся в вашей внутренней локальной сети, к которой они могут получить доступ, и назовете ее чем-то вроде «Внутренние серверы разрешены по SSH». Затем вы создадите ACL, который будет разрешать трафик от внешних клиентов к внутренним серверам. Так, например, ваш ACL будет выглядеть примерно так:
Источник: Внешние клиенты SSH
Назначение: внутренние серверы SSH разрешены
Протокол / Порт: SSH / 22
Разрешить / Запретить: Разрешить
Если бы это был брандмауэр или какое-то подобное устройство, вы бы поместили это правило где-то выше вашего правила неявного запрета (правило неявного запрета всего трафика, если это явно не разрешено), которое обычно является последним правилом ACL, чтобы оно вступают в силу до того, как отрицают.
В этом сценарии учитывается только переход с общедоступного набора IP-адресов или клиентов вне вашей сети на внутреннюю группу серверов в вашей локальной сети через SSH. Есть много других способов сделать это и другие сценарии; возможно, вы задаетесь вопросом, как сделать это внутри, где все серверы являются локальными, или в вашей локальной сети, и в этом случае это на самом деле мало чем отличается. Я просто попытался дать вам базовый образ мыслей о том, как вы этого добьетесь. Дайте мне знать, если что-то не имеет смысла, и я могу уточнить подробности.
Я отредактировал мой /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. Кажется, работает.