Как разрешить SSH только с WireGuard и одного IP

Это производственный сервер, и мне нужно очень осторожно добавлять правила. Я не уверен, какое правило является правильным.
В настоящее время мои правила UFW разрешают SSH-подключение с любого IP-адреса и с WireGuard, а также мой собственный IP-адрес (YYY.YYY.YYY.YYY) позволяет мне подключаться к любым портам. В настоящее время любые другие IP-адреса могут подключаться через VPN и напрямую.

       # sudo ufw status numbered
 Status: active
 To                         Action      From
 --                         ------      ----
 [ 1] XXXXX/udp                  ALLOW IN    Anywhere
 [ 2] OpenSSH                    ALLOW IN    Anywhere
 [ 3] Anywhere                   ALLOW IN    YYY.YYY.YYY.YYY
 [ 4] Anywhere on eth0           ALLOW FWD   Anywhere on wg0
 [ 5] XXXXX/udp (v6)             ALLOW IN    Anywhere (v6)
 [ 6] OpenSSH (v6)               ALLOW IN    Anywhere (v6)
 [ 7] Anywhere (v6) on eth0      ALLOW FWD   Anywhere (v6) on wg0

Это моя конфигурация WireGuard на сервере

       #cat /etc/wireguard/wg0.conf
 [Interface]
 PrivateKey = .............................=
 Address = 10.8.0.1/24, fd..:....:....::1/64
 ListenPort = XXXXX
 SaveConfig = true
 PostUp = ufw route allow in on wg0 out on eth0
 PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
 PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
 PreDown = ufw route delete allow in on wg0 out on eth0
 PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
 PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Мне нужно запретить прямое подключение с других IP, любые IP кроме моего IP могут подключаться только через VPN.

Например, у меня много открытых портов JAVA и один открытый порт SMB, это необходимо для моего приложения:

      #sudo netstat -tulpn | grep LISTEN
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      557/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      641/sshd: /usr/sbin
tcp6       0      0 :::37111                :::*                    LISTEN      1005/java
tcp6       0      0 :::36069                :::*                    LISTEN      630/java
tcp6       0      0 :::2181                 :::*                    LISTEN      1005/java
tcp6       0      0 :::9092                 :::*                    LISTEN      630/java

Мне нужно сохранить открытые порты JAVA и порты SSH для моего IP YYY.YYY.YYY.YYY, но нужно закрыть эти порты для других IP-адресов за пределами VPN. И, к сожалению, порт SMB должен быть открыт для любого IP, это необходимо для этого сервера.

Какие правила UFW мне нужно добавить (или, возможно, изменить конфигурацию Wareguard), чтобы разрешить прямое подключение только одному IP-адресу (YYY.YYY.YYY.YYY), а любые другие IP-адреса могут подключаться только через VPN и могут подключаться только к любым портам сервера с помощью WireGuard.

0 ответов

Другие вопросы по тегам