Куда я попал?
SECURITM это система для корпоративных служб информационной безопасности, которая автоматизирует ключевые процессы управления: контроль соответствия требованиям, управление рисками, учет активов, планирование работ, задачи, технические уязвимости, опросы и т.д.
SECURITM помогает построить и управлять ИСПДн, КИИ, ГИС, СМИБ/СУИБ, банковскими системами защиты.
А еще SECURITM это место для обмена опытом в рамках сообщества служб безопасности.
 

Настройка безопасной конфигурации для серверов ОС Linux

Цель: сокращение поверхности атаки.
Часть общего процесса управления безопасностью конфигураций (Hardening).

Общий алгоритм:
  1. Определить, задокументировать требования к безопасности конфигурации.
  2. Применить безопасную конфигурацию на существующих хостах.
  3. Применять безопасную конфигурацию на новых хостах в рамках процесса их ввода в эксплуатацию.
  4. Регулярно проверять конфигурацию хостов на соответствие установленным требованиям.
Источником для формирования требований к безопасности конфигурации служат:
Документирование требований осуществляется в зависимости от принятых подходов в организации.
Вариант реализации: описать требования в карточке защитной меры. Пример документа

Отклонения от выбранной конфигурации документируются вместе с обоснованием и применяемыми компенсирующими мерами.
Вариант реализации: вести учет отклонений в заметках к карточкам активов (хостов) либо защитной мере.

Минимальные требования к безопасной конфигурации:
  • Изменить пароли по умолчанию.
  • Настроить SSH 
  • Настроить сложность паролей
  • Настроить смену (жизненный цикл) паролей 
  • Настроить политику аутентификации
  • Отключить или удалить ненужные учетные записи пользователей
  • Отключить или ограничить ненужные службы, порты и протоколы
  • Удалить ненужное программное обеспечение
  • При необходимости ограничить физические порты
  • Настроить баннеры при входе
В зависимости от выстроенной в компании инфраструктуры к требованиям безопасности конфигурации могут быть отнесены:
  • Подключение хоста к корпоративной системе мониторинга
  • Настройка передачи логов на централизованный сервер (nxlog, SEM / SIEM) 
  • Конфигурация NTP и часового пояса
Настройка может осуществляться вручную, скриптами или с использованием централизованных систем управления конфигурацией (например, Ansible).

Контроль конфигурации может осуществляться скриптами, системами контроля конфигураций, сканерами уязвимостей с соответствующим модулем контроля конфигураций.

Показателем эффективности процесса может являться: 
- общий процент соответствия требованиям (суммарно по всем хостам), 
- процент хостов, соответствующих требованиям.

Рекомендации к заполнению карточки:
  • Каждый из этапов процесса (определение требований, первичная настройка, ввод в эксплуатацию новых хостов, контроль соответствия) может быть описан отдельной защитной мерой.
  • Описать принятый в компании перечень требований к безопасности конфигурации.
  • Если для приведения в соответствие и/или контроля конфигураций используется ПО - зарегистрировать его в реестре активов и привязать к мере как инструмент
  • Если ведется учет (реестр) скриптов - привязать использующиеся скрипты как инструмент 
  • Добавить шаблон регулярной задачи по проверке конфигураций.
  • Добавить шаблон регулярной задачи на пересмотр/актуализацию набора требований безопасности
Классификация
Тип
Техническая ? Технические (логические) меры Технологические решения, реализуемые для снижения вероятности реализации рисков безопасности.
Превентивная ? Превентивные меры Направлены на предотвращение совершения злонамеренных действий, блокируя или останавливая кого-либо, или что-либо.
Реализация
Вручную
Периодичность
Разово
Ответственный
Не определено
Инструменты
Не определено

Исполнение требований

CIS Critical Security Controls v8 (The 18 CIS CSC):
16.7
16.7 Use Standard Hardening Configuration Templates for Application Infrastructure
Use standard, industry-recommended hardening configuration templates for application infrastructure components. This includes underlying servers, databases, and web servers, and applies to cloud containers, Platform as a Service (PaaS) components, and SaaS components. Do not allow in-house developed software to weaken configuration hardening. 
Положение Банка России № 787-П от 12.01.2022 "Обязательные для кредитных организаций требованиях к операционной надежности при осуществлении банковской деятельности в целях обеспечения непрерывности оказания банковских услуг":
п. 6. п.п. 2
6.2. Кредитные организации должны обеспечивать выполнение следующих требований к управлению изменениями критичной архитектуры:
  • управление уязвимостями в критичной архитектуре, из-за которых могут реализоваться информационные угрозы и которые могут повлечь превышение значений целевых показателей операционной надежности;
  • планирование и внедрение изменений в критичной архитектуре, направленных на обеспечение недопустимости неоказания или ненадлежащего оказания банковских услуг;
  • управление конфигурациями (настраиваемыми параметрами) объектов информационной инфраструктуры;
  • управление уязвимостями и обновлениями (исправлениями) объектов информационной инфраструктуры.
