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

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

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