目次 |
---|
はじめに
先日、自宅サーバー(Hyper-V Server 2016)で久々にWindows Updateによるリブートを行いました。
ところが、リブート後に、これまで使っていた幾つかのファイルが消去されている、という事態が起こりました。
よく調べてみると、自宅サーバーの運営費の捻出のために使っている仮想通貨のマイニングアプリがWindows Defenderに引っかかって消去されているように見受けられました。
確かにマイニングソフトの殆どはウィルスチェックに引っかかって、消去されたり通信が拒絶されたりします。
これまでもWindows Defenderは使っていたのですが、今まではファイルが消去されることはありませんでした。
しかし今回は、何度ファイルをコピーしてもすぐに消去されることを確認したので、Windows Defenderの設定で対象のプログラムを除外する必要がありました。
Windows Defenderを無効化することも考えましたが、さすがにこれでは無防備になるので、できればWindows Defenderを有効にして、かつ、都合に応じて除外の設定ができないか、ということで色々調べてみました。
ということで、今回はWindows DefenderをServer Core上で設定・操作する方法を紹介します。
PowerShellによるDefenderの操作
Server Coreの環境だと、もちろんWindowsのGUIツールはことごとく使用できません。
ですので、コマンドラインからできる操作に限られます。
色々調べてみるとPowerShellを使用してWindows Defenderを操作するいくつかのコマンドレットがあるようなので、今回はそれらを使用してみます。
まず、どんなコマンドレットが使えるか見てみます。
PS C:\> Get-Command -Module Defender CommandType Name Version Source ----------- ---- ------- ------ Function Add-MpPreference 1.0 Defender Function Get-MpComputerStatus 1.0 Defender Function Get-MpPreference 1.0 Defender Function Get-MpThreat 1.0 Defender Function Get-MpThreatCatalog 1.0 Defender Function Get-MpThreatDetection 1.0 Defender Function Remove-MpPreference 1.0 Defender Function Remove-MpThreat 1.0 Defender Function Set-MpPreference 1.0 Defender Function Start-MpScan 1.0 Defender Function Start-MpWDOScan 1.0 Defender Function Update-MpSignature 1.0 Defender
なるほど、ではこれらをもう少し調べてみるか...という前に、まずは今回の問題解決を先にやります。
問題の対策を実施
今回の問題を解決するためには、Windows Defenderがファイルを削除することを回避する必要があります。
そこで、まずは、現状の除外情報を見るために、Get-MpPreferenceを実行しました。
すると、以下のような項目がでてくるので、これらの中から、除外情報に相当するものを探すと、「Exclusion***」が相当することが予想されます。
PS C:\> Get-MpPreference CheckForSignaturesBeforeRunningScan : False ComputerID : *************** DisableArchiveScanning : False DisableAutoExclusions : False DisableBehaviorMonitoring : False DisableBlockAtFirstSeen : False DisableCatchupFullScan : True DisableCatchupQuickScan : True DisableEmailScanning : True DisableIntrusionPreventionSystem : DisableIOAVProtection : False DisablePrivacyMode : False DisableRealtimeMonitoring : False DisableRemovableDriveScanning : True DisableRestorePoint : True DisableScanningMappedNetworkDrivesForFullScan : True DisableScanningNetworkFiles : False DisableScriptScanning : False ExclusionExtension : ExclusionPath : ExclusionProcess : HighThreatDefaultAction : 0 LowThreatDefaultAction : 0 MAPSReporting : 2 ModerateThreatDefaultAction : 0 PUAProtection : 0 QuarantinePurgeItemsAfterDelay : 90 RandomizeScheduleTaskTimes : True RealTimeScanDirection : 0 RemediationScheduleDay : 0 RemediationScheduleTime : 02:00:00 ReportingAdditionalActionTimeOut : 10080 ReportingCriticalFailureTimeOut : 10080 ReportingNonCriticalTimeOut : 1440 ScanAvgCPULoadFactor : 50 ScanOnlyIfIdleEnabled : True ScanParameters : 1 ScanPurgeItemsAfterDelay : 15 ScanScheduleDay : 0 ScanScheduleQuickScanTime : 00:00:00 ScanScheduleTime : 02:00:00 SevereThreatDefaultAction : 0 SignatureAuGracePeriod : 1440 SignatureDefinitionUpdateFileSharesSources : SignatureDisableUpdateOnStartupWithoutEngine : False SignatureFallbackOrder : MicrosoftUpdateServer|MMPC SignatureFirstAuGracePeriod : 120 SignatureScheduleDay : 8 SignatureScheduleTime : 01:45:00 SignatureUpdateCatchupInterval : 1 SignatureUpdateInterval : 0 SubmitSamplesConsent : 1 ThreatIDDefaultAction_Actions : ThreatIDDefaultAction_Ids : UILockdown : False UnknownThreatDefaultAction : 0 PSComputerName :
[Get-MpPreferenceの例]
そこで、以下のコマンドにより状況を絞ってみると、まだ除外の設定がされていないことがわかりました。
PS C:\> Get-MpPreference | Select Exclu* ExclusionExtension ExclusionPath ExclusionProcess ------------------ ------------- ----------------
このことから、
「ExclusionExtension」で除外する拡張子を設定する
「ExclusionPath」で除外するパスを設定する
「ExclusionProcess」で除外するプロセス名を設定する
ということができそうでしたので、以下のコマンドで、ダウンロード用のパスを除外パスに設定してみました。
PS C:\> Add-MpPreference -ExclusionPath "C:\User\Administrator\Downloads" PS C:\> Get-MpPreference | Select Exclu* ExclusionExtension ExclusionPath ExclusionProcess ------------------ ------------- ---------------- {C:\Users\Administrator\Downloads\}
これでWindows Defenderの除外パスが設定できたと思われるので、問題であった消去されるファイルをここにコピーしてみたところ、削除されないことを確認できました。
この方法で、Windows Defenderの除外設定ができることがわかりました。
詳細情報
これらについてもう少し詳しく調べてみると、Microsoftのドキュメント(https://technet.microsoft.com/ja-jp/library/dn433280.aspx)にこれらの詳細がありますので、必要に応じて、これらのコマンドでWindows Defenderを制御することができます。
まとめ
Windows Defenderは、OS付属でありながら、強力なウィルス対策です。
他の有償のウィルス対策ソフトウェアの方がより強力ですが、私は個人的にはWindows Defenderでもマメに定義更新すれば、ウィルス対策としては最低限のことはできると思っています。
実際に、自宅サーバーを運用していると、Defenderの定義更新は、1,2日毎に更新があります。
ですので、皆さんもWindows Defenderをもう少し使いこなしてみてはいかがでしょうか?
今回の記事は以上です。
関連記事




