タイトル通り、Vivadoのhw_serverに認証を追加する方法はありますか?
hw_serverにはパスワード保護がないと信じており、もしあったとしてもその内部セキュリティの実装は信用しません。
ネットワーク経由でhw_serverにアクセスしたいと仮定し、ある程度安全に、もしかするとインターネット経由でアクセスしたいのだと思います。
hw_serverはL5/L7のセキュリティを実装していないため、L4のセキュリティを制御することが可能です。つまり、誰や何がhw_serverと通信できるかを制御するということです。
https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/
これは、自分のマシンでネットワークファイアウォールを使用して、hw_serverがリッスンしているポートへのアクセスを特定のソースIPに制限することを意味します(ただし、IPに基づく認証はあまり良い解決策ではありません)。
LinuxまたはOpenSSHを使用している場合、hw_serverをlocalhost
だけにバインドし、その後SSHクライアントのローカルポートフォワーディングを設定し、hw_serverを実行しているマシンへの接続を確立することをお勧めします。Vivadoでは、localhost
に接続し、SSHクライアントがそれをリモートマシンへトンネル化します。
具体的には:
- Linuxマシンが
ssh_server_hostname
でアクセス可能 - hw_serverが
localhost:3121
にバインドされている - ローカルでポート12457を使用してVivadoに接続
sshコマンドは次のようになります:
ssh -L 12457:127.0.0.1:3121 ssh_server_hostname
(HTTPの世界では、リバースプロキシを利用してセキュリティを向上させる方法です)
最も簡単な方法は、hw_serverが複数のポートを使用している場合、Tailscaleや同様のVPNを使い、hw_serverをVPNのインターフェースにバインドし、VPNを経由してのみアクセスできるようにすることです。Hamachiも同様のVPN実装です(ただし、利用はほとんどしていません)。
この方法では、VPNがクライアントマシンとhw_serverホスト間の接続を仲介し、認証と認可を処理します。
ただし、あなたの環境についてはわからないため、VPNを実行できない場合もあります。
要約:
-
hw_serverをローカルマシンにバインドし、sshトンネルを使用
-
hw_serverをVPNネットワークにバインド