Vivadoのhw_serverをパスワード保護する方法はありますか?

タイトル通り、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クライアントがそれをリモートマシンへトンネル化します。

具体的には:

  1. Linuxマシンがssh_server_hostnameでアクセス可能
  2. hw_serverがlocalhost:3121にバインドされている
  3. ローカルでポート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ネットワークにバインド