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

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

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

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

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

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

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

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

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

Ресурсная оценка

Качественная оценка

Количественная оценка

Итоговая оценка

Стоимость

Трудозатраты

Сложность

Стоимость, тыс. руб

Трудозатраты, дней/ год

CAPEX

?
Неизвестно
Неизвестно
Неизвестно
Неизвестно
Неизвестно
Отсутствует

OPEX

?
Неизвестно
Неизвестно
Неизвестно
Неизвестно
Неизвестно

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

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

Заметки

1
2 года назад
Пример инструкции

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

Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.