Содержание

Каспер

Соответствие между названием релиза и номером версии в Kaspersky Endpoint Security 10 для Windows
Technical training: Обучающие видео Kaspersky Endpoint Security для Бизнеса

MMC не удается инициализировать оснастку

Ошибка «MMC не удается инициализировать оснастку» в Kaspersky Security Center.
Решение:

Remove-Item "$env:userprofile\AppData\Roaming\Microsoft\MMC\Kaspersky Security Center*" -Confirm:$false -Force

https://support.kaspersky.ru/10665

Установка агента через GPO

mst-файл создать нельзя, поэтому через батник:

"\\ksc\KLSHARE\Packages\NetAgent_14.2.0.26967\exec\Kaspersky Network Agent.msi" /qn /l*vx %TEMP%\nag_inst.log SERVERADDRESS="ksc.example.com" DONT_USE_ANSWER_FILE=1 PRIVACYPOLICY=1 EULA=1 LAUNCHPROGRAM=1

https://support.kaspersky.com/KSC/14/ru-RU/92478.htm

Парсер отчёта xls из KSC

Приходится задействовать установленный Excel для конвертации в человеческий формат, т.к. отчёт в старом формате .xls.

$path = "E:\temp\ksc-reports"
$xls = dir "$path\*.xls" |sort CreationTime |select -last 1
 
# проверка, свежая ли выгрузка
if ($xls.CreationTime -lt (get-date).AddDays(-1)) {
Send-MailMessage -SmtpServer mail.domain.ru -From "support@domain.ru" -To "user@domain.ru" -Subject "Kaspersky Security Center - выгрузка отчёта старше 1 дня" -Body "
<p>Последняя выгрузка была $(($xls.creationtime).ToString("dd.MM.yyyy в HH:mm"))</p>
<p>Путь: $($xls.fullname)</p>" -BodyAsHtml -Encoding UTF8
Exit
}
else {
& "C:\Program Files (x86)\microsoft office\Office16\excelcnv.exe" -oice "$xls" "$($xls.FullName -replace '.xls','.xlsx')"
gci "$path" |? CreationTime -lt (Get-Date).AddDays(-14) |remove-item -Force -Confirm:$false # cleanup
}
 
$xlsx = dir "$path\*.xlsx" |sort CreationTime |select -last 1
 
$period = (Import-Excel $xlsx -WorksheetName Summary -StartRow 4 -EndRow 4 -NoHeader).p1
$summary = Import-Excel $xlsx -WorksheetName Summary -StartRow 7
$details = Import-Excel $xlsx -WorksheetName Details
 
# Общее количество экземпляров
$cobj = ($summary |select -expand 'Опасных объектов' |measure -sum).sum
$cfls = ($summary.'Различных файлов' |measure -sum).sum
$cdev = ($summary.'Опасных устройств' |measure -sum).sum
 
# Категории вредоносных объектов
$callincidents = ($details).Count
$cmailincidents = ($details.'Путь к файлу' |? {
$_ -match 'outlook' -or
$_ -match '.pst' -or
$_ -match 'from:'
}).Count
$ccacheincidents = ($details.'Путь к файлу' |? {
$_ -match 'Temporary Internet Files' -or
$_ -match 'Firefox' -or
$_ -match 'Chrome' -or
$_ -match 'browser'
}).Count
$cfileincidents = ($details.'Путь к файлу' |? {
$_ -notmatch 'outlook' -and
$_ -notmatch '.pst' -and
$_ -notmatch 'from:' -and
$_ -notmatch 'Temporary Internet Files' -and
$_ -notmatch 'Firefox' -and
$_ -notmatch 'Chrome' -and
$_ -notmatch 'browser'
}).Count
 
# Уникальных значений
$udev = ($details.'Устройство' |sort -Unique).count
$uobj = ($details.'Обнаруженный объект' |sort -Unique).count
$uobjtype = ($details.'Тип объекта' |sort -Unique).count
$uuser = ($details.'Учетная запись' |sort -Unique).count
$ucomp = ($details.'Компонент' |sort -Unique).count
 
$report = "<p>$period</p>
 
<h4>Антивирус на ПК пользователей выявил</h4>
<b>$cobj</b> опасных объектов<br />
<b>$cfls</b> различных файлов<br />
<b>$cdev</b> опасных устройств
 
<h4>Всего инцидентов $callincidents, из которых</h4>
<b>$cmailincidents</b> заражённых почтовых сообщений (в т. ч. в архивных почтовых файлах)<br />
<b>$cfileincidents</b> вредоносных файлов<br />
<b>$ccacheincidents</b> вредоносных файлов из интернет-кэша
 
<h4>Подверглись действию вредоносных программ</h4>
<b>$udev</b> компьютеров<br />
<b>$uuser</b> учётных записей
 
<h4>Обнаружено вредоносных программ</h4>
<b>$uobj</b> уникальных видов<br />
<b>$uobjtype</b> уникальных типов<br />
<b>$ucomp</b> компонентов защиты задействовано
 
