小規模オフィスの従業員の仕事を監視する組織

セキュリティの副所長は彼のオフィスを呼び出します。 タスクが提示されます。セキュリティガードは、各従業員が日中に何をしたかを確認したいと考えています。 できれば、数日間のアーカイブを使用してください。 会話中に、従業員の「キーボード入力」は彼にとってまったく関心がなく、従業員は勤務時間中にモニター画面で何が起こったかを見るだけでよいことがわかりました。



これをすべて実装する方法のオプションを検討してください。 何が必要ですか?

  1. 通知なしにステルスモードで動作するプログラムは、ウイルスとして定義されたコードを含まず、軽量であり、ユーザーの作業に干渉しません。
  2. 3日間、ユーザーごとに最大1 GBの速度でネットワークストレージ。
  3. オフロードされたネットワークインターフェイスを持つネットワーク上で重要な役割を実行しないサーバー。
  4. 得られたデータは、簡単に処理および分析する必要があります。


次の理由により、ビデオの録画をすぐに拒否します。



したがって、スクリーンショットを撮るという唯一の選択肢があります。 これらの目的には膨大な数のプログラムがありますが、それらにはすべて次のような欠点があります。

  1. 多くの場合、ウイルスと定義されていますが、多くの場合、除外されたウイルス対策プロセスのリストに常に追加できるとは限りません。
  2. 不十分または不要な機能。
  3. ユーザーのワークスペースとの過度のやり取り(「ああ、なぜマウスがひどくひきつり、画面が毎分点滅するのですか?」)
  4. 通常のプログラムには、完全なソリューション、レポートセンター、および多額の費用がかかります。


数か月間、私は試用期間のある有料のものを含め、さまざまなプログラムを試しました。 そして、毎回、侵入中に、私は上記の多くの問題に遭遇しました。 プロモーションされた製品のプレゼンテーションにも行きました。これは、従業員が日中にどれだけコーヒーを飲んだかをほぼ測定します。 それはそれではありません、それはすべてかさばりすぎまたは曲がりすぎています。 簡単で効果的なシンプルなソリューションが必要でした。 そして、私は既成のソリューションではなく、普遍的なスクリプトに目を向け始めました。



まず、Windowsを実行しているすべてのコンピューターにはコマンドラインがあります。 ドメインがあり、グループポリシーとログオンスクリプトがあります。 私に残っているのは、コマンドラインからサイクルを開始することです。このサイクルでは、スクリーンショットを撮り、ローカルフォルダーに書き込みます。 そして、サーバー上で、1時間ごとに繰り返されるスケジューラのタスクを作成します。このタスクに従って、累積されたすべてのスクリーンショットがコンピューターから取得され、セキュリティガードが表示する適切なフォルダーに保存されます。 問題は、コマンドラインに「スクリーンショットを撮る」機能がないことです。 しかし、 nircmdにはさらに多くのそのような機能があります。



プラスは無料、軽量、ウイルスコードなし、柔軟性です。



それでは始めましょう。 まず、nircmdを実行して、エンドユーザーがこれを疑わないようにする必要があります。 ここでvbsが役立ちます:

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
      
      





