数か月前、ポート12xyzを内部SSHサーバーに転送することを提案したとき、私は人と議論しました。
ターゲットサーバーは、@ stribikaが https://stribika.github.io/2015/01/04/secure-secure-Shell.html で推奨した方法と同様の方法で制限されました。具体的には、ルートアクセスなし、公開鍵認証のみ、非標準のsshポート、高品質の暗号、kex、およびMac。
転送されたポート自体は本質的に危険ではなく、安全性はターゲットポートでのサービスに依存していたと私は主張していました。私は自分の方法がリモートアクセスを取得するための完全に安全な方法であると主張しました。彼はそうではないと激しく主張し、VPNトンネルがリモートアクセスを実現する唯一の安全な方法であると述べました。
誰が正しかった?
転送ポート自体は本質的に危険ではなく、はい、安全性はターゲットポートでのサービスに依存します。ただし、安全性は、ルーターのファイアウォールがどの程度優れているか、および内部と外部の両方でどれだけ適切に保護されているかにも依存します。
リモートアクセスの場合、SSHとVPNは互いに同等に機能します。同様のレベルの暗号化が使用されている場合、どちらも他より安全ではありません。しかし、SSHはアプリケーションレベルで機能し、TCPのみをサポートし、単一のコンピューターへのリモートアクセスのみを提供するため、実際にはトランスポート層で機能し、UDPとTCPの両方をサポートするVPNトンネリングを好みます_および複数のリソースへの安全なアクセスを可能にします。
VPNトンネルはリモートアクセスを実現するための唯一の安全な方法ではありませんが、上記の理由により、間違いなく推奨される方法です。言うまでもなく、複数のリソースがある場合、SSHを適切に実装することは本当に難しく、DNSリークを引き起こす可能性があり、アプリケーションごとに個別に構成する必要があります。