Мы покажем вам шаг за шагом, как установить Denyhost для предотвращения атак SSH на Linux Ubuntu.
Что такое DenyHosts?
DenyHosts – это скрипт, который был разработан для выполнения системными администраторами, чтобы помочь остановить атаки SSH-сервера, которые мы также знаем как атаки на основе словарей и атаки с использованием брутфорса.
Чтобы дать нам представление о количестве атак такого типа, которые мы можем получить, просто посмотрите каталог /var/log/secure в RedHat или CentOS 7 или каталог /var/log/auth.log на Ubuntu или Debian:
Хотя это были просто попытки, в случае, если кто-либо может получить доступ к системе, мы можем столкнуться с критической ситуацией с безопасностью.
Установка DenyHosts в Ubuntu
sudo apt install denyhosts
Добавление IP в белый список в Ubuntu
Помните, что белый список – это список, в котором вы можете добавлять разрешенные элементы, чтобы программа не обнаруживала их как угрозу.
В этом случае мы должны добавить наш IP-адрес и адрес клиентских компьютеров, чтобы не блокировать доступ к серверу, для этого мы отредактируем файл /etc/hosts.allow с помощью нужного редактора следующим образом:
sudo nano /etc/hosts.allow
Там мы добавим следующий синтаксис:
sshd: (IP1), (IP2), etc.
Например:
sshd: 192.168.0.19, 192.168.0.16
Сохраните изменения, используя комбинацию клавиш Ctrl + O и выйдите из редактора, используя Ctrl + X.
Настройка DenyHosts с помощью /etc/denyhosts.conf
В этом случае, когда мы используем Ubuntu, режим исполнения по умолчанию – это режим Daemon, поэтому в файле конфигурации есть /etc/denyhosts.conf, к которому мы должны иметь доступ, чтобы внести соответствующие изменения:
sudo nano /etc/denyhosts.conf
В этом файле мы должны подтвердить, что следующие строки имеют следующие значения:
SECURE_LOG = /var/log/auth.log HOSTS_DENY = /etc/hosts.deny BLOCK_SERVICE = sshd (Blocks only SSHD connections) DENY_THRESHOLD_INVALID = 5 DENY_THRESHOLD_VALID = 10 DENY_THRESHOLD_ROOT = 1 DENY_THRESHOLD_RESTRICTED = 1
Эти последние значения определяют количество разрешенных логинов.
После проверки этих полей сохраните изменения.
Перезапустите службу DenyHost
Чтобы применить изменения, необходимо перезапустить службу, выполнив:
sudo systemctl restart denyhosts.service
В случае отсутствия систем Ubuntu, не основанных на Systemd, мы выполним следующее:
sudo /etc/init.d/denyhosts restart
Если мы хотим запустить эту службу с со старта Ubuntu, мы выполним следующее:
sudo systemctl enable denyhosts.service
Анализ событий в /var/log/denyhosts
Чтобы получить доступ к текущим событиям DenyHosts, мы можем выполнить одну из следующих команд:
sudo grep 'something' /var/log/denyhosts sudo tail -f /var/log/denyhosts
Смотрим список заблокированных компьютеров
Чтобы визуализировать IP-адреса, которые пытались получить доступ через SSH, мы можем выполнить следующую команду:
sudo cat /etc/hosts.deny
Важно иметь в виду, что DenyHosts совместим только с Ipv4, но не с IPv6.
IPv4 против IPv6: В чем разница между IPv4 и IPv6
Другой способ увидеть IP-адреса, которые были заблокированы приложением DenyHosts, – это использовать IPTables следующим образом:
sudo iptables -L INPUT -n -v sudo iptables -L INPUT -n -v | more sudo iptables -L INPUT -n -v | grep DROP
Как мы видели, DenyHosts осуществлять централезированный контроль над каждым компьютером, который пытается подключиться к нашей системе, и таким образом можно будет выполнить более эффективную административную задачу.