admin.vbsと呼び、ログオンスクリプトに追加します。



 cmdow @ /HID ECHO off REM ----- PREPARE INJECTION --------------------------------------------------------------- MKDIR C:\WINDOWS\Security\Domain\ MKDIR C:\WINDOWS\Security\Domain\Log IF EXIST "C:\WINDOWS\Security\Domain\start.bat" ( DEL C:\WINDOWS\Security\Domain\start.bat DEL C:\WINDOWS\Security\Domain\finish.bat REM ----- INJECT -------------------------------------------------------------------------- copy "\\SYSVOL\Domain\scripts\monitor\inject\start.bat" "C:\WINDOWS\security\Domain\" copy "\\SYSVOL\Domain\scripts\monitor\inject\finish.bat" "C:\WINDOWS\security\Domain\" ) copy "\\SYSVOL\Domain\scripts\monitor\inject" "C:\WINDOWS\security\Domain\" ping 127.0.0.1 -n 1 -w 1000 > nul REM ----- LOG MONITOR --------------------------------------------------------------------- IF "%1"=="/login" (goto LOG-IN) IF "%1"=="/logout" (goto LOG-OUT) :LOG-IN wscript.exe "C:\WINDOWS\security\Domain\admin.vbs" "C:\WINDOWS\security\Domain\start.bat" (ECHO %DATE% %TIME% --- %COMPUTERNAME%: %USERNAME%: LOGGED IN. Processing start.bat )>>"\\DomainController\LOG\nir_journal.txt" goto EOF :LOG-OUT REM wscript.exe "C:\WINDOWS\security\Domain\admin.vbs" "C:\WINDOWS\security\Domain\finish.bat" (ECHO %DATE% %TIME% --- %COMPUTERNAME%: %USERNAME%: LOGGED OUT. Processing finish.bat )>>"\\DomainController\LOG\nir_journal.txt" goto EOF
      
      





まず、バッチファイルの古いバージョンを削除してから、新しいものをアップロードします。 また、nircmd.exeおよびadmin.vbs自体もダウンロードします。 これで、start.batとfinish.batの両方がユーザーに見えないように実行されるようになりました。 start.batに次の内容を入力します。



 echo off REM 43200 = 60*24*30 = 1 month. c:\windows\Security\Domain\nircmd.exe loop 43200 60000 savescreenshot "c:\windows\Security\Domain\Log\scr~$currdate.MM_dd_yyyy$-~$currtime.HH_mm_ss$.jpg"
      
      





そして、ユーザーはこれで完了です。 これで、必要に応じて、すべてのコンピューターでnircmdプロセスがハングします(exeの名前を変更すると、プロセス名も変更されます)。これは、原則として誰にも関係ありません。 このプロセスでは、1分間ごとにスクリーンショットを撮り、c:\ windows \ Security \ Domain \ Log \に保存します。 ユーザーがシステムから1か月ログアウトしない場合-特別な場合、夕方に予防のために更新を参照するか、その下に移動してログオンスクリプトを再度実行します。 事前に注意する必要があるのは、ユーザーがフォルダに書き込みできるようにすることだけです。



 cacls "\\%PC%\C$\windows\Security" /G %USER%:F
      
      





監視グループ内のすべてのPC \ユーザーの管理者の下で運転する必要があります。 ただし、ユーザー\パブリックフォルダーがあり、既定では書き込み許可が与えられているため、気にすることはできません。



実践が示しているように、nircmdはユーザーが起動した場合にのみ正しく機能し(PSExecは役に立たず、黒い画面を表示します)、ターミナルでも非常にうまく機能します。ログフォルダーをユーザー名で区切るだけです。



サーバーを構成します。 フェンスを処理する1つのバッチファイルを作成し、ストレージディレクトリをクリーニングおよび復元します。



 @echo off setlocal ENABLEDELAYEDEXPANSION cd /de:\ IF "%1"=="/repair" (goto REPAIR) IF "%1"=="/scan" (goto SCANCOPY) IF "%1"=="/archive" (goto ARCHIVE) :SCANCOPY REM -------------   for /F "tokens=*" %%A in (e:\auto\loop.txt) do ( if %%A EQU @END_OF_LOOP ( exit /b ) else ( e:\auto\scancopy.bat /%%A ) ) goto :EOF :ARCHIVE REM -------------   attrib -H -S /S e:\roam\Thumbs.db del /F /S /Q e:\roam\Thumbs.db attrib -H -S /S e:\roam\_desktop.ini del /F /S /Q e:\roam\_desktop.ini REM -------------  ,   -5  forfiles -pe:\roam -m *.* -s -d -5 -c "cmd /c del /q @path" :REPAIR REM -------------     goto start :fn1 for /d %%i in ("%~1\*") do (call :fn1 "%%i" & rd /q "%%i") exit /b :start call :fn1 "e:\roam" :REPAIR_P2 REM -------------      for /F "tokens=*" %%A in (e:\auto\loop.txt) do ( if %%A EQU @END_OF_LOOP ( exit /b ) else ( MKDIR e:\roam\%%A\ ) )
      
      





scancopy.batの内容:



 @ECHO off set DEST=%1 IF not EXIST "\%DEST%\ADMIN$" ( goto :EOF ) IF not EXIST "\%DEST%\ADMIN$\Security\Domain\Log" ( (ECHO WARNING --- %DATE% %TIME% --- %COMPUTERNAME%: Log folder not found! )>>"\\DomainController\LOG\nir_journal.txt" goto :EOF ) >nul 2>nul dir /ad "\%DEST%\ADMIN$\Security\Domain\Log\*" && (GOTO TRANSFER) || ( (ECHO WARNING --- %DATE% %TIME% --- %COMPUTERNAME%: Zero files in source folder! )>>"\\DomainController\LOG\nir_journal.txt" ) :TRANSFER IF NOT EXIST e:\roam%DEST%\%DATE%\ ( MKDIR e:\roam%DEST%\%DATE%\ ) robocopy \%DEST%\ADMIN$\Security\Domain\Log e:\roam%DEST%\%DATE%\ /MOV /R:0) (ECHO SERVICE --- %DATE% %TIME% --- %DEST%: Files transfer success. )>>"\\DomainController\LOG\nir_journal.txt"
      
      





Loop.txtは、新しい行で区切られたコンピューターまたはIPアドレスの単なるリストです。 リストの最後-@END_OF_LOOP-リストの最後のマーカーとして。



1時間ごとにサービス/スキャンを実行し、毎日サービス/修復を実行し、毎日サービス/アーカイブを実行する3つのタスクをスケジューラで作成します。 すべて、監視システムの準備が整いました。 リポジトリ内の各フォルダへのセキュリティガードリンク(名前で署名)を提供し、操作の原理を説明し、座ってプレイさせます。



これで、何か役に立つことができます。



簡単に言えば、構造:

  1. ログオンスクリプトはnircmdを実行します。
  2. nircmdは毎分スクリーンショットを撮り、ローカルに保存します。
  3. サーバーは、PC \ IPリストを介して1時間に1回ロボコピーを実行し、ユーザーからスクリーンショットを取得します。
  4. 警備員はリポジトリ内のフォルダーへのリンクを持ち、ダウンロードは1時間に1回行われ、5日以上経過したファイルは削除されることも知っています。


このソリューションは私のオフィスで6か月間機能しており、問題は発生していません。ユーザーはそれを知りませんが(推測はします)、セキュリティガードと管理者は満足しています。 オフィス内の最も古い時代のPCでのnircmdの負荷率は1〜2%です。



All Articles