1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

OS X Security: понижаем градус паранойи

Запись в дневнике разместил пользователь ARMAGEDDON, 21 июн 2017.

[​IMG]
OS X Security: понижаем градус паранойи
Итак дорогие друзья. Сегодня я узрел на нашем форуме интересную темку, под названием:
Не верующих не беспокоить!!!))
Да, вот такое вот дикое название темы. В ней тема банальна - защита мака и ВНЕЗАПНО антивирусы! Тысячи их!
[​IMG]
Примерное такое представление о вирусах (в т.ч. и на Маках) у обычных
пользователей-новичков
Тема сразу мне показалась дилетантской. Не скажу, что я прям супер гений в области информационной безопасности, но все же понимаю, что останавливаться на антивирусах для защиты компьютера мягко говоря глупо. Очень глупо. Очень очень очень глупо.

Здесь я поделюсь своим опытом защиты и усиления OS X. По полной программе за исключением опыта усиления, защиты и аудита серверной OS X. Это коммерческая тайна и там есть масса моих собственных решений, которые я не хотел бы выдавать, ибо конкуренция не спит. А для простых смертных, вот пожалуйста.

Итак, начинаем, все начнётся с базовых основ, я уже ранее писал о защите компьютера под управлением операционной системы OS X по стандарту Common Criteria и даже выпустил три записи в своём блоге, собственно вот они:

Я надеюсь выпустить еще несколько частей этих замечательных инструкций, надеюсь время позволит. Ознакомившись с этими статьями, там уже есть необходимые первые руководства к действию по защите своего ненаглядного Мака. Далее уже пройдёмся по некоторым отдельным моментам:

Пользователь:

[​IMG]
Вообще в идеале, нельзя просто так сидеть в учётке с привилегиями администратора, даже если это и не root вовсе. Обычного пользователя должно хватать за глаза, а административные привилегии должны требоваться только для таких базовых операций как настройка системы, установка ПО. Запускать все программы с административными привилегиями вкупе с дурной привычкой делать себе супер лёгкие пароли превращает Мак в решето, с точки зрения информационной безопасности.

Так, что сделайте себе повседневного пользователя со стандартными привилегиями, а админскую учётку как параллельную только для редких системных манипуляций.

Пароли:

Пароли обычный народ не любит. От слова совсем. Мозг очень напрягается, потеет вестимо изрядно, болит потом еще... А зря, пароль это первая и одна из самых фундаментальных преград как для взломщика, так и для вредоносного ПО. Рекомендуемая минимальная длина пароля по стандартам компьютерной безопасности - 8 символов. Но этого не достаточно если учитывать энтропию сложности пароля.

Сложность пароля в компьютерной индустрии обычно оценивают в терминах информационной энтропии (понятие из теории информации), измеряемой в битах. Вместо количества попыток, которые необходимо предпринять для угадывания пароля, вычисляется логарифм по основанию 2 от этого числа, и полученное число называется количеством «битов энтропии» в пароле. Пароль со, скажем, 42-битной сложностью, посчитанной таким способом, будет соответствовать случайно сгенерированному паролю длиной в 42 бита. Другими словами, чтобы методом полного перебора найти пароль с 42-битной сложностью, необходимо создать 242 паролей и попытаться использовать их; один из 242 паролей окажется правильным. Согласно формуле при увеличении длины пароля на один бит количество возможных паролей удвоится, что сделает задачу атакующего в два раза сложнее. В среднем атакующий должен будет проверить половину из всех возможных паролей до того, как найдет правильный. См. закон больших чисел.

Потому, очень выгодно сделать пароль длинной от 12 до 14 символов, где присутствуют буквы из алфавита в верхнем и нижнем регистрах, присутствуют числа и специальные символы из таблицы ASCI. Это очень серьезно усилит пароль от прямого "грубого" перебора (brute force attack). Но это еще не все. Не следует использовать один и тот же пароль везде и всюду ибо, если так случится, что вы своими действиями скомпрометируете свой один единственный пароль - вы скомпрометируете ВСЮ свою информацию и себя.

Усиление парольной политики:

Создать хороший пароль ВНЕЗАПНО все равно не достаточно. Он должен регулярно меняться. Иначе один и тот же парольный паттерн рано или поздно со временем себя выдаст. О том, как усилить парольную политику я писал в одной из частей по защите Common Criteria. Читайте.

Брандмауэр:

[​IMG]
Почему так радикально спросите вы? Ну потому, что если ваш персональный компьютер не является сервером, то тогда он НЕ ДОЛЖЕН оказывать какие-либо услуги. Все предельно просто.

Дополнительная настройка брандмауэра уже отправляется в терминал. Здесь мы подключим к нашему PF (Packet Filter, он же Брандмауэр) дополнительный список-"якорь" IP-адресов которые надо ПО-ЛЮБОМУ блокировать, вот чтобы то ни стало. Открываем терминал и....:


Я надеюсь вы умеете пользоваться программой nano и touch. Идем в /etc/ и редактируем файл pf.conf. Добавляем:

anchor "emerging-threats"
load anchor "emerging-threats" from "/etc/pf.anchors/emerging-threats"


Далее создаем файл /etc/pf.anchors/emerging-threats, после редактируем и добавляем:

table <emerging_threats> persist file "/etc/emerging-Block-IPs.txt"
block log from <emerging_threats> to any


После нам нужно достать то, что будем подгружать в нашем "якоре":

$ curl http://rules.emergingthreats.net/fwrules/emerging-Block-IPs.txt -o /tmp/emerging-Block-IPs.txt
$ sudo cp /tmp/emerging-Block-IPs.txt /etc
$ sudo chmod 644 /etc/emerging-Block-IPs.txt
$ sudo pfctl -f /etc/pf.conf


