Ограничение подключения по SSH по IP-адресам
< Все темы
Печать

Ограничение подключения по SSH по IP-адресам

Дополнительный способ обезопасить подключение к серверу по SSH — это сделать «белый список» IP-адресов, которые могут подключиться. Важно отметить, что для этого способа необходимо иметь статический IP-адрес у Вашего домашнего интернет-провайдера либо развернуть виртуальную частную сеть через OpenVPN, WireGuard, Hamachi и другие подобные программы для создания туннелей.

В этой статье рассмотрим способ создания белого списка через утилиту IPTables. Для начала необходимо установить два пакета — iptables и iptables-persistent. Второй пакет позволяет сохранять правила iptables в файл.

apt -y install iptables iptables-persistent

Например, нам нужно разрешить вход по SSH только для IP-адреса 198.51.100.132. Для этого вводим следующую команду:

iptables -A INPUT -p tcp --dport 22 -s 198.51.100.132 -j ACCEPT

Где --dport 22 — это порт SSH. Теперь следующим правило запретим всем остальным IP-адресам подключаться по SSH

iptables -A INPUT -p tcp --dport 22 -j REJECT

ВАЖНО! Если вы укажете не свой IP-адрес и добавите второе правило с REJECT, вы моментально потеряете доступ к SSH. Тем не менее, если это случилось, вы можете подключиться к серверу через аварийную консоль и сбросить правила IPTables, используя эти две команды: iptables -F и iptables -X

Теперь, чтобы сохранить добавленные правила и они не потерялись после перезагрузки сервера, используйте следующую команду:

iptables-save > /etc/iptables/rules.v4

Чтобы посмотреть все существующие правила в IPTables, используйте iptables -S

Также учтите, что правила IPTables работают в том порядке, в котором они были добавлены.

Чтобы удалить правила, используйте те же самые команды, но с заменой первого флага «-A» на флаг «-D». Учтите, что при удалении нужно поменять порядок команд местами, то есть сначала удалить правило с «REJECT», а после него правило с «ACCEPT»

И также сохраните через iptables-save > /etc/iptables/rules.v4

Выше в статье было указано, что правила IPTables работают в том порядке, в котором вы их добавили, это значит, что если позже нужно будет добавить ещё один IP-адрес к белому списку, нужно уже будет использовать не флаг -A, а флаг -I . Это позволит добавить новое правило IPTables поверх всех остальных. Пример:

iptables -I INPUT -p tcp --dport 22 -s 198.51.100.225 -j ACCEPT