![見出し画像](https://assets.st-note.com/production/uploads/images/115591403/rectangle_large_type_2_3122dfe093473b9981c2e143741c89c7.png?width=1200)
予算のない会社でのセキュリティ強化
予算のない会社でパソコンのセキュリティを強化したいとき
どうしたらいいか
Windows Defender
を使いますね、最初から入ってるし、無料ですし、
ランサムウェアの防止機能もあります。
PowerShellを駆使すれば、毎日決まった時間にフル検索したり、検索結果を管理者へメール通知することができます。
この記事ではPowerShellでWindows Defenderを操作する方法を解説します。
![](https://assets.st-note.com/img/1694094054103-YjhDcuovLb.png?width=1200)
手動検索
手動で検索するには次のコマンドをPowerShellで実行します。
#クイックスキャンする
Start-MpScan -ScanType QuickScan
#フルスキャンする
Start-MpScan -ScanType FullScan
#フォルダを指定してカスタムスキャンする
Start-MpScan -ScanType CustomScan -ScanPath C:\Windows\System32
特定のフォルダを指定して検索することもできます。
実行してみると、こんな画面が出てきます。
![](https://assets.st-note.com/img/1694094317635-WzFStrnljc.png?width=1200)
しばらくすると検索完了
実行後はそっけない、結果とか出ないです。
![](https://assets.st-note.com/img/1694094475394-J1XB9H3qH7.png?width=1200)
検索結果を見てみたい
PowerShellで検索結果を見ることができます。
###
# Windows Defender で発見された脅威と発見時間
$DefenderDetectionTime=""
$tmp=Get-MpThreatDetection
$tmp2=Get-MpThreat
foreach($i in $tmp){
$ThreatName=""
foreach($j in $tmp2){
IF($i.ThreatID -eq $j.ThreatID){
$ThreatName=$j.ThreatName
$DefenderDetectionTime+="["+$i.InitialDetectionTime.ToString("yyyy/MM/dd HH:mm:dd")+" "+$ThreatName+"]"
break
}
}
}
$DefenderDetectionTime="発見された脅威と発見時間:"+$DefenderDetectionTime
この検索結果をファイルサーバに保存するとか、メール送信して、必ず結果が分かるようにするのがポイント。今、社内で何が起こっているのかが分かるようにしておくのが大事。
「手動検索」と「検索結果を見る」スクリプトを合わせて、ADから配信するか、キッティングの時に設定しておけば、セキュリティの強化になるんじゃないでしょうか。
誰かから会社のセキュリティはどうなっているのかと聞かれたら、定期検索して結果を確認できるようにしています。と言えるようにしておけば、まぁ問題ないと思います。
「次世代型〇〇〇のxxを導入してるので安心です」こういうのはダメ
Microsoft Defenderを定期的に検索させるには
設定でスケジュール化して定期的に検索することができます。
下が設定例
# 定期スキャンする曜日 設定例は水曜日
# 0 毎日 1 日曜 2 月曜 3 火曜 4 水曜 5 木曜 6 金曜 7 土曜日
# 8 なし
Set-MpPreference -ScanScheduleDay 4
# 定期スキャンする時間 設定例は 12時05分
Set-MpPreference -ScanScheduleTime "12:05:00"
# 定期スキャンとして何をするか
# 1 がクイック、2 がフル
Set-MpPreference -ScanParameters 2
# 指定スケジュール時に動作できなかった時に後でやるを無効にする
Set-MpPreference -DisableCatchupFullScan $True
Set-MpPreference -DisableCatchupQuickScan $True
# スキャン中の最大CPU使用率を指定する
Set-MpPreference -ScanAvgCPULoadFactor 50
# スキャン中の最大CPU使用率を手動スキャンにも有効にする 0有効 1無効
Set-MpPreference -ThrottleForScheduledScanOnly 0
# スケジュールされたスキャンの開始時刻をランダム化する
# パソコンの高負荷時はスケジュールをずらす(たぶん)
Set-MpPreference -RandomizeScheduleTaskTimes $True
# 毎日のクイックスキャンする時間 10時
Set-MpPreference -ScanScheduleQuickScanTime "10:00:00"
# 保護履歴?を 7 日後に自動的に消去する
Set-MpPreference -ScanPurgeItemsAfterDelay 7
# 電子メールスキャンを有効にする Falseで有効になることに注意
Set-MpPreference -DisableEmailScanning $False
# 設定を確認する
Get-MpPreference
あんまり使い道がなさそうですが、
検索を除外するフォルダを設定したり、拡張子を設定することもできます。
市販のウイルス対策ソフトとほぼ同じです。
Microsoft Defenderのダメなところ
・定期検索を設定していても動作したり、動作しないことがある
→Set-MpPreferenceコマンドのスケジュール設定ではなくて、タスクスケジューラで設定すると確実に検索できます。
・検索して発見された脅威の履歴が消えない
→わからん
・設定項目が多すぎる。マニュアルが不親切すぎる。
→調べてわかったことはこの記事に追記します
あとがき
高価なUTMを導入してもファームウェアの更新をしていなくて攻撃されるとか、保守サービスに入っていたのに保守されてなかったとか、そういうのがニュースになっています。何かを導入したからOK、金を掛けたからOKではありません。人任せにしないで、自分たちで管理しましょう。
併せてファイアウォールも設定しましょう
#PowerShell #スクリプト #セキュリティ #社内SE #情シス #予算のない会社
この記事が気に入ったらサポートをしてみませんか?