NIST Cybersecurity Framework (RU):
PR.IP-1
PR.IP-1: С учетом соответствующих принципов безопасности (например, концепция минимальной функциональности) создается и поддерживается базовая конфигурация информационных технологий / промышленных систем управления 
ГОСТ Р № ИСО/МЭК 27001-2021 от 01.01.2022 "Информационная технология. Методы и средства обеспечения безопасности. Системы менеджмента информационной безопасности. Требования - Приложение А":
A.14.1.1
A.14.1.1 Анализ и спецификация требований информационной безопасности 
Мера обеспечения информационной безопасности: Требования, относящиеся к информационной безопасности, должны быть включены в перечень требований для новых информационных систем или для усовершенствования существующих информационных систем 
SWIFT Customer Security Controls Framework v2022:
2 - 2.3 System Hardening
2.3 System Hardening
Приказ ФСТЭК России № 31 от 14.03.2014 "Состав мер защиты информации и их базовые наборы для соответствующего класса защищенности автоматизированной системы управления":
УКФ.0 УКФ.0 Разработка политики управления конфигурацией информационной (автоматизированной) системы
Положение Банка России № 779-П от 15.11.2021 "Обязательные для некредитных финансовых организаций требований к операционной надежности при осуществлении видов деятельности, предусмотренных частью первой статьи 76.1 Федерального закона от 10 июля 2002 года N 86-ФЗ "О Центральном банке"":
п. 2.1.
2.1. Оператор информационной системы, в которой осуществляется выпуск цифровых финансовых активов, оператор обмена цифровых финансовых активов в целях обеспечения операционной надежности в дополнение к установленным пунктами 1.1 - 1.15 настоящего Положения требованиям к операционной надежности, в рамках выпуска и обращения цифровых финансовых активов должны обеспечивать выполнение следующих мероприятий:
  • обеспечение безопасности программной среды исполнения сделки, указанной в части 2 статьи 4 Федерального закона от 31 июля 2020 года N 259-ФЗ "О цифровых финансовых активах, цифровой валюте и о внесении изменений в отдельные законодательные акты Российской Федерации" (Собрание законодательства Российской Федерации, 2020, N 31, ст. 5018), в том числе настройки программной среды исполнения указанной сделки, обеспечивающей функциональность программной среды в условиях сбоев при обработке данных, установление ограничений на доступ к системным ресурсам, оперативной памяти и файловой системе для программной среды исполнения указанной сделки;
  • применение механизмов, реализующих обработку информационных угроз, связанных с недоступностью функций компонентов информационной системы, в которой осуществляется выпуск цифровых финансовых активов, а также недоступностью функций удостоверяющего центра, указанного в статье 13 Федерального закона от 6 апреля 2011 года N 63-ФЗ "Об электронной подписи" (Собрание законодательства Российской Федерации, 2011, N 15, ст. 2036; 2020, N 26, ст. 3997), и (или) функций иных информационных систем, взаимодействующих с информационной системой, в которой осуществляется выпуск цифровых финансовых активов.
п. 1.5.
1.5. Некредитные финансовые организации, обязанные соблюдать усиленный, стандартный или минимальный уровень защиты информации, в рамках обеспечения операционной надежности должны обеспечивать выполнение следующих требований в отношении управления изменениями критичной архитектуры:
  • управление уязвимостями в критичной архитектуре, с использованием которых могут реализоваться информационные угрозы и которые могут повлечь отклонение от значений целевых показателей операционной надежности, указанных в пункте 1.3 настоящего Положения;
  • планирование и внедрение изменений в критичной архитектуре, направленных на обеспечение непрерывного оказания финансовых услуг;
  • управление конфигурациями объектов информационной инфраструктуры некредитных финансовых организаций;
  • управление уязвимостями и обновлениями (исправлениями) объектов информационной инфраструктуры некредитных финансовых организаций.
NIST Cybersecurity Framework (EN):
PR.IP-1 PR.IP-1: A baseline configuration of information technology/industrial control systems is created and maintained incorporating security principles (e.g. concept of least functionality)
Приказ ФСТЭК России № 239 от 25.12.2017 "Состав мер по обеспечению безопасности для значимого объекта соответствующей категории значимости":
УКФ.0 УКФ.0 Регламентация правил и процедур управления конфигурацией информационной (автоматизированной) системы

Связанные риски

Риск Угроза Уязвимость Тип актива Связи
Раскрытие ключей (паролей) доступа из-за возможности поиска учетных данных в истории Bash в ОС Linux
Конфиденциальность Повышение привилегий Раскрытие информации Подмена пользователя
Раскрытие ключей (паролей) доступа
Конфиденциальность Повышение привилегий Раскрытие информации Подмена пользователя
Возможность поиска учетных данных в истории Bash ОС Linux 1
Закрепление злоумышленника в ОС из-за создания или изменение системного процесса: служба Systemd в ОС Linux
Повышение привилегий НСД
Закрепление злоумышленника в ОС
Повышение привилегий НСД
Создание или изменение системного процесса: служба Systemd ОС Linux 1
Повышение привилегий в ОС из-за создания или изменение системного процесса: служба Systemd в ОС Linux
Повышение привилегий Целостность
Повышение привилегий в ОС
Повышение привилегий Целостность
Создание или изменение системного процесса: служба Systemd ОС Linux 1
Закрепление злоумышленника в ОС из-за создания или изменение задачи в Cron в ОС Linux
Повышение привилегий НСД
Закрепление злоумышленника в ОС
Повышение привилегий НСД
Создание или изменение задачи в Cron ОС Linux 1
Закрепление злоумышленника в ОС из-за создания или изменение задачи утилитой AT в ОС Linux
Повышение привилегий НСД
Закрепление злоумышленника в ОС
Повышение привилегий НСД
Создание или изменение задачи утилитой AT ОС Linux 1
Повышение привилегий в ОС из-за создания или изменение задачи утилитой AT в ОС Linux
Повышение привилегий Целостность
Повышение привилегий в ОС
Повышение привилегий Целостность
Создание или изменение задачи утилитой AT ОС Linux 1
Заражение вредоносным программным обеспечением из-за создания или изменение задачи утилитой AT в ОС Linux
Доступность Конфиденциальность Отказ в обслуживании Повышение привилегий Раскрытие информации Целостность Искажение
Заражение вредоносным программным обеспечением
Доступность Конфиденциальность Отказ в обслуживании Повышение привилегий Раскрытие информации Целостность Искажение
Создание или изменение задачи утилитой AT ОС Linux 1
Закрепление злоумышленника в ОС из-за создания или изменение задачи таймера Systemd в ОС Linux
Повышение привилегий НСД
Закрепление злоумышленника в ОС
Повышение привилегий НСД
Создание или изменение задачи таймера Systemd ОС Linux 1
Повышение привилегий в ОС из-за создания или изменение задачи таймера Systemd в ОС Linux
Повышение привилегий Целостность
Повышение привилегий в ОС
Повышение привилегий Целостность
Создание или изменение задачи таймера Systemd ОС Linux 1
Обход систем защиты из-за возможности использования Rootkit в ОС Linux
Повышение привилегий Целостность
Обход систем защиты
Повышение привилегий Целостность
Возможность использования Rootkit ОС Linux 1

Комментарии 1

6 месяцев назад
Пример инструкции

Требования по защите информации к конфигурации Linux Ubuntu

Предлагаемые настройки из блока «Конфигурация» не следует просто вставлять в конец файла – как правило, большинство представленных настроек уже присутствует в конфигурационных файлах и следует изменить их значение. Представленные конфигурации не являются полными, а отражают эталонные значения изменяемых настроек.
Текст, помеченный курсивом, не следует вносить в конфигурацию – такой текст является пояснением\комментарием.
Рекомендуется предварительно применить данную конфигурацию на тестовом стенде.
При возникновении ошибок, затруднений или сбоев в работе сообщить на infosec@mycorp.local .

Мониторинг

Требование
Сервер должен быть подключен к корпоративной системе мониторинга Zabbix

Конфигурация
Создать учетную запись securityUser
Передать учетную запись в службу безопасности или настроить мониторинг на сервере Zabbix самостоятельно.

Логирование событий

Требование
Как минимум, следующие события подлежат логированию:
  • События об авторизации пользователей, включая удачные и неудачные попытки входа в систему, а также задействованные механизмы аутентификации;
  • События о выполненных от имени привилегированных пользователей командах;
  • События об установке\удалении ПО.

Конфигурация
Добавить в базовую конфигурацию RSYSLOG список отправляемых логов:

/etc/rsyslog.d/50-default.conf:
*.*,auth,authpriv.*,mail.*                  @192.168.0.1:514;SecurityTemplate           // сервер syslog c nxlog
 
Добавить настройку шаблона в конфигурацию:

