August 13, 2021

Как избежать бана на хостинге Hetzner?

Для того, чтобы избежать бана на хостинге Hetzner (устанавливая майнеры), рекомендуется блокировать исходящий трафик в приватные сети.

Ниже перевод статьи с сайта провайдера.

Шаг 1. Убедитесь, что ufw установлен

Для управления брандмауэром сервера я использую ufw(несложный брандмауэр).

Сначала убедитесь, что он установлен:

apt install ufw

Затем настройте его правильно, разрешив порты SSH, HTTP, HTTPS и т. Д., И включите его:

ufw allow 22
ufw allow 80
ufw allow 443

ufw enable

ufw status

Шаг 2. Заблокируйте любое подключение к частным сетям.

К частным сетям относятся:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 100.64.0.0/10

Заблокировать им исходящие сообщения довольно просто ufw:

ufw deny out from any to 10.0.0.0/8
ufw deny out from any to 172.16.0.0/12
ufw deny out from any to 192.168.0.0/16
ufw deny out from any to 100.64.0.0/10
ufw deny out from any to 198.18.0.0/15
ufw deny out from any to 169.254.0.0/16

Проверьте статус брандмауэра с помощью, ufw statusи вы увидите что-то вроде этого:

Status: active

To                         Action      From
--                         ------      ----
[ . . . . . . . . . . ]

10.0.0.0/8                 DENY OUT    Anywhere
172.16.0.0/12              DENY OUT    Anywhere
100.64.0.0/10              DENY OUT    Anywhere
192.168.0.0/16             DENY OUT    Anywhere

Вы также можете проверить с помощью iptables-save, и вы должны увидеть что-то вроде этого:

*filter

:OUTPUT ACCEPT [0:0]

:ufw-before-output - [0:0]

:ufw-user-output - [0:0]

-A OUTPUT -j ufw-before-output

-A ufw-before-output -j ufw-user-output

-A ufw-user-output -d 10.0.0.0/8 -j DROP
-A ufw-user-output -d 172.16.0.0/12 -j DROP
-A ufw-user-output -d 192.168.0.0/16 -j DROP
-A ufw-user-output -d 100.64.0.0/10 -j DROP

Вы можете протестировать это ping, например ping 172.16.5.204, и у вас должно получиться что-то вроде этого:

PING 172.16.5.204 (172.16.5.204) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
^C
--- 172.16.5.204 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3053ms

Шаг 3 - Разблокировать (необязательно)

Если по какой-то причине вам нужно разблокировать одну из этих частных сетей, вы можете сделать это, удалив соответствующее правило ufw, например:

ufw status numbered
ufw delete <rule-number>

Вывод

Связь с вашего сервера с частными сетями не разрешена у многих провайдеров. Блокировка этих сообщений с помощью брандмауэра важна, особенно если у вас нет полного контроля над тем, что вы устанавливаете на свой сервер. Сделать это с помощью ufw очень просто.