Быстрый и простой способ заблокировать ssh

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER
Регистрация
7 Фев 2020
Сообщения
525
Реакции
98
Репутация
147
Хотите заблокировать доступ к SSH на вашем Linux-сервере?

Мы покажем вам вам один шаг, который займет всего несколько секунд.

Если вы администратор Linux, вы тратите много времени на вход в систему на удаленных компьютерах с помощью SSH.

Также очень вероятно, что вы предприняли множество шагов для блокировки доступа SSH к этим удаленным серверам.

На самом деле, вы, вероятно, используете аутентификацию по ключу SSH и denyhosts. Вместе эти два решения значительно улучшают доступ к вашим удаленным серверам Linux.

Но есть еще один шаг, который вы можете сделать, при этом он настолько прост и очевиден, что большинство администраторов забывают, что это тоже вариант.

Этот конкретный шаг не требует стороннего программного обеспечения и может быть решен в считанные секунды.

Любопытно?

Давай сделаем это.

Что вам понадобиться
  • Сервер Linux, на котором работает демон SSH
  • IP-адрес (а) любого клиента, которому нужен доступ к серверу
Вы также должны иметь доступ к консоли удаленного сервера, на случай, если что-то пойдет не так, и вы заблокируете себя вне сервера.

Как разрешить IP-адрес клиента
Первое, что нам нужно сделать, это разрешить IP-адрес любого клиента, которого вы используете, на удаленном сервере с SSH.

Если у вас есть список IP-адресов, вы можете добавить их в /etc/hosts.allow.

Для этого выполните команду (на удаленном сервере):

sudo nano /etc/hosts.allow
В конце этого файла добавьте следующее:

Где IP — это IP-адрес удаленного клиента, которому требуется доступ к серверу.

Если у вас есть несколько IP-адресов или диапазонов IP-адресов, вы можете ввести их следующим образом:

sshd: 10.83.33.77/32, 10.63.152.9/32, 10.12.100.11/28, 10.82.192.0/28
или так:

sshd : 192.168.1.0/24
sshd : 127.0.0.1
sshd : [::1]
Примечание : мы также включили адрес loopback для сервера.

Сохраните и закройте файл.

Как заблокировать все остальные адреса
Теперь, когда мы разрешили IP-адрес или список адресов, пришло время заблокировать все другие адреса.

Следует иметь в виду, что система Linux сначала будет смотреть на hosts.allow (сверху вниз), а затем hosts.deny (сверху вниз).

Поэтому попытка подключения по SSH с IP-адреса в hosts.allow будет разрешена, даже если hosts.deny явно блокирует ВСЕ.

Итак, чтобы заблокировать все остальные IP-адреса, откройте нужный файл с помощью команды:

Внизу этого файла добавьте следующее:

Сохраните и закройте файл.

На этом этапе любому клиенту, указанному в hosts.allow, будет разрешен вход (по SSH), а любому клиенту, не указанному в списке, будет отказано.

Для этого не нужно перезапускать демон SSH.

Сочетание аутентификации по SSH-ключу, denyhosts и hosts.allow / deny обеспечивает безопасный доступ к оболочке Linux на ваших серверах.
 
Сверху