Как следить за обновлениями в XProtect OS X

Относится к категориям: OS X, Apple
Владимир Ш.
Система XProtect от Apple (так называемые файлы карантина) в OS X является рудиментарным сканером вредоносных программ, который может выполнять быструю проверку загружаемых файлов, чтобы убедиться, что они не содержат известные вредоносные программы. Он будет блокировать любые версии веб-плагинов, такие как Java и флэш, у которых есть известные уязвимости.

XProtect работает в фоновом режиме без взаимодействия с пользователем, что является удобным, но это не означает, что, когда он обновляется, пользователи могут обнаружить неожиданный запрет на доступ к некоторому веб-контенту. Даже при быстром обновлении плагина вы не должны чувствовать неудобства, может оказаться полезно знать, что если блокировка произошла из-за XProtect или по какой-то другой причине, может понадобится исследовать это.

К сожалению, Apple не предоставляет уведомление об обновлении XProtect, однако вы можете реализовать собственную процедуру, которая будет проверять и сообщать вам о любых обновлениях.



Глубоко в системной папке XProtect содержит два файла под названием "XProtect.plist" и "XProtect.meta.plist", которые содержат информацию о версии блокированного плагина во время обновления XProtect, и определения новых вредоносных программ.  Используя эти файлы, вы можете создать небольшой фоновый скрипт, который будет регулярно проверять любые изменения, а затем отправит вам уведомление, если это происходит.

Как и другие системы мониторинга, эта установка включает в себя создание простого скрипта, который выдает уведомление, а затем устанавливает агент запуска для периодического запуска самого скрипта.

Установка терминала-уведомителя
Для того, чтобы получать уведомления из сценариев оболочки, необходимо сначала загрузить инструмент терминал-уведомитель и поместить его в папку /Applications/Utilities на вашем компьютере.  Эта программа не может быть запущена непосредственно, но содержит все функции, необходимые для использования центра уведомлений в Mountain Lion.



Создать сценарий оповещения
Следующим шагом будет создание скрипта, который будет выдавать уведомления, поэтому, чтобы сделать это сперва откройте утилиту терминал OS X и введите следующую команду, чтобы создать файл сценария под названием "xprotectnotify.sh» в глобальной папке Library (введите свой пароль при появлении запроса):
sudo pico /Library/xprotectnotify.sh

Затем скопируйте следующий скрипт и вставьте его в текстовый редактор терминала:
#!/bin/bash

if [ `md5 -q /System/Library/CoreServices/CoreTypes.bundle/Contents/Reso\
urces/XProtect.meta.plist` == `md5 -q ~/.XProtect.meta.plist` ] ; then
    echo "No change"
else
    UPDATED=`defaults read /System/Library/CoreServices/CoreTypes.b\
undle/Contents/Resources/XProtect.meta.plist LastModification`
    /Applications/Utilities/terminal-notifier.app/Contents/MacOS/ter\
minal-notifier -title "XProtect Updated" -message "$UPDATED"
    cp /System/Library/CoreServices/CoreTypes.bundle/Contents/Resour\
ces/XProtect.meta.plist ~/.XProtect.meta.plist
fi


Наконец нажмите Ctrl-O для сохранения, потом Control-X, чтобы выйти. А затем выполните следующую команду, чтобы сделать скрипт исполняемым:
sudo chmod +x /Library/xprotectnotify.sh

На этом этапе скрипт может быть запущен непосредственно в терминале, с введением полного пути к нему (/Library/xprotectnotify.sh), что должно сделать попытку сравнить XProtect "мета"-файл системы со скрытой копией в домашнем каталоге. Если копия не существует, или отличается от официального, то он сообщит вам, что изменения произошли, а затем обновит копию, чтобы использовать одну и ту же в системе.

Создать агент запуска
Последним шагом является создание агента запуска, который будет загружать и запускать скрипт уведомления на регулярной основе. Для этого в терминале выполните следующую команду для создания и редактирования файлов агента:
pico ~/Library/LaunchAgents/local.XProtectNotify.plist

Теперь скопируйте следующие строки и вставьте в текстовый редактор терминала, который должен быть открыт, а затем снова нажмите Control-O, а затем Control-X, чтобы сохранить и выйти:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "//www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>local.XProtectNotify</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Library/xprotectnotify.sh</string>
    </array>
    <key>QueueDirectories</key>
    <array/>
    <key>StartInterval</key>
    <integer>3600</integer>
</dict>
</plist>


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

После сохранения выйдите из системы и снова войдите в свою учетную запись, и всё.  Этот скрипт является очень легкой процедурой, он будет оказывать незначительное влияние на систему, даже если запускать каждые несколько секунд.  Однако, если в любой момент вы захотите отменить эти изменения, выполните следующие три команды отдельно(по очереди) в терминале:
sudo rm /Library/xprotectnotify.sh
rm ~/Library/LaunchAgents/local.XProtectNotify.plist
rm ~/.XProtect.meta.plist


Этот скрипт будет просто уведомлять вас, когда обновляется XProtect, однако вы также можете использовать такой инструмент, как XProtect Plugin Checker либо вместо, либо в дополнение к нашему скрипту, чтобы дать вам информацию о версиях плагинов, которые XProtect блокировал.
Комментариев - 0
Рейтинг - 1430 баллов
 
Похожие статьи на сайте:
 
Комментариев: 0
 
Имя *:

E-mail:

Текст комментария *: