Независимо от того, насколько он безопасен, его все равно можно взломать.

Вот почему вам может потребоваться установить тарпит для этой службы.

По сути, тарпит будет работать на стандартном порте SSH, и когда хакер попытается прорваться через этот порт, он застрянет в бесконечном цикле.

Вот как работает endlessh.

Установите его и настройте на порту 22., и скрипткидди попадут в ловушку.

Я покажу вам, как это сделать.

Что нам понадобится

Я продемонстрирую, как это делается на Ubuntu Server 20.04, хотя endlessh можно установить на большинстве серверов Linux.

Вам понадобится рабочий сервер и пользователь с привилегиями sudo.

Как установить endlessh

Хотя вы можете установить endlessh из стандартных репозиториев, нам не нужна эта версия, поскольку она не включает необходимый служебный файл systemd.

Вместо этого клонируйте endlessh из репозитория GitHub с помощью команды:

1
git clone https://github.com/skeeto/endlessh

После установки перейдите во вновь созданный каталог с помощью команды:

1
cd endlessh

Скомпилируйте endlessh с помощью команды:

1
make

Установите endlessh с помощью команды:

1
sudo make install

Как настроить endlessh

По умолчанию endlessh может работать только на портах выше 1024, но мы хотим использовать этот инструмент с портом по умолчанию. Для этого необходимо внести изменения в служебный файл systemd.

Выполните команду:

1
sudo nano /etc/systemd/system/endlessh.service

В этом файле раскомментируйте (удалите символы #) следующую строку:

1
#AmbientCapabilities=CAP_NET_BIND_SERVICE

Затем нам нужно закомментировать (добавить символ # в начало строки) следующее:

1
PrivateUsers=true

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

Далее запускаем команду:

1
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/endlessh

Затем откройте файл конфигурации endlessh с помощью команды:

1
sudo nano /etc/endlessh/config

Нам надо изменить порт с 2222 на 22.

Если вы обнаружите, что в этом файле ничего нет, вставьте следующее:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# The port on which to listen for new SSH connections.
Port 22

# The endless banner is sent one line at a time. This is the delay
# in milliseconds between individual lines.
Delay 10000

# The length of each line is randomized. This controls the maximum
# length of each line. Shorter lines may keep clients on for longer if
# they give up after a certain number of bytes.
MaxLineLength 32

# Maximum number of connections to accept at a time. Connections beyond
# these are not immediately rejected but will wait in the queue.
MaxClients 4096

# Set the detail level for the log.
# 0 = Quiet
# 1 = Standard, useful log messages
# 2 = Very noisy debugging information
LogLevel 0

# Set the family of the listening socket
# 0 = Use IPv4 Mapped IPv6 (Both v4 and v6, default)
# 4 = Use IPv4 only
# 6 = Use IPv6 only
BindFamily 0

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

Как настроить SSH

Теперь нам нужно настроить SSH для использования порта, отличного от 22.

Откройте файл конфигурации демона с помощью команды:

1
sudo nano /etc/ssh/sshd_config

В этом файле измените:

1
Port 22

На:

1
Port 26

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

Теперь нам нужно перезагрузить сервер, чтобы бесконечные изменения вступили в силу. После перезагрузки сервера снова войдите в систему и запустите/включите службу endlessh с помощью команд

1
2
sudo systemctl start endlessh
sudo systemctl enable endlessh

Как протестировать endlessh

Откройте терминал на другом компьютере и попробуйте войти на сервер endlessh с помощью команды:

1
ssh USER@SERVER -v

Где USER – это действующий пользователь на удаленном сервере, а SERVER – это IP-адрес сервера. Вы должны увидеть случайные линии, указывающие, что вы застряли в бесконечном брезенте. Нажмите комбинацию клавиш Ctrl + c, чтобы выйти из цикла. Поздравляем, вы установили свой первый тарпит на сервере Linux. Просто помните, что когда вы входите на этот сервер через SSH, вам нужно будет сделать это с помощью:

1
ssh USER@SERVER -p 26

Где USER – это действующий пользователь на удаленном сервере, а SERVER – это IP-адрес сервера.