Как стать автором
Обновить

Комментарии 21

Любое последующее обновление Windows Defender может отменить сделанные изменения и вернуть настройки по умолчанию. Поэтому лучше периодически проверять их.

Аха. Тот самый случай, когда не ты настраиваешь программу, а программа – тебя.

За полтора года использования на Windows Server 2019 не сталкивался с таким поведением ни разу. Интересно было бы увидеть пруфы.
Статья конечно очень поверхностная. Лучше бы каждый почитал описание командлета Set-MpPreference и настроил под себя.
К сожалению вынужден констатировать, что в этом описании необычайно много ошибок. Из того что вспомню сходу:
1. Указывается, что время запланированных действий указывается в минутах от полуночи. На самом деле указывать надо в обычном формате (например «15:30»).
2. В описании параметра RandomizeScheduleTaskTimes говориться, что рандомизация происходит в интервале ± 30 минут от запланированного времени. На самом деле окно рандомизации задаётся параметром SchedulerRandomizationTime, указывается в часах и отсчитывается от запланированного времени (только вперёд).
3. Кое-где не правильно указаны дефолтные значения (которые к тому же скорее всего отличаются в разных версиях ОС).

По итогу обнаружил, что более внятное описание параметров проще почерпнуть из описания шаблонов GPO (можно через gpedit.msc или вот на этом сайте).

Возможно будет полезно, напишу способ как проверить дату последнего обновления антивирусных баз. Я использую для этого свой модуль, проверить можно следующей командой

Get-ADComputer -Filter * | Get-SystemInfo -Properties MseLastUpdateDate

А как у этого Защитника дело с false-positive и исключениями?

Печально. Вот прямо вчера оно нашло какой-то якобы вирус в наглухо лицензионном стимовском Crysis 2.

Постойте, но ведь там был вопрос И про

и исключениями

А с ними в WindowsDefender в Windows 10 вроде как нормально. Всегда можно позволить файлу исполнятся, добавив в исключения.

Вот только эти исключения (не директорию, а конкретную "угрозу") он регулярно забывает и начинает снова орать на то же самое.

В состав ОС Windows входит стандартный антивирус Windows Defender.

А разве не ОС Windows главный распространитель вирусов?!
А потом ОС Windows сказала же, что больше ни ногой к нам...

Больше интересует как при наличии нормального антивируса с актуальными базами полностью отключить работу антивируса от Microsoft? Постоянно с обновлениями закачиваются какие-то утилиты удаления вирусов и устанавливаются.

1. Отключить Defender можно через GPO/gpedit.msc если это не домашняя редакция (или как она там нынче называются) винды. Хотя он теоретически должен отключаться сам при установке другого антивируса.
2. Если Вы имеете в виду «Средство удаления вредоносных программ», то это прямого отношения к Defender'у не имеет. И оно не устанавливается, а просто запускается один раз.

На днях наблюдал как «Средство удаления вредоносных программ» ставилось несколько раз, такое впечатление, что это ежемесячное обновление.

Оно и есть ежемесячное — каждый месяц скачивается новая версия со свежими базами, производит сканирование и всё, до следующего месяца больше оно себя не проявляет.
Но если долго не ставить обновления, то я тоже замечал, что может скачаться сразу несколько версий. Т.е. эти «средства» не являются полностью кумулятивными, а видимо с каким-то шагом (но это не точно).
Лог работы можно посмотреть вот в этом файле: %windir%\debug\mrt.log
Там прекрасно видно как оно отрабатывает.

Так зачем оно нужно пользователю, у которого стоит нормальный платный антивирус с актуальными базами? Можно ли радикально отключить получение и установку этих утилит?

«Зачем» это не ко мне вопрос.
На всех версиях винды до десятки обновления можно ставить выборочно и проблем с этим нет. В десятке надо отключать автообновления (через GPO) и далее можно ставить обновления выборочно в ручную, через PowerShell или с помощью Windows Update MiniTool.
Но я не понимаю ради чего вся эта возня? Ничего кроме экономии пары минут времени при очередном обновлении это не даст.