<p><i>Отчёт сформирован $((get-date).ToString()) скриптом $($PSScriptRoot + '\' + $MyInvocation.MyCommand) на компьютере $($env:COMPUTERNAME).</i></p>
"
 
Send-MailMessage -SmtpServer mail.domain.ru -From "support@domain.ru" -To "user@domain.ru" -Subject "Kaspersky Security Center - отчёт об угрозах" -Body "$report" -Encoding UTF8 -BodyAsHtml

Старый вариант - прикручен костыль отправки из локального Outlook, т.к. сервер не имел возможности отправки просто через релей.

Статистика из Kaspersky Security for Microsoft Exchange Servers

# https://help.kaspersky.com/ks4exchange/9.5/ru-ru/116182.htm
Import-Module 'C:\Program Files (x86)\Kaspersky Lab\Kaspersky Security for Microsoft Exchange Servers\Kse.Powershell.dll' -DisableNameChecking
 
$lastmonday = ((get-date).adddays(-$(((get-date).DayOfWeek.value__)+6))).Date
$lastsunday = ($lastmonday.AddDays(7)).AddSeconds(-1)
$srv = 'edge.domain.ru'
 
$report = "<h3>Kaspersky for Exchange - статистика c $($lastmonday.ToString()) по $($lastsunday.ToString())</h3>"
 
# Просмотр статистики работы модулей Антивируса и фильтрации вложений
$avstat = Get-KSEAVServerStatistics -AntivirusRole Transport -From $lastmonday -to $lastsunday -ServerFqdn $srv
 
$report += $avstat |select @{n='Всего объектов проверено';e={$_.TotalCheckedObjects}},
@{n='Чистых объектов';e={$_.CleanObjects}},
@{n='Заражено';e={$_.InfectedObjects}},
@{n='Вылечено';e={$_.DisinfectedObjects}},
@{n='Подозрительных объектов';e={$_.SuspiciousObjects}},
@{n='Отфильтровано вложений';e={$_.AttachmentFilteredObjects}},
@{n='Пропущено из-за ошибки лицензии';e={$_.SkippedByLicenseErrorObjects}},
@{n='Пропущено по тайм-ауту';e={$_.SkippedByTimeoutObjects}},
@{n='Пропущено из-за ошибок обработки';e={$_.SkippedByProcessingErrorObjects}} |
ConvertTo-Html -PreContent '<h4>Статистика работы модулей антивируса и фильтрации вложений</h4>' -Fragment -As List
 
# Просмотр статистики работы модуля Анти-Спам
$spamstat = Get-KSEASServerStatistics -From $lastmonday -to $lastsunday -ServerFqdn $srv
 
$report += $spamstat |select @{n='Всего сообщений проверено';e={$_.TotalCheckedMessages}},
@{n='Чистых сообщений';e={$_.CleanMessages}},
@{n='Спам';e={$_.SpamMessages}},
@{n='Вероятный спам';e={$_.ProbableSpamMessages}},
@{n='Формальное оповещение';e={$_.FormalMessages}},
@{n='В чёрном списке';e={$_.BlackListedMessages}},
@{n='Доверенные';e={$_.TrustedMessages}},
@{n='Массовые рассылки';e={$_.MassMailMessages}},
@{n='Фишинг';e={$_.PhishingMessages}},
@{n='Непроверенных';e={$_.NotCheckedMessages}} |
ConvertTo-Html -PreContent '<h4>Статистика работы модуля антиспама</h4>' -Fragment -As List
 
$report += "<p><i>Отчёт сформирован $((get-date).ToString()) скриптом $($PSScriptRoot + '\' + $MyInvocation.MyCommand) на компьютере $($env:COMPUTERNAME).</i></p>"
 
Send-MailMessage -SmtpServer mail.domain.ru -From "support@domain.ru" -To "user1@domain.ru","user2@domain.ru","user3@domain.ru" -Subject "Kaspersky for Exchange - статистика за прошлую неделю" -Body "$report" -Encoding UTF8 -bodyashtml
 
# Просмотр состояния защиты сервера Microsoft Exchange
$status = Get-KSEServerStatus -ServerFqdn $srv
 
$licexp = (($status.LicenseExpirationDate -as [datetime]) - (get-date)).days
if ($licexp -lt 45) {
Send-MailMessage -SmtpServer mail.domain.ru -From "support@domain.ru" -To "user1@domain.ru","user2@domain.ru","user3@domain.ru" -Subject "Kaspersky for Exchange - лицензия истекает" -Body "
<p>Лицензия Kaspersky Security для Microsoft Exchange Servers на сервере $srv закончится менее чем через <b>45</b> дней.</p>
<p>Дата истечения лицензии: <b>$(($status.LicenseExpirationDate).tostring())</b></p>
" -Encoding UTF8 -bodyashtml
}

Решение проблем

Большой объём папки bases\cache

Исправление ожидается в рамках патча B для Kaspersky Security Center 11.
На текущий момент существует обходное решение:

  1. Остановите службу Сервера администрирования (kladminserver), убедитесь, что процесс klfc.exe не запущен
  2. Удалите в рассматриваемом каталоге файлы по маске cat_engine*
  3. Запустите службу Сервера администрирования (kladminserver).

https://community.kaspersky.com/produkty-kaspersky-dlya-biznesa-31/rost-papki-cache-posle-perehoda-na-ksc-11-3232

Stop-Service kladminserver -Confirm:$false
Stop-Process klfc.exe -Force -Confirm:$false
del "C:\ProgramData\KasperskyLab\adminkit\bases\cache\cat_engine*"
Start-Service kladminserver