Вопрос или проблема
Я использую сервер Ubuntu 16.04 xenial. Я использую SSHguard с конфигурацией по умолчанию (я не добавлял никакой конфигурации).
Как разблокировать мой IP, если он был ошибочно заблокирован SSHguard?
Допустим, в SSHguard была какая-то ошибка (как это было со мной в прошлом с CSF-LFD), и мой IP был заблокирован, как я могу его разблокировать в SSHguard после входа через VPN/другой компьютер/консоль провайдера хостинга?
Пакет Ubuntu Xenial sshguard
создает цепочку брандмауэра sshguard
как для iptables
, так и для ip6tables
(см. файл /usr/lib/sshguard/firewall
, если вас интересуют детали). Так что, если вы посмотрите на них, вы должны найти правило, запрещающее ваш IP: используйте iptables -L -n -v sshguard
. (Я предполагаю, что вы говорите об адресе IPv4, если это IPv6, пожалуйста, замените iptables
на ip6tables
везде).
Затем вы можете либо полностью сбросить цепочку, что удалит запрет для всех IP, ваших и других, с помощью iptables -F sshguard
.
Или, если вы хотите удалить только свой IP, вам сначала нужно повторить предыдущую команду с --line-numbers
, чтобы найти, какой номер имеет правило, относящееся к вашему IP, а затем вы можете выполнить iptables -D sshguard NUM
, заменив NUM
на номер правила, как указано выше.
Это должно восстановить доступ по SSH с данного IP. Нет необходимости перезагружать что-либо, правила брандмауэра должны применяться в реальном времени, так что ваш сброс или удаление будет эффективно немедленно.
Кроме того, у вас есть файл /etc/sshguard/whitelist
, куда вы можете добавить свой IP, если он фиксированный, чтобы избежать такой же проблемы в будущем.
В случае, если вы обновились до Ubuntu 22.04 с nftables, используйте следующие команды.
Список заблокированных IP-адресов:
nft list set ip sshguard attackers
Это выводит что-то вроде этого:
table ip sshguard { set attackers { type ipv4_addr flags interval elements = { 1.2.3.4, 1.2.3.5 } } }
Разблокировать конкретный IP:
nft delete element ip sshguard attackers {1.2.3.4}
Разблокировать все IP-адреса (не рекомендуется):
nft flush set ip sshguard attackers
Ответ или решение
Как разблокировать свой IP, если он ошибочно заблокирован SSHguard на Ubuntu 16.04
SSHguard – это утилита, защищающая серверы от атак через SSH, автоматически блокируя IP-адреса, которые проявляют подозрительную активность. Однако в некоторых случаях, по ошибке, ваш собственный IP-адрес может оказаться в черном списке. В этой статье мы подробно рассмотрим, как восстановить доступ к вашему серверу в случае блокировки.
Шаг 1: Подключение к серверу
Если ваш IP-адрес заблокирован, вы можете подключиться к серверу через VPN, с другого компьютера или с помощью консоли вашего хостинг-провайдера. Это позволит вам выполнить необходимые команды для разблокировки вашего IP.
Шаг 2: Проверка блокировки
Для начала вам нужно проверить, заблокирован ли ваш IP-адрес SSHguard. Откройте терминал и выполните следующую команду:
sudo iptables -L -n -v sshguard
Эта команда покажет список заблокированных IP-адресов в цепочке sshguard. Если вы видите свой IP-адрес в этом списке, вам нужно его разблокировать.
Шаг 3: Разблокировка IP-адреса
Вы можете удалить ваш IP-адрес несколькими способами:
-
Удаление конкретного IP-адреса:
Сначала вам нужно узнать номер правила, к которому привязан ваш IP-адрес. Для этого выполните:
sudo iptables -L -n --line-numbers sshguard
После выполнения этой команды вы увидите список правил с номерами. Найдите номер правила, относящегося к вашему IP-адресу, и выполните команду:
sudo iptables -D sshguard NUM
Замените
NUM
на номер правила. -
Полная очистка цепочки (рекомендуется не использовать, если вы не хотите разблокировать все IP):
Если вы хотите очистить всю цепочку и разблокировать все IP-адреса, выполните:
sudo iptables -F sshguard
Учтите, что это действие затронет всех пользователей и не рекомендуется, если вы не хотите дать доступ к серверу всем заблокированным IP.
Шаг 4: Дополнительные меры
Чтобы избежать повторной блокировки вашего IP-адреса в будущем, вы можете добавить его в список белых IP-адресов. Для этого откройте файл /etc/sshguard/whitelist
и добавьте ваш IP-адрес.
Заключение
Следуя вышеописанным шагам, вы сможете разблокировать свой IP-адрес, ошибочно попавший в черный список SSHguard на вашем сервере Ubuntu 16.04. Убедитесь, что вы принимаете меры предосторожности, чтобы избежать повторного возникновения этой проблемы в будущем. Разблокировка происходит мгновенно, без необходимости перезагрузки сервера или служб.
Если же вы используете более новую версию Ubuntu, например, 22.04 с nftables, вам придется использовать другие команды, такие как nft list set ip sshguard attackers
для просмотра заблокированных, и nft delete element ip sshguard attackers {Ваш_IP}
для удаления конкретного IP.
Эти процедуры помогут вам эффективно управлять доступом к вашему серверу и минимизировать риски ошибок.