Экономия трафика, дискового пространства в кэшах, процессорного времени. Лично я терпеть не могу тратить ресурсы (любые) впустую.

Я бы еще добавил от себя

# Включить защиту сети в Microsoft Defender Exploit Guard
Set-MpPreference -EnableNetworkProtection Enabled

# Включить обнаружение потенциально нежелательных приложений и блокировать их
Set-MpPreference -PUAProtection Enabled

# Включить песочницу для Microsoft Defender (в Windows уже включено по умолчанию)
setx /M MP_FORCE_USE_SANDBOX 1

Для еще больших параноиков можно сделать так

# Включить аудит событий, возникающих при создании или запуске процесса
auditpol /set /subcategory:"{0CCE922B-69AE-11D9-BED3-505054503030}" /success:enable /failure:enable

# Включать командную строку в событиях создания процесса
# Для работы необходим аудит событий
auditpol /set /subcategory:"{0CCE922B-69AE-11D9-BED3-505054503030}" /success:enable /failure:enable
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Audit -Name ProcessCreationIncludeCmdLine_Enabled -PropertyType DWord -Value 1 -Force 

# Создать настраиваемое представление "Создание процесса" в Просмотре событий для журналирования запускаемых процессов и их аргументов
# Для работы необходимы аудит событий и командной строки в событиях создания процесса
auditpol /set /subcategory:"{0CCE922B-69AE-11D9-BED3-505054503030}" /success:enable /failure:enable

New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Audit -Name ProcessCreationIncludeCmdLine_Enabled -PropertyType DWord -Value 1 -Force

$XML = @"
<ViewerConfig>
	<QueryConfig>
		<QueryParams>
			<UserQuery />
		</QueryParams>
		<QueryNode>
			<Name>"Process Creation"</Name>
			<Description>"Process creation and command-line auditing events"</Description>
			<QueryList>
				<Query Id="0" Path="Security">
					<Select Path="Security">*[System[(EventID=4688)]]</Select>
				</Query>
			</QueryList>
		</QueryNode>
	</QueryConfig>
</ViewerConfig>
"@

if (-not (Test-Path -Path "$env:ProgramData\Microsoft\Event Viewer\Views"))
{
	New-Item -Path "$env:ProgramData\Microsoft\Event Viewer\Views" -ItemType Directory -Force
}
Set-Content -Path "$env:ProgramData\Microsoft\Event Viewer\Views\ProcessCreation.xml" -Value $XML -Encoding UTF8 -Force

# Включить ведение журнала для всех модулей Windows PowerShell
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging\ModuleNames))
{
	New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging\ModuleNames -Force
}
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging -Name EnableModuleLogging -PropertyType DWord -Value 1 -Force
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging\ModuleNames -Name * -PropertyType String -Value * -Force
      
# Включить ведение журнала для всех вводимых сценариев PowerShell в журнале событий Windows PowerShell
if (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging))
{
	New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging -Force
}
New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging -Name EnableScriptBlockLogging -PropertyType DWord -Value 1 -Force

Взял из моего PowerShell-модуля Sophia Script. И его графическая опенсорсная версия, SophiApp (скачать).

Скрин

Почему майкрософт сразу не установила такие настройки? Боятся шквалов звонков в суппорт и проклятий?)

Некоторые специалисты говорят, что сторонние антивирусы лучше удалить. Хотя в некоторых случаях их использование всё-таки имеет смысл.

Смысл в том что в свете последних событий (да и со времен сюжета троянского коня, да и до него) "лучший, самый продуманный системный антивирус" для пользователя с любым обновлением (а может и без него) может сам стать вирусом, тем самым троянским конем

Зарегистрируйтесь на Хабре, чтобы оставить комментарий