Если вы когда-либо просматривали журналы аутентификации вашего сервера, то знаете, что любой сервер, подключенный к Интернету, подвергается постоянному шквалу попыток входа со стороны хакеров.
Даже если ваш сервер является совершенно неизвестным сервером для хобби, автоматические скрипты найдут его и будут постоянно пытаться перебором использовать SSH. Хотя они вряд ли смогут проникнуть, если вы используете сложные пароли или другие меры безопасности, всегда есть шанс, что они смогут добиться успеха.
К счастью, есть полезный и интересный способ поймать этих хакеров на вашем сервере и отвлечь их настолько, чтобы они не могли вызвать никаких проблем.
Что такое SSH-приманка?
Проще говоря, SSH-приманка — это приманка, призванная выглядеть как легко висящий плод, чтобы привлечь киберпреступников и заставить их нацелиться на него. Но это не настоящая цель, и хакер часто не осознает этого, пока не становится слишком поздно.
Приманка может принимать разные формы и использоваться по-разному. Иногда они служат не более чем отвлечением внимания, а иногда ис
Contents
Что такое SSH-приманка?
о злоумышленнике.Многие правительственные учреждения используют ловушки для поимки преступников, заманивая их в атаку только для того, чтобы собрать о них информацию, чтобы позже их поймать. Но приманки также могут использовать системные администраторы, работающие в компаниях, или даже просто любители, которые запускают сервер Linux ради развлечения.
Читайте также: Как настроить и использовать SSH в Linux
Зачем использовать SSH-приманку?
Существует множество причин, по которым кто-то может захотеть реализовать SSH-приманку на своем сервере. В некоторых случаях вы можете использовать его, чтобы заблокировать любые будущие соединения с ними. Возможно, вы просто хотите отвлечь их от реальных целей в вашей системе. Или это может быть в образовательных целях: чтобы помочь понять, как работают атаки.
В этом руководстве мы в первую очередь используем приманку как отвлечение. В частности, это отвлечет хакера от атак на более уязвимые части вашего сервера, а также лишит его возможности атаковать чужой сервер.
И, по крайней мере, в этом случае используемый метод тоже будет хорош для того, чтобы посмеяться.
Застрял в SSH
По сути, мы хотим поймать хакера, когда он попытается взломать вход по SSH. Есть несколько способов сделать это, но один из самых простых — медленно отправить им очень длинный SSH-баннер.
Таким образом, автоматизированный скрипт хакера зависнет в ожидании баннера. Это может длиться часы, если не дни или недели. Поскольку скрипт автоматизирован, хакер, скорее всего, не обратит на него особого внимания и не заметит, что он завис, пока не пройдет много времени.
Это иногда в шутку называют «SSH-задержкой», поскольку хакерский скрипт застревает в ней и не может выбраться самостоятельно.
Для этого вам потребуются базовые знания использования SSH. Если вы не знаете, как использовать SSH, тогда Зачем использовать SSH-приманку?ek-link" title="прочитайте это руководство, чтобы начать работу">прочитайте это руководство, чтобы начать работу .
Читайте также: Как показать все активные SSH-соединения в Linux
бесконечный
Программа, которую мы используем для этого, называется бесконечный и создана skeeto.
После входа на сервер клонируйте репозиторий. (У вас должно быть установлено git
.)
git clone https://github.com/skeeto/endlessh
Теперь, когда у вас есть репозиторий на вашем сервере, вам нужно переключиться в этот каталог и скомпилировать его.
cd endlessh make
При попытке компиляции программы могут возникнуть некоторые ошибки. Скорее всего, это означает,
Застрял в SSH
висимости, которую программа должна скомпилировать. Вам нужно будет проверить, какая зависимость отсутствует, а затем установить ее с помощью менеджера пакетов вашего дистрибутива.После того как программа будет скомпилирована, вам нужно будет переместить ее в каталог bin, чтобы она была у вас на пути.
sudo mv endlessh /usr/local/bin
Вам необходимо перепроверить, обнаружен ли он на вашем пути.
which endless
Он должен распечатать путь /usr/local/bin/endlessh
. Если это не так, убедитесь, что он был перемещен в правильный каталог.
После этого превратите программу в сервисный демон, чтобы она могла функционировать как сервис systemd
.
sudo cp util/endlessh.service /etc/systemd/system/
как только все будет готово, включите службу, чтобы она работала в фоновом режиме.
sudo systemctl enable endlessh
По умолчанию бесконечный будет работать только с портами выше 1024, но мы хотим, чтобы он использовал порт SSH по умолчанию, чтобы мы могли обмануть хакеров и заставить их атаковать его. Для этого нам необходимо отредактировать служебный файл.
В этом примере используется бесконечныйдля редактирования файла конфигурации, но вы можете свободно использовать любой текстовый редактор.
sudo nano /etc/systemd/system/endlessh.service
Открыв файл, раскомментируйте следующую строку, удалив символ #:
#AmbientCapabilities=CAP_NET_BIND_SERVICE
Затем добавьте # в начало этой строки:
PrivateUsers=true
Сохраните файл и выполните следующую команду:
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/endlessh
Вам нужно будет создать и настроить файл конфигурации, чтобы бесконечный знал, на каком порту он должен работать. Сначала вам нужно будет создать для него новый каталог, а затем создать файл конфигурации.
sudo mkdir -p /etc/endlessh sudo vim /etc/endlessh/config
В файле конфигурации потребуется только одна строка. Это заставит бесконечный работать на порту 22, который является портом по умолчанию для SSH. Мы делаем это для того, чтобы это было более привлекательной целью для хакеров. Они увидят, что порт SSH по умолчанию открыт, и попытаются взломать его.
Введите следующее в файл конфигурации:
Port 22
Вам необходимо запустить службу бесконечности.
sudo systemctl start endlessh
Вот и все! Теперь на вашем SSH-порту по умолчанию будет работать бесконечность, и вы уже станете ловушкой для хакеров.
Тестируем
Чтобы убедиться, что приманка работает должным образом, давайте на секунду притворимся хакером и попробуем получить доступ к SSH на вашем сервере.
ssh root@<server-ip-address>
<
Если все настроено правильно, вы должны увидеть, что команда ssh
зависла и ничего не делает. Давайте посмотрим, что на самом деле происходит, когда вы (или настоящий хакер) вводите эту команду.
Повторите ту же команду, но добавьте флаг -vvv
, чтобы использовать подробный вариант.
ssh -vvv root@<server-ip-address>
Теперь должно быть очевидно, как этот маленький инструмент ловит вас и не дает вам получить доступ к SSH на вашем сервере. Он медленно, строка за строкой, отправляет клиенту очень большой SSH-баннер.
И, конечно же, поскольку хакеры автоматизировали это с помощью бота, они не поймут, что это происходит, пока вы не потратите впустую часы, если не дни, их времени.
Часто задаваемые вопросы
1. Помешает ли это хакерам получить доступ к SSH?
Хотя это довольно хорошее средство сдерживания, оно не гарантирует полной остановки хакеров. Внимательный хакер в конечном итоге заметит, что вы создали приманку на своем сервере, и может попробовать разные порты для доступа к SSH на вашем сервере.
Однако этого должно быть достаточно, чтобы предотвратить хакеров, которые ищут только легкие плоды.
2. Как мне использовать SSH, если эта программа работает на порту по умолчанию?
Вам потребуется изменить порт, на котором работает SSH. Это хорошая практика, даже если на вашем сервере нет приманки, поскольку хакеры всегда сначала пробуют порты по умолчанию, прежде чем искать другие.
3. Есть ли другие параметры, которые я могу добавить в файл конфигурации?
Да, вы можете изменить несколько других настроек, включая изменение скорости задержки.
Список параметров можно увидеть в образце файла конфигурации в репозитории Github .
Заключительные слова
Теперь, когда вы узнали, как настроить приманку на своем сервере, чтобы ловить хакеров и отвлекать их, чтобы они не могли атаковать что-либо еще, это далеко не единственный способ защитить SSH-доступ к вашему серверу.
Ознакомьтесь с в этой статье показано, как использовать ключи шифрования для входа в SSH. , чтобы еще больше защитить свой сервер.
Изображение предоставлено: Мед в горшке, сотах и палке от Yay Images