Куда я попал?
Вы попали в сервис, который помогает корпоративным службам безопасности строить свои рабочие процессы: управление рисками, контроль соответствия требованиям, учет активов, планирование и сопровождение защитных мер на всем их жизненном цикле, распределение задач и т.д.
Еще 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. 
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 Разработка политики управления конфигурацией информационной (автоматизированной) системы
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

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

Требования по защите информации к конфигурации 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