Настройка безопасной конфигурации ОС Astra Linux Common Edition 2.12

Перед установкой ОС

  1. При возможности - установить и настроить на компьютере аппаратно-программный модуль доверенной загрузки (АПМДЗ)

  2. Установить "взломостойкий" пароль на BIOS компьютера.

    P.S.

    "Взломостойкий" пароль это пароль:

    • Содержащий не менее 8 символов;
    • Не содержащий в себе никаких осмысленных слов (ни в каких раскладках);
    • Содержащий в себе буквы в различных регистрах, цифры и спецсимволы.
  3. Обеспечить защиту от "незаметного" вскрытия корпуса и встраивания "имплантов" в соединительные кабели периферийных устройств".
    Для обеспечения защиты могут использоваться специальные корпуса, защитные крышки, пломбы, пломбировочные ленты, для усложнения скрытной установки "имплантов" рекомендуется использование ПК в форм-факторе ноутбук или моноблок.

  4. Исключить использование беспроводных периферийных устройств ввода (мыши, клавиатуры, тачпады и пр.).
    Отключить по возможности беспроводные системы передачи данных (WiFi, Bluetooth).
    При необходимости использования WiFi - по возможности использовать для защиты данных сети VPN.

  5. При наличии опций для процессоров Intel Execute Disable Bit (XD-Bit) и для процессоров AMD No Execute Bit (NX-Bit) включить их.

  6. При наличии на серверах "не доверенных" систем контроля и управления типа ILO, RSA, iDRAC, ThinkServer EasyManage, AMT, iMana - их необходимо отключить, и использовать, при необходимости, альтернативные решения типа IP KVM.

  7. Устранить известные уязвимости аппаратной платформы (процессоров, контроллеров, BIOS и пр.). Обычно выполняется обновлением BIOS и микропрограмм устройств или, до получения нейтрализующих обновлений, отключением опций, подверженных уязвимостям. См. эксплуатационную документацию на используемые компоненты аппаратной платформы. В процессе эксплуатации устранять уязвимости аппаратной платформы по мере их выявления.

  8. Установить ОС (обязательно с включенным защитным преобразованием диска),
    и по возможности обеспечить невозможность физического доступа к жесткому диску, на котором установлена ОС 

При установке ОС

  1. Создать отдельные дисковые разделы 

    РазделРекомендации по установке/настройке
    /С защитным преобразованием (при условии, что /boot размещен в отдельном дисковом разделе).
    Рекомендуется использовать файловую систему ext4.
    /bootБез защитного преобразования.
    Допускается использовать файловую систему ext2, ext3, ext4.
    /homeС защитным преобразованием.
    Рекомендуется использовать файловую систему ext4.
    Рекомендуется монтировать с опциями noexec,nodev,nosuid.
    /tmpС защитным преобразованием.
    Рекомендуется использовать файловую систему ext4.
    Рекомендуется монтировать с опциями noexec,nodev,nosuid.
    /var/tmpС защитным преобразованием.
    Рекомендуется использовать файловую систему ext4.
    Рекомендуется монтировать с опциями noexec,nodev,nosuid.
    swapОпционально. С защитным преобразованием.


    При выборе размера дисковых разделов следует помнить, что при размере раздела /tmp менее 250МБ весьма вероятно возникновение ошибок при работе с графикой или с большими объёмами данных.


  2. Разделы /home /tmp /var/tmp рекомендуется монтировать с опциями noexec,nodev,nosuid

  3. В разделе "Дополнительные настройки ОС" включить:
    1. Использовать по умолчанию ядро hardened. При невозможности использования ядра hardened использовать модуль lkrg ядра generic (см. Инструменты командной строки astra-safepolicy);
    2. Включить блокировку консоли;
    3. Включить блокировку интерпретаторов;
    4. Включить межсетевой экран ufw;
    5. Включить системные ограничения ulimits;
    6. Отключить возможность трассировки ptrace;
    7. Запретить установку бита исполнения;
    8. Включить использование sudo с паролем;

После установки ОС

  1. Установить единственным устройством для загрузки ОС жесткий диск, на который была произведена установка ОС;

  2. Установить "взломостойкий" пароль на загрузчик Grub. При использовании архитектур, отличных от Intel, установить пароль на загрузчик согласно документации;

  3. Использовать загрузку ядра HARDENED, и убрать из меню все другие варианты загрузки, включая режимы восстановления;

  4. Удалить модули ядра, ответственные за работу с Intel Management Engine (MEI). Инструкция по ссылке;

  5. Установить все доступные обновления безопасности ОС Astra Linux:

    Для Astra Linux Common Edition обновления более не выпускаются. Последнее обновление доступно по ссылке: https://dl.astralinux.ru/astra/frozen/2.12_x86-64/2.12.46/.

    После установки ОС сразу настроена на работу с репозиторием, и при наличии  доступа в интернет, обновление можно выполнить командами:

    sudo apt update && sudo apt upgrade
  6. Установить пакет управления функциями безопасности astra-safepolicy:

    sudo apt install astra-safepolicy

  7. Если каталог /boot расположен в отдельном дисковом разделе, то настроить монтирование этого раздела  с опциями  ro  (перед обновлением ядра такой раздел необходимо будут перемонтировать с опциями  rw );

  8. Включить режим загрузки secureboot на своих ключах (создать usb-flash носитель с помощью astra-secureboot, и, далее, ключи импортировать в BIOS) в соответствии с инструкцией;
  9. Отключить доступ к консоли пользователям, если он не был отключен при установке ОС. Если установлен пакет astra-safepolicy, то использовать команду:

    sudo astra-console-lock enable
    или использовать графическую конссоль fly-admin-smc.

    Для включения доступа к консоли администраторам необходимо добавить их в группу astra-console;

  10. Включить блокировку интерпретаторов, если она не была включена при установке ОС. Если установлен пакет astra-safepolicy, то использовать команду:

    sudo astra-interpreters-lock enable
    или использовать графическую конссоль fly-admin-smc;

  11. По возможности, включить блокировку макросов с помощью инструмента командной строки astra-macros-lock:

    astra-macros-lock enable

    или использовать графическую конссоль fly-admin-smc;

  12. Включить блокировку трассировки ptrace, если она не была включена при установке ОС:

    astra-ptrace-lock enable
    или использовать графическую конссоль fly-admin-smc;

  13. Включить, при наличии возможности, режим киоска для пользователя;

  14. Работу с конфиденциальной информацией нужно проводить, используя защитное преобразование файлов;

  15. Работу с конфиденциальной информацией в сети необходимо производить, используя защитное преобразование пакетов с помощью создания доверенной VPN сети (средства встроены в ОС);

  16. Работу с конфиденциальной информацией при обмене почтой необходимо производить, используя защитные GPG-преобразования писем с помощью плагина для Thunderbird Enigmail  (средства встроены в ОС);

  17. Установить "взломостойкие" пароли на все учетные записи в ОС.

    P.S.

    "Взломостойкий" пароль - это пароль

    • Содержащий не менее 8 символов;
    • Не содержащий в себе никаких осмысленных слов (ни в каких раскладках);
    • Содержащий в себе буквы в различных регистрах, цифры и спецсимволы.
  18. Убедиться, что модуль  pam_tally  настроен на блокировку учетных записей при попытках подбора паролей (настроено по умолчанию при установке ОС);

  19. Настроить дисковые квоты в ОС с помощью графической консоли fly-admin-smc;

  20. Включить ограничения ОС (так называемые ulimits), если они не были включены при установке ОС:

    sudo astra-ulimits-control enable
    или использовать графическую конссоль fly-admin-smc;

  21. Отключить все неиспользуемые сервисы (в т.ч. сетевые) которые запускаются при старте ОС:

    systemdgenie

  22. Включить межсетевой экран ufw, если он не был включен при установке ОС.
    Настроить iptables в минимально необходимой конфигурации, необходимой для работы: по умолчанию все запрещено, кроме необходимых исключений

    • iptables
    • ufw
    • gufw

  23. Настроить параметры ядра используя графический инструмент fly-admin-smc или добавить соответствующие строки в файл с любым именем и расширением .conf в каталоге /etc/sysctl.d:

    fs.suid_dumpable=0
    kernel.randomize_va_space=2
    kernel.sysrq=0
    net.ipv4.ip_forward=0
    net.ipv4.conf.all.send_redirects=0
    net.ipv4.conf.default.send_redirects=0

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

    sudo sysctl -a | more

  24. Заблокировать исполнение модулей python с расширенным функционалом:

    find /usr/lib/python* -type f -name "_ctype*" -exec sudo dpkg-statoverride --update --add root root 640 {} \;

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

  26. По возможности, запретить пользователям подключение сменных носителей, к которым может быть осуществлен любой несанкционированный доступ:

    sudo astra-mount-lock
    или использовать графическую конссоль fly-admin-smc;

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

  28. Установить и настроить службу fail2ban.

  29. Включить запрос пароля при выполнении команды sudo:

    sudo astra-sudo-control enable

    Дополнительно, для того, чтобы пароль не запоминался для выполнения последующих команд и запрашивался для каждой команды, в файл /etc/sudoers добавить строку

    Defaults timestamp_timeout=0

    Для снижения риска нарушения нормальной работы компьютера в результате ошибок при изменении файла /etc/sudoers редактирование этого файла следует выполнять с помощью команды:

    sudo visudo

    Для предотвращения невозможности выполнения команд из-за накопления записей о неудачных вызовах при использовании sudo с паролем рекомендуется добавить строку в файл /etc/pam.d/sudo:

    account required pam_tally.so
    Итоговое содержание файла /etc/pam.d/sudo:

    @include common-auth
    @include common-account
    @include common-session
    account required pam_tally.so

    См. также Запрос пароля для каждого вызова sudo