自分が制御していない環境にデモUbuntu10.04 LTSサーバーをデプロイしています。SSHアクセス用の宛先ファイアウォール転送ポート22がなくても、これらのマシンを簡単かつ安全に管理できるようにしたいと考えています。
リバースポートでこれを行うためのガイドをいくつか見つけました(例: howtoforge reverse sshトンネリングガイド )が、トンネルを自動的に開くために必要な保存されたssh資格情報のセキュリティに関心があります。
マシンが危険にさらされている場合(主な懸念事項は、マシンへの物理的なアクセスが制御できないことです)、誰かが保存された資格情報を使用してリバースsshトンネルターゲットマシンを突っ込むのを防ぐにはどうすればよいですか?
この設定を保護することは可能ですか、それとも別の方法を提案しますか?
autossh
を使用して、SSHでログインできるようにする逆トンネルを維持できます。トンネルは、~/.authorized_keys
に制限があるSSHキーを使用して作成する必要があります。これにより、トンネルを設定するだけで済みます(詳細については、man authorized_keys
を参照してください)。以下では、このキーを1.2.3.4からのみ使用でき、コマンドを実行することはできません。
from="1.2.3.4",command="/bin/false",no-agent-forwarding,no-pty,no-X11-forwarding ssh-rsa AAAA...
私はOpenVPNを使用します。なぜなら、OpenVPNが何をするのか、そして必要なことを正確に実行でき、簡単に保護できるからです。正しく述べているように、デフォルトでは、SSH資格情報によってマシン自体にアクセスできます。素晴らしいアイデアではありません。新しいバージョンのSSHは、ある種の一般的なVPN機能を提供していることを知っています。それを、望まないことから保護するための優れた方法があることは間違いありませんが、私自身はリスクを冒しません。あなたが知っていることで行きなさい。
ファイアウォールに穴を開けるか、バイパスにプロキシを設定します。はい、逆ssh接続を使用できますが、これは単なるトンネルソケット接続です。それでもプロトコルを実行する必要があります(はい、ssh接続の上でsshを実行することも、vpn接続に対してpppdを実行することもできます)。 -一方の端がダウンしたときに接続を維持/回復しようとすると、自動化が非常に困難になります。それはあなたがそれの周りにたくさんのコードを構築する場合にのみ機能します-その時点であなたはセキュリティを損なうかもしれません。それは本当に努力する価値がありません。