1

( ServerFaultにも投稿されましたが、ここには SVN/TFS ユーザーが増えることに気付きました)

結論の質問:

  • チェンジャーのユーザー名とともに、ターゲット フォルダー内のファイルに加えられたすべての変更をサイレント モードでチェックインする無人サービスが実行されている SVN/TFS リポジトリを作成することは可能ですか? ファイルを変更する人には完全に見えないようにする必要があります。

私の質問の背景は次のとおりです。

多くの人が ASP.NET Web サイトに変更を展開しています...デザイナーは HTML と CSS の変更を展開し、.NET 開発者は ASPX、DLL ファイルを展開し、グラフィック デザイナーは画像を展開します。

理論的には、これらすべての展開は非常に管理された方法で行われます。ソース コードは SVN で維持され、展開パッケージが作成されてバージョン管理され、展開は最初に運用前のサイトでテストされ、ライブへの展開は文書化されます。理論的には、どのファイルが、いつ、なぜ、誰によって変更されたかを常に把握しています。

ただし、誰かがライブ サイトで直接変更を行い、すべての手順をバイパスすることがあります。通常、これは何らかの緊急事態が原因です。時々、サイトに問題を引き起こす変更が行われます...そして誰もそれを所有していません!

したがって、私たちが探しているのは、サーバー上の特定のフォルダーに対するすべてのファイルの変更をキャプチャする、ある種の無人サービスです。ファイルの変更が発生したときに「チェックイン」する必要があります。つまり、ファイル全体の新しいバージョンをキャプチャし、ユーザーの Windows ログインもキャプチャします。つまり、すべてのファイルは、SVN や TFS などと同じように、それに加えられた変更の履歴を取得します。ファイルの履歴でバージョン間の差分を確認できるはずです。キャプチャする内容の 99% は、適切な手順によって行われた変更である必要がありますが、そうでない 1% も含まれている必要があります。

明確にするために、OSSEC のような「ファイルの整合性」アラートを送信するサービスを探しているわけではありません。すべてのファイル変更をキャプチャするだけでよいので、何か問題が発生した場合は、変更ログをチェックして、通常の手順以外で何が行われたかを把握できます。また、明らかに完全に自動化する必要があります - ユーザーに追加の手順に従うことを要求することは、私たちが求めているものではありません!

また、定期的にバックアップを取り、それらの間の違いを探すことは、私たちが望んでいることではありません。

4

1 に答える 1

1

技術的には可能ですが、症状ではなく、懸念の根本原因を解決することを強くお勧めします。

ただし、誰かがライブ サイトで直接変更を行い、すべての手順をバイパスすることがあります。通常、これは何らかの緊急事態が原因です。時々、サイトに問題を引き起こす変更が行われます...そして誰もそれを所有していません!

(私の強調) これは対処しなければならない大きな問題です。ライブ サイトへのアクセスは非常に厳重にロックダウンする必要があり (リリース マネージャーのみがサーバーへの書き込みアクセス権を持っている必要があります。できれば、自動化された展開プロセスを使用する必要があります)、「緊急」の変更は、本番環境に入るために同じ一般的なワークフローに従う必要があります。 - 加速しただけです。

ライブ サイトへの各リリースは、単一のパッケージ (またはスクリプト化されたプロセス、ライブ サイトにプッシュするように指示するビルドのみが異なる反復可能なプロセス) であり、プロモーションは特定の人/グループによって調整される必要があります。プロセス (クライアント/利害関係者および変更管理者からのサインオフを含む) に従わずしてライブになることはなく、プロモーションは毎回同じ方法で、同じ人によって行われます。

現時点では、あなた自身が認めるように、あなたには説明責任がありません。人は、何かをうまくやってのけることができる限り、そうしようとします。悪意があるか、「プロセスに従うのに時間がかかりすぎる/難しすぎる」ためです。

短いバージョン:この動作を回避して (ここで求めている解決策を使用して)有効にするのではなく、最初から発生しないようにして、後でクリーンアップする必要がないようにします。

また、定期的にバックアップを取り、それらの間の違いを探すことは、私たちが望んでいることではありません。

提案されたソリューションが、必要な監査証跡をどのように提供するかわかりません。サービスは、誰が変更を行ったかではなく、行われた変更をコミットするだけです。Windows セキュリティ ログと NTFS 監査を使用して、変更のソースを追跡できますか? 多分そうでないかもしれません。

このサービスはマージの競合をどのように処理しますか? SVN では、WC が HEAD リビジョンの場合にのみコミットできるため、更新してからコミットする必要があります。マージする必要がある同じ要素に他の変更がある場合はどうなりますか?

Tripwire などの監視サービスを調べて、実際のサイトに加えられた変更を監視することをお勧めしますが、それでも、誰が変更行ったのか、または変更の理由がわからない場合があります。

于 2012-12-10T17:03:16.477 に答える