Все. Мы включили дополнительную защиту от всякого сетевого быдла... мусора.

Про afctl я писал уже ранее, но это серверная примочка, простым юзерам это ни к чему.

Защита AppleID:

Включите себе двух-факторную аутентификацию. Это серьезно усилит защиту от угона вашей учётной записи AppleID.

Гостевая учётная запись:

Должна быть выключена. Делается это в Системные Настройки ---> Пользователи и Группы ---> Гость.

Защищаем файл sudoers:

Вписываем в конфиг /etc/sudoers в самом конце:

Defaults timestamp_timeout=0
Defaults tty_tickets


Автоматическая блокировка связки ключей Login:

Идем в /Applications/Utilities/ и открываем Keychain.app.
Выбираем Правку - Изменить параметры для связки ключей "Вход"
Ставим галки:
Закрыть после 10 минут простоя
Закрыть при переходе в режим сна

Gatekeeper:

[​IMG]
Выставляем опцию App Store для Mac. Есть еще и дополнительное решение в виде программы Ostiarius. Сия чудная программа не даёт исполняться неким бинарникам загруженным из интернетов. То есть левые программы без цифровой подписи не смогут запуститься без разрешения на то Пользователя. А вы верите в Пользователя?

Отключаем диагностику:

Системные настройки -> Защита и безопасность -> Конфиденциальность -> Диагн. и использв.
Снимаем все галки. Вот так. Просто пошлём подальше этих программистов из Купертино.

Отключаем Handoff:

Системные настройки -> Основные
Здесь снимаем галку с функции Handoff.

Сервисы отслеживания:

Системные настройки -> Защита и безопасность -> Конфиденциальность -> Службы геолокации
Снимаем все галки, в том числе и для системых служб. Пусть ЦРУ играет в угадайку где вы бродите.

FileVault:

ВНИМАНИЕ: Я рекомендую включать данную функцию полнодискового шифрования ТОЛЬКО в том случае если у вас на накопителе РЕАЛЬНО ЦЕННАЯ информация. В противном случае получите себе стоп-кран.

Для шифрования особо ценной информации я скорее рекомендую VeraCrypt, шифр Кузнечик, все в сболтать но не смешивать.

Расширения файлов:

Всегда полезно знать с какими файлами вы работаете:
Finder - Настройки - Дополнения
Галка на "Показывать все расширения имён файлов".

Автоматические системные обновления:

Согласно стандарту Common Criteria - лучше это все хозяйство выключить. Обновлять всё в ручную, никакой автоматики. См. запись в блоге.

Запрет Safari на автоматическое открытие файлов:

Safari -> Настройки -> Основные
Убрать галку "Открывать "безопасные" файлы после загрузки.

Отключаем дамп Ядра:

По умолчанию дамп ядра включён, но регулирующий это конфиг не существует в системе. Его необходимо создать: /etc/sysctl.conf.
Вносим запись в конфиг: kern.coredump=0
Перезагружаем компьютер.

Усиливаем сетевой стек TCP/IP:

В том же /etc/sysctl.conf добавляем:

net.inet.ip.fw.verbose = 1
net.inet.ip.fw.verbose_limit = 65535
net.inet.icmp.icmplim = 1024
net.inet.icmp.drop_redirect = 1
net.inet.icmp.log_redirect = 1
net.inet.ip.redirect = 0
net.inet.ip.sourceroute = 0
net.inet.ip.accept_sourceroute = 0
net.inet.icmp.bmcastecho = 0
net.inet.icmp.maskrepl = 0
net.inet.tcp.delayed_ack = 0
net.inet.ip.forwarding = 0
net.inet.tcp.strict_rfc1948 = 1


Устанавливаем жесткую конфигурацию синхронизации времени (NTP):

sudo systemsetup -setnetworktimeserver "time.euro.apple.com"
sudo systemsetup -setusingnetworktime on
echo "restrict default ignore" >> /etc/ntp.conf


Теперь ничто не собьёт точное время в логах.

Отключаем Bonjour (mDNS):

Для этого надо сначала отключить SIP (Для этого загружаетесь с раздела восстановления или установочного диска):
csrutil disable
После уже с основной системе вводите:
sudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array-add "-NoMulticastAdvertisements"
После включаем обратно SIP.

Защита DNS:

Это комплекс мер из двух этапов:
1) Вы должны в своем домашнем роутере прописать IP-адреса защищенных DNS-серверов, я рекомендую OpenNIC.
2) В OS X устанавливается программа DNSCrypt и настраивается на использование серверов OpenNIC (на крайний случай OpenDNS Cisco).

Приложения которые я бы порекомендовал:

Little Snitch - обучаемый фаерволл. Довольно известен. Блокирует посторонний трафик с оповещениями. Ахтунг! Программа платная!

BlockBlock - программа мониторинга и подавления несанкционированной установки вредоносного ПО.

Lockdown - небольшая программа аудита и установки настроек на усиление безопасности системы в целом. Полезная утилита.

RansomWhere? - программа мониторинга и защиты от вируса-шифровальщика RansomWare.

Dylib Hijack Scanner - программа мониторинга вредоносного ПО по несанкционированному захвату библиотек других программ.

rkhunter - терминальная программа-сканер на известные бреши в безопасности системы.

chkrootkit - аналогичная предидущей программе сканер локальных уязвимостей.

Вот вроде бы и всё... Что же до антивирусов. Ни когда их не использовал. Как-то так.
RemB, Alvaro, Vandroiy и 11 другим нравится это.
ARMAGEDDON

Об авторе

ARMDN's TechBlog.