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

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

  1. Настроить BIOS (с целью предотвратить загрузку с внешнего носителя) 
  2. Установить единственным устройством для загрузки ОС - жесткий диск куда была произведена установка ОС.
  3. Установить "взломостойкий" пароль на BIOS ПК.
  4. Обеспечить защиту от "незаметного" вскрытия корпуса и встраивания "имплантов" в соединительные кабели периферийных устройств". Для обеспечения защиты могут использоваться специальные корпуса, защитные крышки, пломбы, пломбировочные ленты, для усложнения скрытной установки "имплантов" рекомендуется использование ПК в форм-факторе ноутбук или моноблок.
  5. При возможности - установить и настроить АПМДЗ на ПК.
  6. Обеспечить невозможность физического доступа к жесткому диску на котором установлена ОС, или  используйте доступные средства защитного преобразования всего содержимого диска.
  7. При наличии опций для процессоров Intel Execute Disable Bit (XD-Bit) и для процессоров AMD No Execute Bit (NX-Bit) включить их.
  8. При наличии на серверах "не доверенных" систем контроля и управления типа ILO,RSA,iDRAC,ThinkServer EasyManage,AMT,iMana - отключить их, и использовать при необходимости альтернативные решения типа IP KVM.
  9. Включить secureboot на платформах где это возможно согласно инструкции.
  10. Устранить известные уязвимости аппаратной платформы (процессоров, контроллеров, BIOS и пр.). Обычно выполняется обновлением BIOS и микропрограмм устройств или, до получения нейтрализующих обновлений, отключением опций, подверженных уязвимостям. См. эксплуатационную документацию на используемые компоненты аппаратной платформы. В процессе эксплуатации устранять уязвимости аппаратной платформы по мере их выявления.

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

  1. 5. При установке рекомендуется создать отдельные разделы / /boot /home /tmp /var/tmp.Раздел /boot рекомендуется монтировать с опциями ro (перед обновлением ядра смонтировать в rw). Разделы /home /tmp /var/tmp рекомендуется монтировать с опциями noexec,nodev,nosuid

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

  1. Настроить BIOS, исключив загрузку с внешнего носителя

  2. Установить все доступные оперативные обновления ОС Astra Linux:Оперативные обновления для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5)
  3. Настроить загрузчик на загрузку ядра GENERIC и убрать из меню все другие варианты загрузки, включая режимы восстановления.
  4. Установить "взломостойкий" пароль на загрузчик Grub (устанавливается по умолчанию при установке ОС).
  5. При использовании архитектур отличных от Intel установить пароль на загрузчик согласно документации.
  6. Установить "взломостойкий" пароли на всех учетных записях в ОС.
  7. Настроить pam_tally на блокировку учетных записей при попытках подбора паролей. (настроено по умолчанию при установке ОС)
  8. Настроить дисковые квоты в ОС.Для настройки дисковых квот:
    1. установить пакет quota;
    2. настроить /etc/fstab;
    3. использовать инструмент edquota для установки квот.
  9. Настроить ограничения ОС: ulimits.Рекомендуемые настройки (файл /etc/security/limits.conf):

    /etc/security/limits.conf
    #размер дампа ядра
    * hard core 0
    #максимальный размер создаваемого файла
    * hard fsize 50000000
    #блокировка форк-бомбы(большого количества процессов)
    * hard nproc 1000


  10. Отключить все неиспользуемые сервисы (в т.ч. сетевые) которые запускаются при старте ОС.Для поиска неиспользуемых сервисов можно применить команды chkconfig и fly-admin-runlevel

  11. Настроить iptables в минимально необходимой конфигурации необходимой для работы(по умолчанию все запрещено, кроме необходимых исключений). Команда: iptables ufw

  12. Настроить параметры ядра в /etc/sysctl.conf:

    1. Отключить механизм SysRq, для чего в файл /etc/sysctl.conf добавить строку

      /etc/sysctl.conf
      kernel.sysrq = 0

      Перезагрузить компьютер и убедиться, что установлено значение 0. Команда:

      cat /proc/sys/kernel/sysrq

    2. Установить дополнительные рекомендуемые параметры ядра:

      /etc/sysctl.conf
      fs.suid_dumpable=0
      kernel.randomize_va_space=2
      net.ipv4.ip_forward=0
      net.ipv4.conf.all.send_redirects=0
      net.ipv4.conf.default.send_redirects=0
  13. Заблокировать исполнение модулей python с расширенным функционалом:

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

  14. Заблокировать макросы в VLC:

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

  15. При возможности заблокировать макросы в Libreoffice

  16. Отключить доступ к консоли пользователям (Инструкция для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5), для очередного обновления 1.6 правила работают по умолчанию):

    1. Добавить группу astra-console выполнив команду:

      addgroup --gid 333 astra-console

    2. Создать файл /etc/rc.local со следующим содержимым:

      /etc/rc.local
      #!/bin/sh -e
      chown root:astra-console /dev/{pts,pts/*,ptmx,tty*}
      chmod g+rx /dev/{pts,pts/*,ptmx,tty*}
      chmod o-rx /dev/{pts,pts/*,ptmx,tty*}
      exit 0
      
    3. Добавить правило в файл /etc/security/access.conf командой:

      echo "-:ALL EXCEPT astra-console :LOCAL" >> /etc/security/access.conf

    4. Включить в /etc/pam.d/login обработку заданных правил командой:

      sed -i 's|.*account.*pam_access.*|account required pam_access.so|' /etc/pam.d/login

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

  17. Включить контроль цифровой подписи в ELF файлах и в xattr всех файлов (Режим Замкнутой Программной Среды, ЗПС).

    1. Для включения цифровой подписи сгенерировать ключи и подписать цифровой подписью в xattr все основные файлы и каталоги в корневой файловой системе. Рекомендуемые каталоги для подписи: /etc /lib /lib64 /lib32 /bin /sbin /boot /root /opt /srv /usr

    2. Для включения механизма контроля подписи в ELF установить в файле /etc/digsig/digsig_initramfs.conf:

      /etc/digsig/digsig_initramfs.conf
      DIGSIG_ENFORCE=1
      DIGSIG_LOAD_KEYS=1
    3. Выполнить команду:

      update-initramfs -u -k all

    4. Перезагрузить компьютер.

    5. Для включения механизма контроля подписи в xattr см. РУК КСЗ п.13.5.2

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

  19. При возможности настроить двухуровневый киоск для пользователя. См. РУК КСЗ п.15. Как минимум, настроить высокоуровневый киоск для пользователя с помощью утилиты fly-kiosk.см. РУК КСЗ п.15.6

  20. При возможности запретить пользователям подключение сменных носителей.

  21. Установить запрет установки исполняемого бита:

    echo 1 > /parsecfs/nochmodx
    echo 1 > /etc/parsec/nochmodx
    см. РУК КСЗ п.16

  22. Настроить систему аудита на сохранение журналов на удаленной машине.Если возможно, то использовать систему централизованного протоколирования ossec, см. РУК АДМИН п.15

  23. Установить МКЦ > 0 на всеx основных файлах и каталогах в корневой файловой системе. (set-fs-ilev) (при установленных оперативных обновлениях, выпущенных позже 27-10-2017).
    Установку МКЦ проводить после всех настроек безопасности, так как дальнейшее администрирование будет возможно только после входа под высоким уровнем целостности или после снятия МКЦ с файловой системы командой unset-fs-ilev.
    Установка МКЦ на 1.5 апдейт 27-10-2017: см. Astra Linux Special Edition 1.5 ⬝ Мандатный контроль целостности.

  24. Включить запрос пароля при каждом выполнении команды sudo, для чего внести следующие изменения в файл /etc/sudoers:

  1. Для того, чтобы для выполнения первой команды sudo требовалось ввести пароль:
    удалить "NOPASSWD:" из строки:

    %astra-admin ALL=(ALL:ALL) NOPASSWD: ALL
  2. Для того, чтобы пароль не запоминался для выполнения последующих команд и запрашивался для каждой команды добавить строку:

    Defaults timestamp_timeout=0