私は厳しいセキュリティ要件を持つ組織で働いていますが、時には過度にそうです。私のプロジェクトチームはSVNリポジトリを作成しようとしていますが、ニーズとセキュリティ要件の両方に準拠するようにSVNリポジトリを設定するのに苦労しています。
IT部門では、2要素認証を使用して自分自身を認証する必要があります。各開発者は、SSH経由でリポジトリホストマシンにログインするために使用する必要があるRSAトークンを持っています。トークンに表示される値は1分に1回変更され、各値は1回だけ使用できます。
開発者には、パスワードを保存する機能が必要です。これによりsvn+ssh
、リポジトリへのログインにを使用できなくなります。RSAトークンは1分に1回変更されるため、SSHパスワードを保存できません。さらに悪いことに、RSAトークンは1分あたり1回のSVN操作に削減されます。これは、特に複数のSVN操作を連鎖させるスクリプトがあるため、まったく受け入れられません。
ポートフォワーディングでSSHトンネルを開くことで妥協を試みました。を使用してトンネルを開き、ローカルマシン上のすべてのSVN要求を、プロセスが実行さssh user@hostmachine -L 3690:localhost:3690
れている安全なマシンに転送します。svnserve
これは、2要素認証でログインしてから、ユーティリティで個別のSVNユーザー名とパスワード(保存可能)を使用できることを意味します。
残念ながら、トンネルは必要ないことに気づきました。ポート3690は、ホスト名が表示されているすべてのコンピューターで使用可能でした。これはITには受け入れられず、システム管理者はそれsvnserve
が問題であると考えているため、に戻る必要があるかどうか疑問に思っていsvn+ssh
ます。
うまくいく解決策はありますか?私たちのシステム管理者は正しいですか?svnserve
ローカルホストからのトラフィックのみをリッスンするように強制するオプションはありますか?