VPNの背後にあるSSH - VPNを保護する方法?

VPNの背後にあるSSH - VPNを保護する方法?

私はSSH無差別代入攻撃を非常によく知っています。可能なすべてを設定しました。 Fail2ban、ルートログインなし、WANでのみ公開認証。しかし、私のログはまだスパムでいっぱいであり、Fail2ban IPの数が増え続け、CPU、RAM、帯域幅を消費します。これはまだ大きな問題ではありませんが、最後の手段を使用することにしました。つまり、WANでSSHをオフにし、LANでのみ許可します。この目的のために、LANへのアクセスを提供するためにのみ使用されるOpenVPNを実装し、どこからでもデバイスにアクセスできるようにしました。

もちろん、ファイアウォールは外部パケットを破棄するため、SSH無差別代入がなくなり、VPNへの攻撃も見たことがありませんが、VPNをどのように保護できるか疑問に思います。それは必要ですか?どうすればいいですか? TLS-cryptを有効にしました。 OpenVPN マニュアルには tls-auth と tls-crypt が記載されています。

DoS攻撃とTLSスタックへの攻撃を軽減するために、TLS制御チャネルの上に追加のHMAC認証層を追加します。つまり、--tls-authはOpenVPNのTCP / UDPポートで一種の「HMACファイアウォール」を有効にします。ここで、無効なHMAC署名を持つTLS制御チャネルパケットは、応答なしですぐに破棄される可能性があります。

これで十分ですか?それとも別のものを使うべきですか?私の設定は次のとおりです(私のCAによって作成された証明書のみを使用)。

port 3084
proto udp
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
#push "dhcp-option DNS 8.8.8.8"
#push "dhcp-option DNS 8.8.4.4"
#push "redirect-gateway def1 bypass-dhcp"
#route-nopull
push "route 192.168.0.0 255.255.0.0"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
#crl-verify crl.pem
ca fullchain.crt
cert cert-server.pem
key server-key.pem
auth SHA256
cipher AES-256-GCM
ncp-ciphers AES-256-GCM
tls-server
tls-version-min 1.2
#tls-cipher TLS_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
log-append /var/log/openvpn/openvpn.log
verb 3

注:解決策が見つかりました。 ipv4ポートはブロックし、ipv6ポートのみを許可しました。ドメインとAAAAブロックがあるため、DNSを使用して接続できますが、ipv6は実際のシステムの検索パフォーマンス(ipv4は40億ではなく10 ^ 38)よりもはるかに高いため、SSHに接続しようとしません。これにより、適切な保護がログにスパムを侵入するのを防ぎます。

関連情報