/etc/rsyslog.conf:
$template SecurityTemplate,"%$year%-%$month%-%$day% %timegenerated:12:19:date-rfc3339% %HOSTNAME% #LINUX#%syslogtag% %msg%\n"
$ActionFileDefaultTemplate SecurityTemplate

Примечание
В файле /etc/Rsyslog.conf, как правило, уже присутствует описание шаблона по умолчанию и директива$ActionFileDefaultTemplate – текущее описание шаблона рекомендуется закомментировать, директиву $ActionFileDefaultTemplate изменить в соответствии с добавленным шаблоном SecurityTemplate.
В зависимости от назначения актива рекомендуется расширить перечень логируемых событий.
Допускается использование других утилит логирования (например, syslog-ng) с аналогичной конфигурацией.

Настройка SSH 

Требование
Должен быть включен протокол SSH версии 2
Настройки SSH сервера должны соответствовать приведенным рекомендациям.

Конфигурация
/etc/ssh/sshd_config:
Protocol 2
RhostsRSAAuthentication no
IgnoreRhosts yes
ClientAliveInterval 900
ClientAliveCountMax 0
HostbasedAuthentication no
PermitRootLogin no
PermitEmptyPasswords no
Banner /etc/issue.net     <--- текст баннера
PermitUserEnvironment no
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
LogLevel INFO
MACs hmac-sha2-512,hmac-sha2-256 
LoginGraceTime 120
ChallengeResponseAuthentication yes
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem        sftp        /usr/lib/openssh/sftp-server
 

Сложность паролей

Требование
Сложность паролей:
Длина – не менее 12 символов;
Строчные символы – не менее 1;
Заглавные символы – не менее 1;
Цифры – не менее 1;
Другие символы – не менее 1;
Запрет использования ранее использованных паролей – 5.

Конфигурация
Для возможности запоминания ранее используемых паролей необходим файл /etc/security/opasswd. Если такого файла нет, следует выполнить следующие команды:
touch /etc/security/opasswd
chown root:root /etc/security/opasswd
chmod 600 /etc/security/opasswd
 
Требуется установить cracklib (libpam-cracklib)
Sudo apt install libpam-cracklib

Изменить конфигурационный файл
/etc/pam.d/common-password:
password        requisite                       pam_cracklib.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 remember=5
password        requisite                       pam_deny.so
password        required                        pam_permit.so
password        optional        pam_gnome_keyring.so
 

Жизненный цикл паролей 

Требование
Пароли должны меняться раз в 90 дней

Конфигурация
В файле /etc/login.defs необходимо изменить значения следующих опций:
PASS_MAX_DAYS   90                     <--- Максимальное время жизни пароля
PASS_WARN_AGE   7                      <--- За сколько дней предупреждать об истечении пароля
ENCRYPT_METHOD SHA512                  <--- Метод шифрования

Примечание
Данная конфигурация распространяется только на учетные записи, создаваемые после ее применения. Изменение для уже существующих учетных записей:
chage -m 0 -M 90 -W 7 username

Данное требование не распространяется на служебные учетные записи (например, для систем мониторинга).

Политика аутентификации 

Требование
Допускается 3 попытки ввода пароля, после 3-х подряд неудачных попыток ввода доступ блокируется на 30 секунд.

Конфигурация
/etc/pam.d/common-auth:
auth    required        pam_tally2.so   onerr=fail      deny=3  unlock_time=30
auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so
auth    optional                        pam_cap.so
 
/etc/pam.d/common-account:
account required                        pam_tally2.so
account [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so
account requisite                       pam_deny.so
account required                        pam_permit.so

Учетные записи

Требования
Все неиспользуемые учетные записи заблокированы;
Настройки жизненного цикла паролей соответствуют установленным.

Конфигурация
Проверить файлы /etc/passwd, /etc/shadow на соответствие требованиям.
У заблокированных учетных записей вместо поля pass_hash должно быть установлено ! или *

Конфигурация NTP и часового пояса

Требования
Все сервера локальной сети синхронизируются с локальным сервером NTP;

Конфигурация
/etc/ntp.conf:
driftfile /var/lib/ntp/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 192.168.0.1 
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
restrict 127.0.0.1
restrict ::1
restrict source notrap nomodify noquery

Настройка баннера

Требование
Должен быть включен и настроен баннер входа.

Конфигурация
Banner (/etc/issue, /etc/issue.net):
Unauthorized access to this system is forbidden and will be prosecuted by law. By accessing this system, you agree that your actions may be monitored, that you work in MyCORP company and have lawful permissions to access. If you access to this server by mistake, please write to infosec@mycorp.local