33 и более коров или как я задумался о безопасности, не являясь специалистом ИБ

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

Далее в статье (если это можно так назвать) в нумерованном порядке находятся мысли, технологии, способы и т.п. вещи, которые, как я надеюсь, позволят многим избежать моих проблем (как и вообще проблем с безопасностью) и, возможно, открыть для себя что-то свежее.
Ссылок на статьи/форумы/документации не делал, заинтересованным читателям предлагается погуглить по упомянутым словам.

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

Если будут пожелания, то по части скриптов могу озвучить свои мысли, поделиться опытом и выложить наработки (powershell — смею надеяться относительно опытный его пользователь).
По традиции фраза: Это моя первая публикация на Хабре, не пинайте очень сильно

Итак поехали:

  1. Имена учетных записей — не называть учетные записи именами вроде admin, вася, бухгалтер и т.п.
  2. Отключать стандартную (встроенную) учетную запись администратора.
  3. Запрещать вход учетных записей администраторов через RDP, при необходимости создать отдельную учетную запись с правами пользователя.
  4. Запретить учетным записям администраторов овладевание файлами, создать отдельную учетную запись а-ля file.admin.
  5. Всегда устанавливать самые свежие обновления (задержка максимум на 2 недели).
  6. Устанавливать версию Windows не ниже версии от 2019 года — от этого зависит возможный функционал.
  7. Настраивать Controlled Folder Access — всегда стремиться максимально разделить файлы разных типов и настроить на них разные правила. — При обнаружении и использовании эксплойта одного приложения опасности будут подвержены файлы одного типа. Возможно написание скрипта, раскладывающего файлы по подпапкам по заранее определенными типами и настраивающего правила. Доступ на изменение в папках бэкапов только программам, которые эти бэкапы создают.
  8. Всегда настраивать SRP или APP Locker на максимальную защиту. Запрещать запуск из временных папок и папок очередей принтеров.
  9. Всегда отключать неиспользуемые службы и компоненты (например служба печати, компонент выполнения 32-х битных приложений и протокол SMB 1.0, конечно с оглядкой на функционал сервера. Сюда же использование версий Core и Nano.).
  10. Всегда иметь резервные копии не менее чем 2-х недельной давности на отключаемом/подключаемом вручную носителе.
  11. По возможности использовать powershell DSC.
  12. Всегда включать аудит успешных (и не успешных при отслеживании и оповещении) изменений системных каталогов, реестра, папок/разделов с данными и каталогами конфигурации функциональных служб (например inetpub для IIS).
  13. По возможности использовать концепции JIT и JET.
  14. Определить через мониторинг характерное поведение сервера\мониторируемого объекта и настроить триггеры на их превышение на 10%.
  15. Использовать LAMP.
  16. Выделить минимум 4 VLAN с соответствующими ACL: а) интерфейсы управления; б) сервера использующиеся внутри сети; в) сервера к которым есть доступ извне (DMZ); г) рабочие станции; д) рабочие станции ИТ-персонала.
  17. Использовать скрипт против подбора пароля RDP, возможна интеграция с сетевым firewall/router через обновляемые списки ACL и другие средства борьбы с brute-force атаками.
  18. По возможности использовать WAP/MDM/Application portal.
  19. По возможности использовать VPN.
  20. По возможности использовать двухфакторную аутентификацию.
  21. Настроить в сети несколько каталогов (первый по алфавиту/последний по алфавиту/посередине алфавита/все), на которых будут отслеживаться события аудита и, при определенной массовости изменений, с определенного ip-адреса он будет блокироваться на firewall и правила блокировки будут рассылаться на все сервера/устройства в сети с оповещением администратора. Либо на частном ПК завершение процесса инициировавшего массовые изменения и при скором повторении подозрительных действий — выключение ПК.
  22. По возможности не использовать RDP на серверах, а использовать mmc, wmi, powershell, server manager, windows admin center, etc.
  23. По возможности максимально в доступах к ресурсам и рассылкам опирайтесь на информацию из кадровых систем (создайте свою интеграцию или воспользуйтесь имеющимися/сторонними возможностями интеграции).
  24. При разграничении доступа всегда исходите из принципа «запрещено все, что не разрешено», а не из принципа «не знает — значит запрещено».
  25. Исходите из принципа «лучше закрутить гайки потуже, чем где-то появится течь», естественно в рамках разумного с согласованием руководства, если это влечет за собой неудобства пользователей и всесторонним тестированием. Это относится и к разделению ролей/прав в т.ч. настройки GPO.
  26. Увеличивайте системные журналы ролей и служб критичных для конкретных серверов, настраивайте их архивирование и экспорт на выделенные сервера.
  27. Следите за ошибками и предупреждениями на серверах, старайтесь вовремя решать причины их возникновения.
  28. Старайтесь избегать/решать проблемы флуда в системные журналы, дабы избежать их замусоревания и облегчения поиска.
  29. Если есть возможность — настройте и используете приложения/службы IPS, SEIM;
  30. Не брезгуйте детальной настройкой Windows Defender.
  31. Периодически запускайте BPA.
  32. Создайте свои шаблоны безопасности в оснастке «Security Templates» и анализируйте/исправляйте сервера на соответствие заданным шаблонам.
  33. Всегда давайте доступ на изменение резервных копий только специально выделенным учетным записям и запрещайте редактирование/удаление для остальных учетных записей.
  34. Для каждого отдельного ресурса в сети создавайте отдельные группы доступа, ориентированные только на этот ресурс. Никогда не включайте одну группу доступа к ресурсу в другую, если они не связаны подчиненными (иерархическими отношениями структуры ресурса), например группу доступа к каталогу \\server\share\folder1 можно включить в группу, имеющую право просмотра содержимого ресурса \\server\share.
  35. Запретите автозапуск со всех устройств. Регламентируйте использование внешних накопителей.
  36. Периодически меняйте свои пароли, не допускайте использования в них ваших данных, которые легко узнать, текущей даты/года и т.п. Используйте спецсимволы. Не используйте распространенные пароли (Qwerty, Pa$$w0rd и т.п.).
  37. Периодически проверяйтесь сторонними offline антивирусными сканерами (kvrt, cureit, etc).
  38. Никогда не используйте для доступов встроенные группы безопасности (Пользователи домена, все, и т.п.) — к вам могут прийти аудиторы, тех поддержка определенного продукта, аутсорсеры чего-либо и вам придется создавать им учетные записи в домене и впускать их в периметр. Кто тогда скажет куда и к какой информации они смогут получить доступ?
  39. Всегда комментируйте правила на роутерах, firewall и прочих граничных устройствах. Вплоть до указания контактов тех, для кого это было сделано и их должностей. Заведите себе правило периодически проверять правила на актуальность — может быть так, что проект уже закрыт и публикуемого сервиса нет, и уже давно с этим IP стоит другой сервер и не дай бог на нем открыты те же порты, которые были опубликованы на старом сервере.
  40. Следите за новостями IT.

В статье опустил упоминание об осторожности и осознанности, методы социнжиниринга, т.к. первые два очевидны, а последнее претендует на отдельную статью от человека занимающегося ИБ и знающего о психологии.

Всем, кто дочитал — спасибо! У меня все. Надеюсь на конструктивную критику.
Tags:
windows, security, безопасность

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.