フードの下のHelpDesk。 ADでのユーザーアカウント作成の監査

どなたでも歓迎します。



システム管理者の職業についての私の知識の初めになって初めて、上司はADデザイナーとしてのそのような職業(またはむしろその方向性)について教えてくれました。 これらの人々はドメインをクリーンアップし、アカウントを整理します。 これに遭遇して気になった人はだれでも、あなたの注文をこっそり盗んだ従業員によって作成されたアカウントの不器用な名前に起因する不快感を理解できます。

PowerShellを手に入れて、彼らに戦いを与えました!



ゴミを捨てる必要はありません!



一番下の行は、HelpDeskの場合、新しいアカウントを作成できる特別なユニットがADで作成された(NewUsersと呼びましょう)(ここではユーザーへの権限の委任については説明しません)。

彼らの仕事は、必要に応じてこの部門に新しいアカウントを作成することです。

私の仕事は、必要なフィールドへの正しい入力を追跡し(特にログイン)、部門内を移動することです。



そのような記録を作成するためのリクエストで、どうやって、どうやって私に迷い込んだのか、人々は完全に考えたくないことがわかった。 数週間、私は言葉を却下しました:あなた自身がすべてをすることができます!

そして最後に私は彼らに連絡しましたが、それは物語の始まりに過ぎませんでした。



その結果、多くのアカウントを取得しましたが、そのアカウントは不明であり、最も重要なことは、誰がそれらを作成したかが不明です。 「誰がこれを作成しましたか?」という質問に対して、全従業員は満場一致で拒否しました。 当然、これらのアカウントを理解しようとはせず、それなしでは十分でした。

ドメインマネージャーとして、TaniaとGoshaのボスに答えなければなりませんでした。



私は素晴らしい言葉に気づきました-監査。



解決策



この状況から抜け出す方法はいくつかありました。 一方では、誰もがビーズを長く投げて 、どのフィールドとどのように満たすかを説明することができませんでした。 一方、アカウントの作成を追跡し、システム違反者を特定して、不器用な名前に鼻を突っ込みます。



最初の方法では結果が得られなかったため、私は心の痛みを抱えて2番目の方法に移りました。



まず、特定の部門(この場合はNewUsersフォルダー)の監査ポリシーを確立し、対象の監査にグループを追加する必要がありました(グループについて考える必要はなく、すべてのユーザーを追加するだけです)。

ここでは、Active Directoryドメインサービスの監査について読むことができ、 ここでは、監査を構成する方法についての手順を追った説明があります。

その結果、新しいユーザーオブジェクトの作成のイベントがドメインコントローラーのセキュリティログに表示されます。

コード5137(カタログ内のオブジェクトの作成)のイベントに興味があります。



コントローラからの情報収集に進みます。 もちろん、CDが1枚ある場合は、ジャーナルフィルターを設定して残りの記事を忘れるだけで済みますが、その後は常に勤務しているトウモロコシ畑の警備員であるバニャおじさんに変わる必要があります。 つまり、自由時間はありますか? セキュリティログをご覧ください。

あなたが自分自身のままでいて、1枚以上のCDを持っているなら、さらに読む価値があります。



PowerShellはどうですか?



PowerShellでは、cmndletのGet-eventlogがログの表示に役立ちます。 それを使用して、必要なメッセージを選択します。 スクリプトへの署名に関する問題を回避するために、これを行いました。必要なコードをプロファイルファイルに入れ、それを関数として定義しました。



プロファイルに精通していない人のために、あなたはこれを読むか、Habrを離れたくない人、 これ

また、プロファイルをロードするには、次のコマンドを実行する必要があります。



Set-ExecutionPolicy RemoteSigned







羊に戻りましょう。 実際、関数のコードは次のとおりです。



function Audit

{

Get-eventlog security -InstanceID "5137" -Newest 1 |

Where-Object {$_.Message -match "OU=NewUsers,DC=contoso,DC=com"} |

Select-object TimeWritten,Message,MachineName | Format-list | out-file \\MyComp\d$\Audit.txt -append

}







私自身は、イベントの記録時間、メッセージ、およびこれらすべてが発生したCDの名前のみを選択します。 この情報だけでは不十分な場合は、リストを展開できます。 私たちは書きます:

Get-eventlog security -InstanceID "5137" | get-member





すべてのプロパティの完全なリストを取得します。

出力は、作業中のコンピューターにあるテキストファイルで実行されます。

また、特定の部門のアカウントにのみ関心があるため、フォルダーへのパス(OU = NewUsers、DC = contoso、DC = com)を持つメッセージを選択します。

最後のエントリを1つだけ選択する理由がわからない場合は、先に進んでください。



必要なイベントがログに表示されるたびに、この関数を呼び出す必要があります。 これを行うには、標準のタスクスケジューラを使用します。 タスクの作成方法は説明しませんが、重要な点について説明します。

アクション:プログラムを実行します。

プログラムまたはスクリプト:powershell

引数を追加:-windowstyle Hidden audit

トリガー:

タスクを割り当てる:イベントで

雑誌:セキュリティ

イベントID:5137



また、ボックスをチェックすることを忘れないでください:

「ユーザー登録に関係なく実行する」-プレゼンスを必要とせずにタスクを完了することができます。

「最高の権利で実行する」-ジャーナルセキュリティにアクセスできるようにします。



タスクを作成したら、それをxmlファイルにエクスポートして、他のCDに配布できます。



情報提供者は気に入らない



その結果、各CDには個人的な「情報提供者」がおり、セキュリティジャーナルで必要なイベントに対応します。

これで、風水原則に準拠していない人たちの手をつかむことができ、私たちの領域でのエネルギーの自由な流れを妨げることができます。



All Articles