Безопасность в OC X

7 Июн 2016
255
458
Часть 1: Базовые настройки после свежей установки(явные моменты для многих, но не всех)

Начну я статью все же с базовых настроек как с первой части статьи, в последствии буду дополнять.
Вы купили новый мак или только переустановили ось, сразу ориентируемся на то, что это "белая" система, не стоит работать даже с шифрованной хостовой ОС! Банальные вещи, которые должны быть сделаны само собой: отключаем геолокацию, включаем FileVault , не разрешаем восстанавливать ключ диска или пароль аккаунта через Apple ID. Не забудьте поставить пароль на прошивку своего макбука!! Без него можно будет запустить ОС в режиме single user или консоль переустановки, а так же провести так называемую DMA атаку, чтоб вытащить пароль диска из памяти. Поставить его можно через Command + R при включеннии компа, далее вверху будет в меню пункт "Установить пароль прошивки". Главное не забудьте или не потеряйте этот пароль, тк без него ось начисто уже не переставить, а так же если что-то поломается в текущей ос(или ключ файлволта убьете) - ноут станет кирпичем!

Обязательно ставим Little Snitch 3, в котором уже можем отдельно настроить сетевое поведение каждого отдельного софта. Так же снитч поддерживает профилирование: например вы работаете через впн только с 3G модема , а с домашнего провайдера лазиете только по белым сайтам - тогда делаем два профиля, в одном из которых ставим что при подключении через 3G сеть пускать в инет только демон виртуальной машины, а при подключении к локальному вайфаю пускаем в сеть всех, кроме виртуальных машин.

Не стоит ставить ВПН соединение на главную ОС, тк это дополнительное палево наличия "спецсофта" на компе, а так же прочие проблемы ввиде отваливания впн в ненужный момент и попыток ось лезть на сервера эпл через рабочий канал, достаточно поставить впн внутри виртуальной машины. (Ищите впн провайдера, который разрешает более 1 соединения со своим впн, такие бывают). Таким образом убиваем несколько зайцев - нет присутствия спецсофта на "белой" ОС, а так же в связке с Литтл снитчем защищаемся от внезапных разрывов ВПН(в Снитче указываем правило пускать виртуальную машину ТОЛЬКО на IP впн провайдера)

Работать само собой лучше с виртуальных машин, как говорилось выше. Машины в идеале держать на внешних носителях, либо на крайний случай в трукрипт/corestorage контейнере на диске. Просто в таком сценарии можно безопасно использовать комп не только для работы, но и для того , чтоб в отпуск повезти , не боясь если что проверок
Я лично использую Parallels, тк при должной настройке он все же самый быстрый из всех(по тестам из инета). Так же на него без бубнов можно поставить как виртуальную машину - OS X.

"Палевные" пути в системе, за которыми надо следить:

/private/var/log/ - полные логи системы, пишется ВСЕ! какой софт с флешки запускали, куда маунтили трукрипт диск и тд. отключить полностью нельзя, можно либо чистить иногда, либо направить в "пустоту" ввиде мелкого диска в ОЗУ
/private/var/tmp/ - временные системы, возможно не опасны
/private/tmp/ - временные системы, возможно не опасны
/Library/Logs/ - логи демонов и агентов, у которых root права (в том числе параллелс, снитч, виртуалбокс и тд)
/Library/Application Support/CrashReporter/ - пишет отчеты о падениях привелегерованного софта (тот что с рут доступом)
/Library/Preferences/ - настройки привелегерованного софта. Например как раз тут Параллелс хранит список виртуальных машин, лицензию, DHCP лизы и прочую мелочь

/private/var/vm/ - тут сидят свопфайлы и файл "гибернации" оси. вариантов 2: выключить своп, если не пользуетесь виртуалками, либо чистить периодически файлы swapfile. Не стоит чистить эти файлы когда запущена вируалка! Лучше это делать перед выключением ОС или до ее старта через скрипты автозапуска
/.Spotlight-V100 - база данных файлов в системе , для поисковой Spotlight, не очень страшная хрень, если выключить спотлайт(хоть раз пользовались? я - нет)

$HOME/.bash_history - история командной строки
$HOME/.ssh/ - ключи подключения по SSH к дедам например
$HOME/Library/Logs/ - логи софта без рут доступа и не только
$HOME/Library/Application Support/CrashReporter/ - отчеты о падениях обычного софта
$HOME/Library/Caches/ - кеш програм
$HOME/Library/Containers/ - sandbox содержимое софта, тут хранит свое содержимое в 99% случаев только софт из Апстора(настройки, ресурсы, скачиваемое содержимое и тд)
$HOME/Library/Application Support/ - почти то же что и Containers, но без sandbox. Тут например Psi и Psi+ хранят логи, настройки, ключи ОТР (подозреваю Адиум там же сидит)
$HOME/Library/Preferences/ - настройки софта, чаще всего это просто расположение окон , локализация и тд. Но бывает и больше.
$HOME - домашняя папка, например /Users/Vasia

Так же многих волнует такой вопрос: "Даже когда виртуальные машины находятся на отключенном зашифрованом диске, то при включении Parallels(VirtualBox) виден весь список!"
Опишу что делать на примере Parallels, тк с VirtualBox не сталкивался очень давно:
Список виртуальных машин находится в /Library/Preferences/Parallels/ (все файлы(3) кроме лицензии). Так же настройка окон и кеш дефолтов сидит в /$HOME/Library/Preferences/com.parallels.* (5 файлов по маске). Достаточно написать скрипт или "следящую" программу, либо делать вручную: после выключения Parallels с "черными" машинами указанные выше файлы переместить в трукрипт контейнер. Потом перед запуском опять же вернуть все файлы назад.