Инструменты пользователя

Инструменты сайта


progs:kaspersky

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
progs:kaspersky [05.12.2018 08:01] – [Не устанавливается KES 11] viacheslavprogs:kaspersky [30.07.2024 19:21] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Каспер ======
 +[[https://support.kaspersky.ru/12573|Соответствие между названием релиза и номером версии в Kaspersky Endpoint Security 10 для Windows]]\\
 +[[https://www.youtube.com/playlist?list=PLQQwOgZzcgt0ZZXBYDwquzyA5LNxuRoGD|Technical training: Обучающие видео Kaspersky Endpoint Security для Бизнеса]]
 +
 +===== MMC не удается инициализировать оснастку =====
 +Ошибка «MMC не удается инициализировать оснастку» в Kaspersky Security Center.\\
 +Решение:
 +<code powershell>
 +Remove-Item "$env:userprofile\AppData\Roaming\Microsoft\MMC\Kaspersky Security Center*" -Confirm:$false -Force
 +</code>
 +https://support.kaspersky.ru/10665
 +
 +===== Установка агента через GPO =====
 +mst-файл создать нельзя, поэтому через батник:
 +<code dos>
 +"\\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
 +</code>
 +https://support.kaspersky.com/KSC/14/ru-RU/92478.htm
 +===== Парсер отчёта xls из KSC =====
 +Приходится задействовать установленный Excel для конвертации в человеческий формат, т.к. отчёт в старом формате .xls.
 +
 +<code powershell>
 +$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
 +</code>
 +
 +++++ Старый вариант - прикручен костыль отправки из локального Outlook, т.к. сервер не имел возможности отправки просто через релей. |
 +<code powershell>
 +$path = "D:\share\ksc-reports\"
 +$xls = dir "$path\*.xls" |sort CreationTime |select -last 1
 +$xlsbn = $xls.BaseName
 +$csvsummary = "$path" + "$xlsbn" + "_Summary.csv"
 +$csvdetails = "$path" + "$xlsbn" + "_Details.csv"
 +
 +# cleanup old reports first
 +gci $path |? CreationTime -lt (Get-Date).AddDays(-14) |remove-item -Confirm:$false
 +
 +Function ExportWSToCSV ($excelFileName, $csvLoc) {
 +    $excelFile = "$path" + $excelFileName + ".xls"
 +    $E = New-Object -ComObject Excel.Application
 +    $E.Visible = $false
 +    $E.DisplayAlerts = $false
 +    $wb = $E.Workbooks.Open($excelFile)
 +    foreach ($ws in $wb.Worksheets)
 +    {
 +        $n = $excelFileName + "_" + $ws.Name
 +        $ws.SaveAs($csvLoc + $n + ".csv", 6)
 +    }
 +    $E.Quit()
 +}
 +
 +ExportWSToCSV -excelFileName "$xlsbn" -csvLoc "$path"
 +$period = (gc "$csvsummary" |select-string 'Период') -replace ','
 +$summary = (gc "$csvsummary" |select-string 'Обнаруженный объект' -Context 0, 65536) -replace '>' |ConvertFrom-Csv
 +$details = gc "$csvdetails" |ConvertFrom-Csv
 +
 +# Overall
 +$cobj = $summary |select -expand 'Опасных объектов' |measure -sum |select -expand sum
 +$cfls = $summary |select -expand 'Различных файлов' |measure -sum |select -expand sum
 +$cdev = $summary |select -expand 'Опасных устройств' |measure -sum |select -expand sum
 +
 +# Malware categories
 +$callincidents = ($details).Count
 +$cmailincidents = ($details |select -expand 'Путь к файлу' |? {
 +$_ -match 'outlook' -or
 +$_ -match '.pst' -or
 +$_ -match 'from:'
 +}).Count
 +$ccacheincidents = ($details |select -expand 'Путь к файлу' |? {
 +$_ -match 'Temporary Internet Files' -or
 +$_ -match 'Firefox' -or
 +$_ -match 'Chrome' -or
 +$_ -match 'browser'
 +}).Count
 +$cfileincidents = ($details |select -expand 'Путь к файлу' |? {
 +$_ -notmatch 'outlook' -and
 +$_ -notmatch '.pst' -and
 +$_ -notmatch 'from:' -and
 +$_ -notmatch 'Temporary Internet Files' -and
 +$_ -notmatch 'Firefox' -and
 +$_ -notmatch 'Chrome' -and
 +$_ -notmatch 'browser'
 +}).Count
 +
 +# Unique values
 +$udev = ($details |select -expand 'Устройство' |sort -Unique).count
 +$uobj = ($details |select -expand 'Обнаруженный объект' |sort -Unique).count
 +$uobjtype = ($details |select -expand 'Тип объекта' |sort -Unique).count
 +$uuser = ($details |select -expand 'Учетная запись' |sort -Unique).count
 +$ucomp = ($details |select -expand 'Компонент' |sort -Unique).count
 +
 +$mailbody =  "$period
 +
 +Антивирус на ПК пользователей выявил
 +$cobj опасных объектов
 +$cfls различных файлов
 +$cdev опасных устройств
 +
 +Всего инцидентов $callincidents, из которых
 +$cmailincidents заражённых почтовых сообщений (в т. ч. в архивных почтовых файлах)
 +$cfileincidents вредоносных файлов
 +$ccacheincidents вредоносных файлов из интернет-кэша
 +
 +Подверглись действию вредоносных программ
 +$udev компьютеров
 +$uuser учётных записей
 +
 +Обнаружено вредоносных программ
 +$uobj уникальных видов и
 +$uobjtype уникальных типов
 +$ucomp компонентов защиты задействовано"
 +
 +$olFolderDrafts = 16
 +$ol = New-Object -comObject Outlook.Application 
 +$ns = $ol.GetNameSpace("MAPI")
 +
 +# call the save method yo dave the email in the drafts folder
 +$mail = $ol.CreateItem(0)
 +$null = $Mail.Recipients.Add("123@domain.ru;456@domain.ru")  
 +$Mail.Subject = "Отчёт об угрозах Kaspersky Security Center"  
 +$Mail.Body = " $mailbody "
 +$Mail.save()
 +
 +# get it back from drafts and update the body
 +$drafts = $ns.GetDefaultFolder($olFolderDrafts)
 +$draft = $drafts.Items | where {$_.subject -eq 'Отчёт об угрозах Kaspersky Security Center'}
 +# $draft.body += "`n foo bar"
 +$draft.save()
 +
 +# send the message
 +$draft.Send()
 +
 +</code>
 +https://stackoverflow.com/questions/1453723/create-outlook-email-draft-using-powershell
 +++++
 +
 +===== Статистика из Kaspersky Security for Microsoft Exchange Servers =====
 +<code powershell>
 +# 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
 +}
 +</code>
 +
 +===== Решение проблем =====
 +==== Большой объём папки bases\cache ====
 +Исправление ожидается в рамках патча B для Kaspersky Security Center 11.\\
 +На текущий момент существует обходное решение:
 +  - Остановите службу Сервера администрирования (kladminserver), убедитесь, что процесс klfc.exe не запущен
 +  - Удалите в рассматриваемом каталоге файлы по маске cat_engine*
 +  - Запустите службу Сервера администрирования (kladminserver).
 +https://community.kaspersky.com/produkty-kaspersky-dlya-biznesa-31/rost-papki-cache-posle-perehoda-na-ksc-11-3232
 +<code powershell>
 +Stop-Service kladminserver -Confirm:$false
 +Stop-Process klfc.exe -Force -Confirm:$false
 +del "C:\ProgramData\KasperskyLab\adminkit\bases\cache\cat_engine*"
 +Start-Service kladminserver
 +</code>
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki