一般ユーザーとしてセキュアローカルポートを作成する方法

一般ユーザーとしてセキュアローカルポートを作成する方法

私は、rootアクセス権を持たない一般ユーザーとして共有Linuxサーバーで作業しています。ローカルTCPポートでリッスンするプログラムを起動し、そのポートに接続できる唯一のユーザーになることはできますか?プログラムが受信するアドレスとポートを制御できます。

たとえば、プログラムはWebサーバーの開発/テストバージョンです。

また、サーバーはポート22(ssh)を介して着信TCP接続のみを許可するため、ラップトップを使用して接続できるようにSSHを介してローカルポートを転送しました。ssh -L 8080:localhost:8000 evaben@dice01したがって、このような状況を可能にする解決策が良いでしょう。

ベストアンサー1

ルートのみがファイアウォールを設定できます。

1つの可能性は、コンテナ(Dockerなど)でプログラムを実行することです。これには、root権限が必要ですがrootアクセス権がない場合でも、Dockerコンテナをインスタンス化することができます。

ネットワーク保護を設定する直接的または間接的な方法がない場合は、プログラムのしくみを修正する必要があります。聞くようにしてくださいUnixソケットTCPの代わりに。プログラムが標準ライブラリに動的にリンクされていると仮定すると(ほとんどのプログラムがそうです)、プログラム自体を変更する必要はなく、実行方法のみを変更できます。あなたはこれを行うことができますLD_PRELOAD、TCPソケットを開く関数の周りにラッパーをロードしてUnixソケットを開きます。ttuまさにそうします(文書によると、私はそれを使ったことがありません)。

おすすめ記事