Профили безопасности
1. Рекомендации по настройке безопасности
Этот раздел содержит описание и способы закрытия уязвимостей zVirt Node.
1.1. Доступ, аутентификация и авторизация
1.1.1. Обеспечить включение параметра SSH IgnoreRhosts
Описание
Установка данного параметра сделает обязательным ввод пароля во время аутентификации по протоколу SSH.
1.1.2. Обеспечить использование только одобренных шифров
Описание
На основе исследования, проведенного различными организациями, было определено, что в симметричной части транспортного протокола SSH содержатся уязвимости, которые позволяют восстановить до 32 битов открытого текста из блока данных, зашифрованных методом Cipher Block Chaining (CBD). На основе результатов этого исследования были разработаны новые алгоритмы, использующие метод Counter. Эти алгоритмы не подвержены указанным атакам, поэтому такие алгоритмы следует применять (при стандартном использовании).
Проверка
Выполните следующую команду и убедитесь, что в выводе не содержится каких-либо алгоритмов Cipher Block Chaining (-cbc):
grep "Ciphers" /etc/ssh/sshd_config
Ciphers aes256-ctr,aes192-ctr,aes128-ctr,aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com
Исправление
Отредактируйте файл /etc/ssh/sshd_config, оставив в нем только алгоритмы на основе метода Counter. Например:
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
|
В некоторых организациях требования к разрешенным шифрам могут быть строже. Следует убедиться, что используемые шифры соответствуют политике организации. |
1.1.3. Обеспечить настройку SSH LogLevel на INFO
Описание
Параметр LogLevel определяет, будут ли регистрироваться события входа и выхода из системы.
SSH обладает несколькими уровнями журналирования c различной степенью детализации. Уровень DEBUG особенно не рекомендуется, кроме как для отладки обмена данными по SSH, поскольку при такой настройке предоставляется слишком много данных, среди которых трудно вычленить важную информацию, касающуюся безопасности. Уровень INFO — базовый уровень, на котором записываются только попытки входа и выхода пользователей SSH из системы. Во многих ситуациях, например при реагировании на инциденты, важно определить время, когда определенный пользователь был активен в системе. Запись событий выхода из системы может исключить из списка возможных нарушителей тех пользователей, которые не были подключены к системе, что позволит сузить круг подозреваемых.
1.1.4. Обеспечить настройку безопасных разрешений на доступ к каталогу /etc/cron.d
Описание
Доступ к этому каталогу с правами на запись может позволить непривилегированным пользователям несанкционированно повысить свои привилегии. Предоставление доступа к этому каталогу с павами на чтение может указать непривилегированным пользователям способы повысить свои привилегии или обойти механизмы аудита.
Каталог /etc/cron.d содержит системные задания cron, запускаемые так же, как ежечасные, ежедневные, еженедельные и ежемесячные аналоги из /etc/crontab, но требующие более детального контроля времени запуска. Действия над файлами в данном каталоге нельзя производить при помощи команды crontab. Файлы редактируются системными администраторами с помощью текстового редактора. Следует ограничить доступ на чтение, запись и поиск для всех, кроме суперпользователя.
1.1.5. Обеспечить настройку безопасных разрешений на доступ к каталогу /etc/cron.daily
Описание
Доступ к этому каталогу с правами на запись может позволить непривилегированным пользователям несанкционированно повысить свои привилегии. Предоставление доступа к этому каталогу с павами на чтение может указать непривилегированным пользователям способы повысить свои привилегии или обойти механизмы аудита.
Каталог /etc/cron.daily содержит системные задания cron, запускаемые ежедневно. Действия над файлами в данном каталоге нельзя производить при помощи команды crontab. Файлы редактируются системными администраторами с помощью текстового редактора. Следует ограничить доступ на чтение, запись и поиск для всех, кроме суперпользователя.
1.1.6. Обеспечить настройку безопасных разрешений на доступ к каталогу /etc/cron.hourly
Описание
Доступ к этому каталогу с правами на запись может позволить непривилегированным пользователям несанкционированно повысить свои привилегии. Предоставление доступа к этому каталогу с правами на чтение может указать непривилегированным пользователям способы повысить свои привилегии или обойти механизмы аудита.
Данный каталог содержит системные задания cron, запускаемые ежечасно. Действия над файлами в данном каталоге нельзя производить при помощи команды crontab. Файлы редактируются системными администраторами с помощью текстового редактора. Следует ограничить доступ на чтение, запись и поиск для всех, кроме суперпользователя.
1.1.7. Обеспечить настройку безопасных разрешений на доступ к каталогу /etc/cron.monthly
Описание
Доступ к этому каталогу с правами на запись может позволить непривилегированным пользователям несанкционированно повысить свои привилегии. Предоставление доступа к этому каталогу с правами на чтение может указать непривилегированным пользователям способы повысить свои привилегии или обойти механизмы аудита.
Каталог /etc/cron.monthly содержит системные задания cron, запускаемые ежемесячно. Действия над файлами в этом каталоге нельзя производить при помощи команды crontab. Файлы редактируются системными администраторами с помощью текстового редактора. Следует ограничить доступ на чтение, запись и поиск для всех, кроме суперпользователя.
1.1.8. Обеспечить настройку безопасных разрешений на доступ к каталогу /etc/cron.weekly
Описание
Доступ к этому каталогу с правами на запись может позволить непривилегированным пользователям несанкционированно повысить свои привилегии. Предоставление доступа к этому каталогу с правами на чтение может указать непривилегированным пользователям способы повысить свои привилегии или обойти механизмы аудита.
Каталог /etc/cron.weekly содержит системные задания cron, запускаемые еженедельно. Действия над файлами в данном каталоге нельзя производить при помощи команды crontab. Файлы редактируются системными администраторами с помощью текстового редактора. Следует ограничить доступ на чтение, запись и поиск для всех, кроме суперпользователя.
1.1.9. Обеспечить настройку безопасных разрешений на доступ к файлу /etc/crontab
Описание
Файл /etc/crontab используется демоном cron для управления своими заданиями. Следует удостовериться, что пользователь и группа root являются владельцами указанного файла и что доступ к файлу разрешен только владельцу.
Файл содержит информацию о том, какие системные задания запускаются с помощью cron. Доступ к указанному файлу с правами на запись может позволить непривилегированным пользователям повысить свои привилегии, в то время как доступ на чтение предоставит им информацию о системных заданиях, запускаемых в системе, что может способствовать получению ими несанкционированного привилегированного доступа.
1.1.10. Обеспечить настройку блокировки неактивных учетных записей через 30 дней или менее
Описание
Неактивные учетные записи представляют собой угрозу безопасности системы, так как для обнаружения неудачных попыток входа или прочих отклонений необходим вход пользователей в систему.
Учетные записи пользователей, которые не были активны в течение заданного периода времени, могут быть автоматически отключены. Следует блокировать неактивные учетные записи через 30 дней после истечения срока действия пароля.
Проверка
-
Выполните следующую команду и убедитесь, что для параметра INACTIVE установлено значение 30 или менее:
useradd -D | grep INACTIVE INACTIVE=30 -
Убедитесь, что для всех пользователей с паролем в поле Password inactive указано не более 30 дней с момента истечения срока действия пароля:
egrep ^[^:]+:[^\!*] /etc/shadow | cut -d: -f1 <userlist> (1) chage --list <user> Password inactive: <date> (2)1 Список пользователей с установленными паролями 2 Содержит дату блокировки неактивного пользователя. Должна быть не более 30 дней с момента истечения срока действия пароля
|
Данная конфигурация не применима для следующих пользователей:
|
1.1.11. Обеспечить настройку для стандартного атрибута umask значения 027 или более строгого
Описание
Безопасное значение по умолчанию для umask гарантирует, что пользователи сделали осознанный выбор относительно разрешений для своих файлов. Если для umask установлено стандартное значение 077, то файлы и каталоги доступны для чтения только создателю. Значение umask 027 позволяет давать доступ на чтение файлов и каталогов для пользователей своей Unix-группы, значение umask 022 — для всех пользователей системы.
1.1.12. Обеспечить настройку параметра SSH LoginGraceTime на одну минуту или менее
Описание
Настройка небольшого значения для параметра LoginGraceTime минимизирует риск успешной атаки подбора паролей на сервер SSH, а также ограничивает число одновременных не прошедших аутентификацию соединений. Хотя рекомендуемая настройка — 60 секунд (1 минута), параметр следует настраивать на основе политики организации.
1.1.13. Обеспечить настройку предупреждающего баннера SSH
Описание
Параметр Banner определяет файл, чье содержимое должно быть отправлено удаленному пользователю перед получением разрешения на аутентификацию. По умолчанию баннер не отображается.
Баннеры используются для предупреждения подключающихся пользователей об определенной политике подключения. Демонстрация предупреждающего сообщения перед входом обычного пользователя в систему может в дальнейшем способствовать преследованию нарушителей, вторгшихся в компьютерную систему.
1.1.14. Обеспечить настройку времени приостановки неактивной сессии SSH
Описание
Отсутствие значения для времени приостановки соединения может позволить одному пользователю получить доступ к SSH-сессии другого пользователя (например, если пользователь отойдет от компьютера, не заблокировав экран). Настройка времени приостановки неактивной сессии как минимум уменьшает риск подобного нарушения.
Таймаут SSH-сессий управляется двумя параметрами: ClientAliveInterval и ClientAliveCountMax. При настроенном параметре ClientAliveInterval SSH-сессии, которые были неактивными в течение определенного времени, прерываются. При настроенном параметре ClientAliveCountMax служба sshd будет отправлять сообщения об активном состоянии пользователя каждый промежуток времени, заданный с помощью ClientAliveInterval. Когда установленное количество последовательных сообщений об активности клиента остаются без ответа от клиента, SSH-сессия прерывается. Например, если ClientAliveInterval настроен на 15 секунд, а ClientAliveCountMax — на 3, клиентская SSH-сессия будет прерываться после 45 секунд бездействия пользователя.
Хотя рекомендуемое значение ClientAliveInterval — 300 секунд (5 минут), следует настроить параметр согласно политике организации. Рекомендуемое значение для параметра ClientAliveCountMax — 0. При настройке рекомендуемого значения клиентская сессия будет прерываться после 5 минут бездействия и сообщения keepalive не будут отправляться.
Проверка
Выполните следующие команды и убедитесь, что для параметра ClientAliveInterval установлено значение 300 или менее, а для ClientAliveCountMax — 3 или менее:
grep "^ClientAliveInterval" /etc/ssh/sshd_config
ClientAliveInterval 300 (1)
grep "^ClientAliveCountMax" /etc/ssh/sshd_config
ClientAliveCountMax 0 (1)
| 1 | Ожидаемый вывод |
1.1.15. Обеспечить ограничение доступа к команде su
Описание
Ограничение доступа к команде su и использование вместо нее sudo позволяет более эффективно контролировать повышение пользовательских привилегий для исполнения привилегированных команд. Утилита sudo также предоставляет более совершенные механизмы журналирования и аудита, поскольку она способна регистрировать все команды, выполненные с помощью sudo, в то время как su фиксирует только сам факт использования программы пользователем.
Команда su позволяет пользователю запускать команду либо оболочку от имени другого пользователя. На замену ей была разработана программа sudo, которая обладает более детализированной системой контроля привилегированного доступа. Обычно команду su может запустить любой пользователь. Снятие комментария со строки pam_wheel.so в /etc/pam.d/su позволит ограничить использование su исключительно пользователями группы wheel.
Проверка
-
Выполните указанную ниже команду и убедитесь, что в выводе присутствует соответствующая строка:
grep pam_wheel.so /etc/pam.d/su auth required pam_wheel.so use_uid (1)1 Ожидаемый вывод -
Выполните следующую команду, чтобы убедиться, что состав пользователей в группе wheel соответствует политике организации:
grep wheel /etc/group wheel:x:10:<userlist> (1)1 В выводе корректный список пользователей, входящих в группу wheel
1.1.16. Обеспечить ограничение доступа по протоколу SSH
Описание
Ограничение пользовательского доступа по SSH поможет предотвратить несанкционированный доступ к системе.
Ограничить доступ к системе по SSH для пользователей и групп можно с помощью нескольких параметров. Следует воспользоваться хотя бы одним из них:
- AllowUsers
-
Переменная
AllowUsersпозволяет системному администратору предоставлять доступ к системе по SSH определенным пользователям. Список формируется из имен пользователей, разделенных запятыми. Для этой переменной цифровые пользовательские идентификаторы не применяются. Если требуется сделать ограничение более строгим, позволив разрешенным пользователям входить в систему с определенного узла, то запись следует добавлять в формате "пользователь@узел". - AllowGroups
-
Переменная
AllowGroupsпозволяет системному администратору предоставлять доступ к системе по SSH определенным группам пользователей. Список формируется из имен групп, разделенных запятыми. Для этой переменной цифровые идентификаторы групп не применяются. - DenyUsers
-
Переменная
DenyUsersпозволяет системному администратору запрещать доступ к системе по SSH определенным пользователям. Список формируется из имен пользователей, разделенных запятыми. Для этой переменной цифровые пользовательские идентификаторы не применяются. Если требуется сделать ограничение более строгим, запретив пользователям входить в систему с определенного узла, то запись следует добавлять в формате "пользователь@узел". - DenyGroups
-
Переменная
DenyGroupsпозволяет системному администратору запрещать доступ к системе по SSH определенным группам пользователей. Список формируется из имен групп, разделенных запятыми. Для этой переменной цифровые идентификаторы групп не применяются.
Проверка
Выполните следующие команды и убедитесь, что как минимум одна из них имеет указанный вывод:
sshd -T | grep allowusers
AllowUsers <userlist> (1)
sshd -T | grep allowgroups
AllowGroups <grouplist> (1)
sshd -T | grep denyusers
DenyUsers <userlist> (1)
sshd -T | grep denygroups
DenyGroups <grouplist> (1)
| 1 | Ожидается наличие хотя бы одного параметра с указанием списка соответствующих пользователей или групп |
1.1.17. Обеспечить отключение параметра SSH HostbasedAuthentication
Описание
Хотя файлы .rhosts являются нерабочими при отключении их поддержки в /etc/pam.conf, запрет на их использование в SSH обеспечит дополнительный уровень защиты.
Параметр HostbasedAuthentication определяет, разрешена ли аутентификация с использованием доверенных узлов через пользователя .rhosts или /etc/hosts.equiv наряду с успешной аутентификацией клиентского узла по открытому ключу. Параметр применим только к протоколу SSH версии 2.
1.1.18. Обеспечить отключение параметра SSH PermitEmptyPasswords
Описание
Параметр PermitEmptyPasswords определяет, разрешает ли сервер SSH вход в систему учетным записям с пустыми паролями.
Запрет доступа к удаленной оболочке для учетных записей с пустыми паролями снижает риск получения злоумышленниками неавторизованного доступа к системе.
1.1.19. Обеспечить отключение параметра SSH PermitUserEnvironment
Описание
Параметр PermitUserEnvironment позволяет пользователям предоставлять переменные окружения демону SSH.
Разрешение устанавливать переменные окружения с помощью демона SSH может потенциально позволить пользователям обойти механизмы безопасности (например, настроить путь выполнения таким образом, что с помощью SSH будут выполняться троянские программы).
1.1.20. Обеспечить отключение перенаправления пакетов X11 по SSH
Описание
Параметр X11Forwarding позволяет пропускать трафик X11 по протоколу SSH для осуществления удаленного соединения с графическим приложением.
Отключите перенаправление X11, за исключением случаев производственной необходимости, когда требуется использовать приложения X11 напрямую. Существует небольшой риск того, что удаленные серверы X11 пользователей, которые осуществляют вход в систему посредством SSH с перенаправлением X11, могут быть скомпрометированы другими пользователями сервера X11. Следует обратить внимание, что даже в случае отключения перенаправления X11 пользователи могут выполнять его самостоятельно с помощью дополнительного программного обеспечения.
1.1.21. Обеспечить предоставление разрешения на использование at/cron только авторизованным пользователям
Описание
Во многих системах только системный администратор может планировать задания cron. Использование файла cron.allow с целью управления доступом к заданиям cron позволяет усилить безопасность системы. Проще следить за списком разрешений на доступ, чем за запрещающим списком, поскольку легко забыть добавить в последний идентификатор недавно созданного пользователя.
Настройте /etc/cron.allow и /etc/at.allow, чтобы установить право на использование данных служб только для определенных пользователей. При отсутствии /etc/cron.allow или /etc/at.allow применяются /etc/at.deny и /etc/cron.deny. Пользователи, не перечисленные в файлах /etc/at.deny и /etc/cron.deny, могут использовать at и cron. При удалении этих файлов использовать at и cron разрешается только пользователям, перечисленным в /etc/cron.allow и /etc/at.allow. Обратите внимание, что если даже конкретный пользователь не включен в список cron.allow, команда cron также может быть выполнена от его имени. Файл cron.allow контролирует только доступ с правами администратора к команде crontab для определения графика и изменения действий cron.
Проверка
-
Выполните следующие команды и проверьте, что /etc/cron.deny и /etc/at.deny не существуют:
stat /etc/cron.deny stat: cannot statx '/etc/cron.deny': No such file or directory (1) stat /etc/at.deny stat: cannot statx '/etc/at.deny': No such file or directory (1)1 Ожидаемый вывод -
Запустите следующую команду и убедитесь, что для UID и GID указано 0/root и отсутствуют разрешения на /etc/cron.allow и /etc/at.allow у групп или остальных пользователей:
stat /etc/cron.allow Access: (0600/-rw-------) Uid: (0/root) Gid: (0/root) (1) stat /etc/at.allow Access: (0600/-rw-------) Uid: (0/root) Gid: (0/root) (1)1 Ожидаемый вывод
Исправление
Выполните следующие команды, чтобы удалить списки /etc/cron.deny и /etc/at.deny, а также создать /etc/cron.allow and /etc/at.allow и установить для них безопасные разрешения и параметры владения:. Например:
rm /etc/cron.deny
rm /etc/at.deny
touch /etc/cron.allow
touch /etc/at.allow
chmod og-rwx /etc/cron.allow
chmod og-rwx /etc/at.allow
chown root:root /etc/cron.allow
chown root:root /etc/at.allow
1.1.22. Обеспечить установку значения не выше 4 для SSH MaxAuthTries
Описание
Установка небольшого значения для параметра MaxAuthTries минимизирует риск успешной атаки подбора паролей на сервер SSH.
Параметр MaxAuthTries определяет максимальное допустимое число попыток аутентификации в рамках одного соединения. При достижении счетчиком неудачных входов в систему половины установленного числа в файл журнала syslog будут регистрироваться сообщения об ошибках с подробными сведениями о неудачной попытке.
Хотя рекомендуемая установка — 4 попытки, параметр следует настраивать на основе политики организации.
1.1.23. Обеспечить установку истечения срока действия пароля на 365 дней ли менее
Описание
Параметр PASS_MAX_DAYS в /etc/login.defs позволяет администратору установить срок действия пароля. Следует настроить для этого параметра значение 365 или менее.
Срок действия паролей является ограничивающим фактором при проведении атак: злоумышленнику необходимо воспользоваться скомпрометированными учетными данными, либо скомпрометировать их путем онлайн-подбора паролей в указанные сроки. Поэтому уменьшение значения параметра усложнит задачу для потенциальных злоумышленников.
Проверка
-
Выполните следующую команду и убедитесь, что для параметра PASS_MAX_DAYS установлено значение 365 или менее:
grep PASS_MAX_DAYS /etc/login.defs PASS_MAX_DAYS 365 (1)1 Ожидаемый вывод -
Убедитесь, что для всех пользователей с паролем максимальное количество дней между сменами пароля установлено на 365 или менее:
egrep ^[^:]+:[^\!*] /etc/shadow | cut -d: -f1 <userlist> (1) chage --list <user> Maximum number of days between password change: 365 (2)1 Список пользователей с паролями 2 Ожидаемый срок действия паролей 365 дней или меньше
Исправление
-
Установите значение 365 или меньше для параметра PASS_MAX_DAYS в /etc/login.defs:
-
Измените пользовательские настройки для всех пользователей с паролем таким образом, чтобы они соответствовали требованиям:
chage --maxdays 365 <user>
|
Данная конфигурация не применима для следующих пользователей:
|
1.1.24. Обеспечить установку минимального количества дней между сменами пароля на 7 или более
Описание
Ограничение частоты смены пароля позволит администратору предотвратить многократное изменение пользователем пароля в попытке обойти запрет на его повторное использование.
Параметр PASS_MIN_DAYS в /etc/login.defs позволяет администратору ограничить возможность смены пароля определенным количеством дней. Следует настроить для этого параметра значение 7 или более.
Проверка
-
Выполните следующую команду и убедитесь, что для параметра PASS_MIN_DAYS установлено значение 7 или более:
grep PASS_MIN_DAYS /etc/login.defs PASS_MIN_DAYS 7 (1)1 Ожидаемый вывод -
Убедитесь, что для всех пользователей с паролем минимальное количество дней между сменами пароля установлено на 7 или более:
egrep ^[^:]+:[^\!*] /etc/shadow | cut -d: -f1 <userlist> (1) chage --list <user> Minimum number of days between password change: 7 (2)1 Список пользователей с паролями 2 Ожидаемый количество дней между сменами пароля 7 дней или более
Исправление
-
Установите значение 7 или более для параметра PASS_MIN_DAYS в /etc/login.defs:
-
Измените пользовательские настройки для всех пользователей с паролем таким образом, чтобы они соответствовали требованиям:
chage --mindays 7 <user>
|
Данная конфигурация не применима для следующих пользователей:
|
1.1.25. Обеспечить установку протокола SSH версии 2
Описание
SSH поддерживает два разных и несовместимых протокола: SSH1 и SSH2. SSH1 является первой версией протокола со значительными проблемами в области безопасности. SSH2 является более поздней и безопасной версией.
1.1.26. Обеспечить установку требований к созданию паролей
Описание
Надежные пароли защитят систему от взлома методом перебора паролей.
Модуль pam_cracklib.so определяет степень надежности пароля. Он проверяет: длину пароля, наличие в нем сочетания разных типов символов (буквы, цифры и др.), употребление словарных слов и пр. Далее приводятся описания параметров pam_cracklib.so:
-
try_first_pass — извлечь пароль из предыдущего сохраненного PAM-модуля, при отсутствии такового запросить пароль у пользователя;
-
retry=3 — разрешать 3 попытки перед отправкой сообщения об ошибке;
-
minlen=14 — минимальная длина пароля должна составлять от 14 символов;
-
dcredit=-1 — в пароле должна содержаться хотя бы одна цифра;
-
ucredit=-1 — в пароле должна содержаться хотя бы одна буква верхнего регистра;
-
ocredit=-1 — в пароле должен содержаться хотя бы один символ;
-
lcredit=-1 — в пароле должна содержаться хотя бы одна буква нижнего регистра.
Модуль pam_pwquality.so работает аналогично, только параметры minlen, dcredit, ucredit, ocredit и lcredit хранятся файле /etc/security/pwquality.conf.
Указанные выше настройки являются примером. Измените значения в соответствии с политикой паролей организации.
Проверка
Убедитесь, что требования к созданию паролей заданы как указано ниже или более строго. Указанные параметры обычно настраиваются с помощью модулей pam_cracklib.so или pam_pwquality.so, которые находятся в /etc/pam.d/common-password или /etc/pam.d/system-auth.
Например:
grep '^password' /etc/pam.d/system-auth
password required pam_cracklib.so try_first_pass retry=3 minlen=14 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
password requisite pam_pwquality.so try_first_pass retry=3
Если используется pam_pwquality.so, следует также проверить параметры в /etc/security/pwquality.conf:
minlen=14
dcredit=-1
ucredit=-1
ocredit=-1
lcredit=-1
Исправление
Установите требования к созданию паролей в соответствии с политикой организации.
Отредактируйте соответствующий конфигурационный файл /etc/pam.d/, чтобы добавить или изменить строки pam_cracklib.so или pam_pwquality.so таким образом, чтобы они включали необходимые параметры. Например:
password required pam_cracklib.so try_first_pass retry=3 minlen=14 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
password requisite pam_pwquality.so try_first_pass retry=3
Если используется pam_pwquality.so, следует также установить параметры в /etc/security/pwquality.conf:
minlen=14
dcredit=-1
ucredit=-1
ocredit=-1
lcredit=-1
1.2. Журналирование и аудит
1.2.1. Запретить автоматическое удаление журналов аудита
Описание
В контекстах повышенной безопасности преимущества от хранения длительной истории аудита перевешивают возможные издержки.
Параметр max_log_file_action в файле /etc/audit/auditd.conf контролирует, каким образом обрабатывать файлы журнала аудита, достигшие максимального размера. Значение keep_logs обеспечит ротацию журналов и при этом исключит удаление старых журналов.
1.2.2. Обеспечить активное состояние службы rsyslog
Описание
Пакет rsyslog после установки необходимо активировать.
Если пакет rsyslog не активировать после установки, в системе по умолчанию может использоваться служба syslogd или вообще отсутствовать регистрация событий.
1.2.3. Обеспечить настройку стандартных разрешений для файлов rsyslog
Описание
Следует убедиться, что файлы журналов имеют корректные права доступа, чтобы обеспечить архивацию и защиту данных, которые потенциально могут использоваться злоумышленниками для атак.
Служба rsyslog будет создавать файлы, которых пока не существует в системе. Следует контролировать, какие разрешения будут применяться к этим создаваемым файлам.
|
Необходимо убедиться, что эта настройка не переопределена менее строгими параметрами в любом файле конфигурации в каталоге /etc/rsyslog.d/. |
1.2.4. Обеспечить неизменяемость конфигурации аудита
Описание
Следует настроить аудит системы таким образом, чтобы правила аудита не могли быть изменены с помощью auditctl. Установка флага "-e 2" вводит аудит в неизменяемый режим. Изменения в настройках аудита могут быть произведены только после перезагрузки системы.
1.2.5. Обеспечить отключение системы при заполненных журналах аудита
Описание
Демон auditd можно настроить на выполнение остановки системы при заполнении журналов аудита.
В контекстах повышенной безопасности угроза обнаружения неавторизованного доступа либо невозможность отрицать факт получения или отправки содержимого перевешивает выгоду от доступности системы.
Проверка
Выполните указанные команды и убедитесь, что в выводе содержаться соответствующие значения:
grep space_left_action /etc/audit/auditd.conf
space_left_action = email (1)
grep action_mail_acct /etc/audit/auditd.conf
action_mail_acct = root (1)
grep admin_space_left_action /etc/audit/auditd.conf
admin_space_left_action = halt (1)
| 1 | Ожидаемый вывод |
1.2.6. Обеспечить отправку журналов rsyslog на удаленный узел журналирования
Описание
Утилита rsyslog позволяет отправлять собранные ей журналы на удаленный узел журналирования, на котором запущена служба syslogd, или получать сообщения с удаленных узлов, тем самым сокращая объем работы для администратора.
Хранение данных регистрации событий на удаленном узле защищает целостность журналов регистрации в случае локальных атак. Если злоумышленник получит доступ суперпользователя к локальной системе, то сможет модифицировать или удалить хранящиеся в ней данные журналов.
Проверка
Проверьте файлы /etc/rsyslog.conf и /etc/rsyslog.d/*.conf и убедитесь, что журналы отправляются на централизованный узел (loghost.example.com — пример имени централизованного узла журналирования):
grep "^*.*[^I][^I]*@" /etc/rsyslog.conf /etc/rsyslog.d/*.conf
*.* @@loghost.example.com (1)
| 1 | Ожидаемый вывод |
Исправление
Настройка удаленного сервера логирования выполняется утилитой zvirt-system-security-set с параметром --log_server. Подробнее см. в разделе Применение профиля.
|
Комбинация знаков |
1.2.7. Обеспечить сбор данных о запуске сеансов
Описание
Отслеживание изменений в соответствующих файлах позволит системному администратору получать уведомления о событиях входа в систему в необычное время, что может обозначать вторжение в систему (то есть вход пользователя в систему в нехарактерное для него время).
Следует отслеживать события запуска сеанса. Необходимо задать настройки таким образом, чтобы события сеансов записывались в соответствующие файлы:
-
Файл /var/run/utmp отслеживает всех пользователей, находящихся на данный момент в системе. Всем этим записям аудита будет присвоен идентификатор sessions.
-
В файл /var/log/wtmp записываются события входа и выхода из системы, ее выключения и перезагрузки.
-
В файле /var/log/btmp регистрируются неудачные попытки входа в систему, прочитать их можно при помощи команды
/usr/bin/last -f /var/log/btmp. Всем этим записям аудита будет присвоен идентификатор logins.
1.2.8. Обеспечить сбор изменений привилегий на администрирование системы (sudoers)
Описание
Изменения в файле /etc/sudoers могут сигнализировать о неавторизованной модификации привилегий на администрирование системы.
Отслеживайте изменения привилегий на администрирование системы. Это возможно, если система была правильно настроена и системные администраторы сначала заходят в систему от своего имени и уже потом используют команду sudo для выполнения привилегированных команд. При изменении файла /etc/sudoers или его свойств в журнале аудита будет формироваться запись. Такие записи будут иметь идентификатор scope.
1.2.9. Обеспечить сбор неудачных попыток неавторизованного доступа к файлам
Описание
Неудачные попытки открыть, создать или усечь файлы могут сигнализировать о попытках злоумышленника получить несанкционированный доступ в систему.
Отслеживайте неудачные попытки осуществления доступа к файлам. Рассматриваемые настройки связаны с системными вызовами, управляющими созданием (creat), открытием (open, openat) и усечением (truncate, ftruncate) файлов. Запись в журнале аудита будет производиться, если пользователь не является привилегированным (auid > = 500), если речь не идет о событии демона (auid=4294967295) и если системный вызов выдал EACCES (разрешение на доступ к файлу отклонено) или EPERM (любая другая систематическая ошибка, связанная с определенным системным вызовом). Всем записям аудита присваивается идентификатор access.
1.2.10. Обеспечить сбор событий входа и выхода
Описание
Отслеживание событий входа в систему и выхода из нее позволяет системному администратору получить данные об атаках подбора пароля на учетные записи пользователей.
Необходимо отслеживать события входа и выхода из системы. Следует задать настройки таким образом, чтобы события входа в систему и выхода из нее записывались в соответствующие файлы:
-
Файл /var/log/faillog записывает события неудачных попыток входа в систему.
-
В файле /var/log/lastlog регистрируются последние успешные попытки входа пользователя.
-
В файле /var/log/tallylog содержатся записи о неудачных попытках входа с помощью модуля pam_tally2.
1.2.11. Обеспечить сбор событий загрузки и выгрузки модуля ядра
Описание
Отслеживание использования insmod, rmmod и modprobe поможет системным администраторам найти свидетельства загрузки и выгрузки модуля ядра неавторизованным пользователем с возможной компрометацией системы. Отслеживание системных вызовов init_module и delete_module позволит определить попытки неавторизованного пользователя воспользоваться другой программой для загрузки и выгрузки модулей.
Проверка
Выполните указанную ниже команду и убедитесь, что в выводе содержатся соответствующие значения:
auditctl -l | grep modules
Ожидаемый вывод:
-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit -F arch=b64 -S init_module -S delete_module -k modules
Исправление
Вставьте следующие строки в файл /etc/audit/rules.d/audit.rules:
-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit -F arch=b64 -S init_module -S delete_module -k modules
Примените новые правила:
augenrules --load
Убедитесь, что правила загружены:
auditctl -l | grep modules
Ожидаемый вывод:
-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit -F arch=b64 -S init_module -S delete_module -k modules
1.2.12. Обеспечить сбор событий использования привилегированных команд
Описание
Выполнение привилегированных команд непривилегированными пользователями может сигнализировать о попытке злоумышленника получить несанкционированный доступ в систему.
Отслеживайте привилегированные программы (с битами setuid и/или setgid, настроенными на выполнение), чтобы определить, запущены ли программы непривилегированными пользователями.
Проверка
Выполните следующую команду, заменив <partition> списком разделов, из которых в вашей системе могут выполняться программы:
find <partition> -xdev \( -perm -4000 -o -perm -2000 \) -type f | awk '{print \
"-a always,exit -F path=" $1 " -F perm=x -F auid>=500 -F auid!=4294967295 \
-k privileged" }'
Убедитесь, что все выведенные строки находятся в файле /etc/audit/audit.rules.
Исправление
Чтобы соблюсти данное требование, системный администратор должен выполнить команду find и обнаружить все привилегированные программы. После чего требуется добавить строку аудита для каждой из них. Ниже приведены соответствующие параметры аудита:
-
-F path=" $1 "— заполнить каждое имя файла, найденного при помощи команды find и обработанного awk; -
-F perm=x— сделать запись аудита, если файл выполняется; -
-F auid>=500— сделать запись, если команда выполняется от имени непривилегированного пользователя; -
-F auid!= 4294967295— игнорировать события демонов.
Всем этим записям аудита должен быть присвоен идентификатор privileged.
Выполните следующую команду, заменив <partition> списком разделов, из которых в вашей системе могут выполняться программы:
find <partition> -xdev \( -perm -4000 -o -perm -2000 \) -type f | awk '{print \
"-a always,exit -F path=" $1 " -F perm=x -F auid>=500 -F auid!=4294967295 \
-k privileged" }'
Добавьте все выведенные строки в файл /etc/audit/audit.rules.
1.2.13. Обеспечить сбор событий, связанных с изменением даты и времени
Описание
Неожиданные изменения системной даты или времени могут быть признаком осуществления вредоносных действий в системе.
Следует регистрировать события, в результате которых изменились системные дата или время. Рекомендуется настроить параметры таким образом, чтобы определить, выполнялись ли системные вызовы adjtimex (настройка часов ядра), settimeofday (установка времени при помощи структур timeval и timezone), stime (применение секунд с 1/1/1970) или clock_settime (установка нескольких внутренних часов и таймеров), и обеспечить их аудит в файл /var/log/audit.log при выходе с присвоением идентификатора записей "time-change".
1.2.14. Обеспечить сбор событий, связанных с изменением информации о пользователях или группах
Описание
Непредвиденные изменения в файлах group, passwd, shadow и gshadow либо /etc/security/opasswd могут быть признаком компрометации системы и попыток злоумышленника скрыть свои действия или компрометировать другие учетные записи.
Следует регистрировать события, повлиявшие на файлы group, passwd (ID пользователей), shadow и qshadow (пароли) или /etc/security/opasswd (старые пароли, основанные на параметре remember в конфигурации PAM). Необходимо задать такие настройки, чтобы отслеживать открытие файлов для редактирования или изменение их атрибутов (например, прав доступа) и присваивать этим событиям идентификатор identity в файле журнала аудита.
Проверка
Выполните указанную ниже команду и убедитесь, что в выводе присутствуют соответствующие записи:
grep identity /etc/audit/audit.rules
-w /etc/group -p wa -k identity (1)
-w /etc/passwd -p wa -k identity (1)
-w /etc/gshadow -p wa -k identity (1)
-w /etc/shadow -p wa -k identity (1)
-w /etc/security/opasswd -p wa -k identity (1)
| 1 | Ожидаемый вывод |
1.2.15. Обеспечить сбор событий, связанных с изменением прав избирательного управления доступом
Описание
Отслеживание изменений в свойствах файлов поможет системному администратору обнаружить действия, указывающие на вторжение в систему или нарушение политики безопасности
Необходимо отслеживать изменения в файловых правах на доступ, свойствах, владении и группе. Рассматриваемые ниже параметры отслеживают изменения в системных вызовах, которые влияют на права доступа и свойства файлов. Системные вызовы chmod, fchmod и fchmodat влияют на права на доступ, связанные с файлом. Вызовы chown, fchown, fchownat и lchown влияют на свойства владельца и группы файла. Вызовы setxattr, lsetxattr, fsetxattr (установить расширенные свойства файла) и removexattr, lremovexattr, fremovexattr (удалить расширенные свойства файла) управляют расширенными свойствами файла. Во всех случаях запись аудита будет производиться только для несистемных идентификаторов пользователя (auid >= 500) и проигнорирует события демонов (auid = 4294967295). Все записи аудита получат идентификатор perm_mod.
1.2.16. Обеспечить сбор событий, связанных с изменением сетевого окружения системы
Описание
Следует регистрировать изменения в файлах сетевого окружения или системных вызовах. Следует настроить параметры, которые отслеживают системные вызовы sethostname (установка имени узла) или setdomainname (установка имени домена) и записывают событие аудита по окончании системного вызова. Также следует настроить параметры, которые отслеживают файлы /etc/issue и /etc/issue.net (сообщения, выводимые перед входом в систему), /etc/hosts (файл, содержащий имена узлов и соответствующие им IP-адреса) и /etc/sysconfig/network (каталог со сценариями и конфигурациями сетевого интерфейса).
1.2.17. Обеспечить сбор событий, связанных с изменениями в политике мандатного управления доступом системы
Описание
Изменения в файлах каталога /etc/selinux могут сигнализировать о попытках неавторизованного пользователя модифицировать параметры управления доступом и контексты безопасности, что может привести к компрометации системы.
1.2.18. Обеспечить сбор событий, связанных с удалением файлов пользователями
Описание
Отслеживайте все случаи использования системных вызовов, связанных с удалением или переименованием файлов и их свойств. Данная функция конфигурации позволяет отслеживать системные вызовы unlink (удалить файл), unlinkat (удалить свойство файла), rename (переименовать файл) и renameat (переименовать свойство файла) и наделяет их идентификатором delete.
1.2.19. Обеспечить сбор событий, связанных с удачными подключениями файловых систем
Описание
Отслеживайте использование системного вызова mount. Системный вызов mount (и umount) управляет подключением и отключением файловых систем. Рассматриваемые настройки позволяют настроить систему на создание записей аудита при использовании системного вызова mount непривилегированным пользователем.
Непривилегированные пользователи крайне редко подключают файловые системы. Хотя регистрация команд mount и позволяет системному администратору получить свидетельство того, что было произведено подключение внешних носителей (после подтверждения, что источником подключения является внешний носитель), данный факт не указывает на то, что на носитель были экспортированы данные. Чтобы это установить, системным администраторам понадобятся данные об успешных системных вызовах open, creat и truncate, которые требуют доступа на запись для файла с точки подключения файловой системы внешнего носителя. Это позволит с большой долей вероятности определить факт записи. Единственный достоверный способ — регистрировать все случаи успешной записи на внешний носитель. Данная практика может привести к быстрому заполнению журнала аудита, что не рекомендуется. Рекомендации по вариантам конфигурации с целью отслеживания экспорта данных на внешние носители в данное требование не входят.
1.2.20. Обеспечить фиксацию действий системных администраторов (sudolog)
Описание
Изменения в /var/log/sudo.log указывают на то, что либо администратор выполнил команду, либо целостность файла журнала была нарушена. Чтобы определить, были ли выполнены несанкционированные команды, администраторам нужно соотнести события, записанные в журналах аудита, с данными в /var/log/sudo.log.
Отслеживайте изменения в файле журнала sudo. Если система была правильно настроена на отключение команды su, любой администратор будет вынужден сначала войти в систему и только потом использовать sudo для выполнения привилегированных команд. Тогда все команды администраторов будут журналироваться в /var/log/sudo.log. Всякий раз, когда выполняется команда, будет создаваться событие аудита, а в открывшийся файл /var/log/sudo.log будет записана выполненная команда администрирования.
1.3. Конфигурация сети
1.3.1. Обеспечить журналирование подозрительных пакетов
Описание
Данная функция позволяет журналировать пакеты с немаршрутизируемыми адресами источников в журнал ядра.
Включение данной функции и журналирование таких пакетов позволит администратору распознать подмененные пакеты, посылаемые системе злоумышленником.
Проверка
Выполните указанные команды и убедитесь, что в выводе содержатся соответствующие записи:
sysctl net.ipv4.conf.all.log_martians
net.ipv4.conf.all.log_martians = 1 (1)
sysctl net.ipv4.conf.default.log_martians
net.ipv4.conf.default.log_martians = 1 (1)
| 1 | Ожидаемый вывод |
Исправление
Настройте следующие параметры в файле /etc/sysctl.conf:
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
Запустите следующие команды, чтобы настроить активные параметры ядра:
/sbin/sysctl -w net.ipv4.conf.all.log_martians=1
/sbin/sysctl -w net.ipv4.conf.default.log_martians=1
/sbin/sysctl -w net.ipv4.route.flush=1
1.3.2. Обеспечить отклонение безопасных сообщений ICMP Redirect
Описание
Даже известные шлюзы могут быть скомпрометированы. Установка значения 0 для net.ipv4.conf.all.secure_redirects позволит защитить систему от обновлений таблиц маршрутизации потенциально скомпрометированными известными шлюзами.
Безопасное сообщение ICMP Redirect аналогично простому сообщению ICMP Redirect c единственным отличием: источником в первом случае являются шлюзы, входящие в список стандартных шлюзов. Предполагается, что эти шлюзы известны системе и скорее всего безопасны.
Проверка
Выполните указанные команды и убедитесь, что в выводе содержатся соответствующие записи:
sysctl net.ipv4.conf.all.secure_redirects
net.ipv4.conf.all.secure_redirects = 0 (1)
sysctl net.ipv4.conf.default.secure_redirects
net.ipv4.conf.default.secure_redirects = 0 (1)
| 1 | Ожидаемый вывод |
Исправление
Настройте следующие параметры в файле /etc/sysctl.conf:
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
Запустите следующие команды, чтобы настроить активные параметры ядра:
/sbin/sysctl -w net.ipv4.conf.all.secure_redirects=0
/sbin/sysctl -w net.ipv4.conf.default.secure_redirects=0
/sbin/sysctl -w net.ipv4.route.flush=1
1.3.3. Обеспечить отклонение пакетов с маршрутизацией от источника
Описание
В сетевых подключениях маршрутизация от источника позволяет отправителю полностью или частично определять маршрут, по которому проходят пакеты по сети, в то время как пакеты с обычной маршрутизацией проделывают путь, заданный маршрутизаторами сети. В некоторых случаях у систем отсутствует возможность маршрутизации или они недоступны из ряда мест (в пример можно привести адреса частных сетей в сравнении с маршрутизируемыми через интернет), и потому возникает необходимость в пакетах с маршрутизацией от источника.
Установка значения 0 для net.ipv4.conf.all.accept_source_route и net.ipv4.conf.default.accept_source_route не позволит системе принимать пакеты с маршрутизацией от источника. Предположим, что система может направлять пакеты на адреса с маршрутизацией через интернет на одном интерфейсе и на адреса частных сетей на другом. Причем отсутствует возможность направлять пакеты от частных адресов к адресам с интернет-маршрутизацией и наоборот. В обычных условиях злоумышленник с адресов с интернет-маршрутизацией не мог бы использовать систему, чтобы добраться до систем с частными адресами. Однако, если пакеты с маршрутизацией от источника были бы разрешены, злоумышленник мог бы получить доступ к системам частных адресов, поскольку существовала бы возможность установки маршрута, позволяющая обойти протоколы маршрутизации, не допускающие такую возможность.
Проверка
Выполните указанные команды и убедитесь, что в выводе содержатся соответствующие записи:
sysctl net.ipv4.conf.all.accept_source_route
net.ipv4.conf.all.accept_source_route = 0 (1)
sysctl net.ipv4.conf.default.accept_source_route
net.ipv4.conf.default.accept_source_route = 0 (1)
| 1 | Ожидаемый вывод |
Исправление
Настройте следующие параметры в файле /etc/sysctl.conf:
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
Запустите следующие команды, чтобы настроить активные параметры ядра:
/sbin/sysctl -w net.ipv4.conf.all.accept_source_route=0
/sbin/sysctl -w net.ipv4.conf.default.accept_source_route=0
/sbin/sysctl -w net.ipv4.route.flush=1
1.3.4. Обеспечить отклонение сообщений ICMP Redirect
Описание
Злоумышленники могут воспользоваться поддельными сообщениями ICMP Redirect и внести изменения в таблицы маршрутизации системы, чтобы заставить их отсылать пакеты на некорректные сети, где они будут перехвачены.
Сообщения ICMP Redirect являются пакетами, передающими информацию о маршрутизации и сообщающие узлу, выполняющему роль маршрутизатора, о необходимости отправить пакет по альтернативному пути. Это дает возможность обновить таблицы маршрутизации системы при помощи стороннего маршрутизатора. При установке значения 0 для net.ipv4.conf.all.accept_redirects система перестанет принимать все сообщения ICMP Redirect и таким образом не позволит третьим лицам обновить таблицы маршрутизации системы.
Проверка
Выполните указанные команды и убедитесь, что в выводе содержатся соответствующие записи:
sysctl net.ipv4.conf.all.accept_redirects
net.ipv4.conf.all.accept_redirects = 0 (1)
sysctl net.ipv4.conf.default.accept_redirects
net.ipv4.conf.default.accept_redirects = 0 (1)
| 1 | Ожидаемый вывод |
Исправление
Настройте следующие параметры в файле /etc/sysctl.conf:
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
Запустите следующие команды, чтобы настроить активные параметры ядра:
/sbin/sysctl -w net.ipv4.conf.all.accept_redirects=0
/sbin/sysctl -w net.ipv4.conf.default.accept_redirects=0
/sbin/sysctl -w net.ipv4.route.flush=1
1.3.5. Обеспечить отключение отправки сообщений Redirect
Описание
Сообщения ICMP Redirect используются для перенаправления данных маршрутизации другим узлам. Если сам узел не выступает в качестве маршрутизатора, а только в качестве узла, в отправке сообщений Redirect нет необходимости.
Злоумышленник может воспользоваться скомпрометированным узлом для отправки недействительных сообщений ICMP Redirect на другие маршрутизаторы с целью нарушить механизм маршрутизации и направить пользователей в специально сформированную им систему вместо легитимной.
Проверка
Выполните указанные команды и убедитесь, что в выводе содержатся соответствующие записи:
sysctl net.ipv4.conf.all.send_redirects
net.ipv4.conf.all.send_redirects = 0 (1)
sysctl net.ipv4.conf.default.send_redirects
net.ipv4.conf.default.send_redirects = 0 (1)
| 1 | Ожидаемый вывод |
Исправление
Настройте следующие параметры в файле /etc/sysctl.conf:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
Запустите следующие команды, чтобы настроить активные параметры ядра:
/sbin/sysctl -w net.ipv4.conf.all.send_redirects=0
/sbin/sysctl -w net.ipv4.conf.default.send_redirects=0
/sbin/sysctl -w net.ipv4.route.flush=1
1.3.6. Обеспечить фильтрацию пакетов по обратному пути
Описание
При установке значения 1 для net.ipv4.conf.all.rp_filter и net.ipv4.conf.default.rp_filter ядро Linux будет применять фильтрацию по обратному пути для проверки корректности получаемого пакета. В случае если обратный пакет не отправляется от того же интерфейса, что и соответствующий ему пакет источника, он отбрасывается (и журналируется при включенном параметре log_martians).
Установка значения 1 для net.ipv4.conf.all.rp_filter и net.ipv4.conf.default.rp_filter позволит помешать злоумышленникам направлять в систему специально сформированные пакеты, на которые невозможно откликнуться. Фильтрация пакетов по обратному пути не работает в случае, если применяется асимметричная маршрутизация, возникающая в результате использования динамических протоколов маршрутизации (bgp, ospf, etc) в системе. Применение фильтрации пакетов по обратному пути не возможно без нарушения работы асимметричной маршрутизации (если она используется в системе).
Проверка
Выполните указанные команды и убедитесь, что в выводе содержатся соответствующие записи:
sysctl net.ipv4.conf.all.rp_filter
net.ipv4.conf.all.rp_filter = 1 (1)
sysctl net.ipv4.conf.default.rp_filter
net.ipv4.conf.default.rp_filter = 1 (1)
| 1 | Ожидаемый вывод |
Исправление
Настройте следующие параметры в файле /etc/sysctl.conf:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
Запустите следующие команды, чтобы настроить активные параметры ядра:
/sbin/sysctl -w net.ipv4.conf.all.rp_filter=1
/sbin/sysctl -w net.ipv4.conf.default.rp_filter=1
/sbin/sysctl -w net.ipv4.route.flush=1
1.4. Обслуживание системы
1.4.1. Обеспечить для домашних каталогов пользователей назначение разрешений 750 или более строгих
Описание
Несмотря на то, что системный администратор может установить безопасные права доступа для домашних каталогов пользователей, сами пользователи могут без труда их переопределить.
Домашние каталоги пользователей, открытые на запись для всех или для какой-либо группы, могут позволить злоумышленнику украсть или изменить данные других пользователей, чтобы повысить свои привилегии.
Проверка
Полный сценарий аудита приведен в разделе 6.2.8 документа CIS Distribution Independent Linux Benchmark v1.1.0.
Исправление
Внесение глобальных изменений в домашние каталоги пользователей незаметно для самих пользователей может привести к непредсказуемым последствиям. Поэтому следует определить политику мониторинга, чтобы сообщать о правах доступа на файл пользователя и устанавливать порядок действий в соответствии с политикой организации.
1.4.2. Обеспечить наличие домашних каталогов у всех пользователей
Описание
Пользователи могут быть определены в /etc/passwd без домашнего каталога или с несуществующим каталогом.
Если домашний каталог пользователя не существует или же не назначен, пользователь будет помещен в каталог "/" и не сможет осуществлять запись в файлы либо иметь настроенные параметры локального окружения.
Проверка
Выполните следующий сценарий и убедитесь, что он не выдает результата:
#!/bin/bash
cat /etc/passwd | awk -F: '{ print $1 " " $3 " " $6 }' | while read user uid dir; do
if [ $uid -ge 500 -a ! -d "$dir" -a $user != "nfsnobody" ]; then
echo "The home directory ($dir) of user $user does not exist."
fi
done
1.4.3. Обеспечить настройку безопасных разрешений на доступ к файлу /etc/group-
Описание
Файл /etc/group- содержит резервный список всех активных групп в системе.
Необходимо удостовериться, что файл /etc/group- защищен от неавторизованного доступа. Хотя по умолчанию он защищен, права на доступ к нему могут быть изменены случайно либо намеренно.
1.4.4. Обеспечить настройку безопасных разрешений на доступ к файлу /etc/passwd-
Описание
Файл /etc/passwd- содержит резервную копию данных об учетных записях.
Необходимо удостовериться, что файл /etc/passwd- защищен от неавторизованного доступа. Хотя по умолчанию он защищен, права на доступ к нему могут быть изменены случайно либо намеренно.
1.5. Первоначальная настройка
1.5.1. Обеспечить безопасную настройку /tmp
Описание
Каталог /tmp является общедоступным для записи и используется для временного хранения данных всеми пользователями и некоторыми приложениями.
Поскольку каталог /tmp открыт для записи всем пользователям, существует риск возникновения нехватки ресурсов. Для предотвращения подобной ситуации необходимо выделить под него отдельный раздел.
Нехватка места в каталоге /tmp представляет собой проблему независимо от того, какая файловая система используется в системе. Однако при стандартной установке дисковый каталог /tmp получит в распоряжение весь диск, поскольку на всем диске будет создан один единственный раздел "/". С другой стороны, /tmp в памяти, как, например, при использовании tmpfs, почти наверняка будет гораздо меньшего размера, что может значительно быстрее привести к заполнению файловой системы данными приложений.
Размер каталога /tmp в tmpfs можно изменить с помощью параметра size={size} в строке Options файла tmp.mount.
Создание собственной файловой системы для /tmp позволит администратору установить опцию noexec, тем самым устранив вероятность того, что злоумышленник воспользуется каталогом для внедрения исполняемого кода. Дополнительно данная мера позволит предотвратить установку жесткой ссылки на системную программу setuid. После обновления жесткая ссылка оказалась бы взломанной, а злоумышленник получил бы экземпляр программы и возможность эксплуатировать имеющиеся в ней уязвимости. Если бы в программе оказалась известная уязвимость в области безопасности, злоумышленник мог бы воспользоваться ей.
Требование можно выполнить, установив tmpfs для /tmp либо выделив отдельный раздел для /tmp.
Проверка
Выполните следующую команду и убедитесь, что каталог /tmp подключен:
mount | grep /tmp
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime) (1)
| 1 | Пример вывода |
Исправление
Во время установки системы проведите настройку таблицы разделов, указав отдельный раздел для tmp.
Для исправления проблемы в уже установленных системах создайте новый раздел и установите необходимые параметры в файле /etc/fstab.
|
Подсистема systemd содержит службу tmp.mount, которую следует использовать вместо настройки /etc/fstab. |
1.5.2. Обеспечить ограничение на формирование дампов памяти
Описание
Настройка жесткого (hard) ограничения для дампов памяти позволяет избежать переопределения пользователями переменной soft. При необходимости использования дампов памяти настройте ограничения для групп пользователей — см. limits.conf(5). Также применение значения 0 к переменной fs.suid_dumpable позволит предотвратить получение дампа ядра программами с атрибутом setuid.
Дамп памяти является содержимым памяти исполняемой программы. Обычно он требуется для определения причины, по которой работа программы была прекращена. Также он может использоваться для сбора конфиденциальной информации из файла ядра. Система позволяет установить мягкое (soft) ограничение на дампы памяти, однако пользователи могут переопределять его.
Проверка
Выполните указанные команды и убедитесь, что в выводе содержатся соответствующие записи:
grep "hard core" /etc/security/limits.conf /etc/security/limits.d/*
* hard core 0 (1)
sysctl fs.suid_dumpable
fs.suid_dumpable = 0 (1)
| 1 | Ожидаемый вывод |
Исправление
-
Вставьте следующую строку в файл /etc/security/limits.conf или какой-либо из файлов в каталоге /etc/security/limits.d/:
* hard core 0 -
Настройте следующий параметр в файле /etc/sysctl.conf:
fs.suid_dumpable = 0 -
Запустите следующую команду, чтобы настроить активный параметр ядра:
sysctl -w fs.suid-dumpable=1
1.5.3. Обеспечить отдельный раздел для /home
Описание
Каталог /home используется для хранения на диске данных локальных пользователей.
Если система предназначена для поддержки локальных пользователей, рекомендуется создать отдельный раздел для каталога /home, чтобы предотвратить возникновение нехватки ресурсов и задать ограничения для типов файлов, которые разрешено хранить в /home.
Проверка
Выполните следующую команду и убедитесь, что каталог /home подключен:
mount | grep /home
/dev/xvdf1 on /home type ext4 (rw,nodev,relatime,data=ordered) (1)
| 1 | Пример вывода |
Исправление
Во время установки системы проведите настройку таблицы разделов, указав отдельный раздел для /home.
Для исправления проблемы в уже установленных системах создайте новый раздел и задайте необходимые настройки в файле /etc/fstab.
|
Подсистема systemd содержит службу home.mount, которую следует использовать вместо настройки /etc/fstab. |
1.5.4. Обеспечить отдельный раздел для /var
Описание
Поскольку каталог /var может содержать файлы и каталоги, общедоступные для записи, существует риск возникновения нехватки ресурсов, если не выделить для него отдельный раздел.
Каталог /var используется программами-демонами и другими системными службами для временного хранения динамических данных. Некоторые каталоги, созданные данными процессами, могут быть доступны для записи всем пользователям.
Проверка
Выполните следующую команду и убедитесь, что каталог /var подключен:
mount | rep /var
/dev/xvdg1 on /var type ext4 (rw,relatime,data=ordered) (1)
| 1 | Пример вывода |
Исправление
Во время установки системы проведите настройку таблицы разделов, указав отдельный раздел для /var.
Для исправления проблемы в уже установленных системах создайте новый раздел и задайте необходимые настройки в файле /etc/fstab.
|
Подсистема systemd содержит службу var.mount, которую следует использовать вместо настройки /etc/fstab. |
1.5.5. Обеспечить отдельный раздел для /var/log
Описание
Каталог /var/log используется системными службами для хранения данных журналов.
Существуют две важные причины хранения системных журналов в отдельном разделе: защита от возникновения нехватки ресурсов (журналы могут иметь довольно большой размер) и защита данных аудита.
Проверка
Выполните следующую команду и убедитесь, что каталог /var/log подключен:
mount | grep /var/log
/dev/xvdh1 on /var/log type ext4 (rw,relatime,data=ordered) (1)
| 1 | Пример вывода |
Исправление
Во время установки системы проведите настройку таблицы разделов, указав отдельный раздел для /var/log.
Для исправления проблемы в уже установленных системах создайте новый раздел и задайте необходимые настройки в файле /etc/fstab.
|
Подсистема systemd содержит службу var-log.mount, которую следует использовать вместо настройки /etc/fstab. |
1.5.6. Обеспечить отдельный раздел для /var/log/audit
Описание
Демон аудита auditd хранит данные журналов в каталоге /var/log/audit.
Существуют две важные причины хранения данных, собранных auditd, в отдельном разделе: защита от возможной нехватки ресурсов (файл audit.log может иметь достаточно большой размер) и защита данных аудита. Демон аудита рассчитывает количество свободного дискового пространства и в соответствии с полученными результатами выполняет необходимые действия. Если другие процессы (такие как syslog) занимают место в том же разделе, что и auditd, его функционирование может быть нарушено.
Проверка
Выполните следующую команду и убедитесь, что каталог /var/log/audit подключен:
mount | grep /var/log/audit
/dev/xvdi1 on /var/log/audit type ext4 (rw,relatime,data=ordered) (1)
| 1 | Пример вывода |
Исправление
Во время установки системы проведите настройку таблицы разделов, указав отдельный раздел для /var/log/audit.
Для исправления проблемы в уже установленных системах создайте новый раздел и задайте необходимые настройки в файле /etc/fstab.
|
Подсистема systemd содержит службу var-log-audit.mount, которую следует использовать вместо настройки /etc/fstab. |
1.5.7. Обеспечить установку пароля для начального загрузчика
Описание
Если пароль начального загрузчика системы настроен, то человеку, выполняющему перезагрузку, необходимо ввести пароль, чтобы получить возможность настраивать параметры загрузки через интерфейс командной строки.
Требование ввести пароль при исполнении программы начальной загрузки не позволит неавторизованным пользователям выполнять ввод параметров загрузки или менять загрузочный раздел диска. Таким образом, пользователи не смогут ослабить безопасность (например, отключить SELinux при загрузке).
1.6. Службы
1.6.1. Обеспечить отключение NFS
Описание
За исключением случаев, когда системе необходимо экспортировать общие ресурсы NFS или играть роль NFS-сервера, следует отключить это ПО, чтобы уменьшить потенциальную поверхность атаки.
1.6.2. Обеспечить отключение сервера HTTP
Описание
HTTP- или веб-серверы предоставляют возможность размещать содержимое сайтов.
За исключением случаев, когда система играет роль веб-сервера, следует отключить службу httpd и удалить пакет HTTP, чтобы уменьшить потенциальную поверхность атаки.
1.6.3. Обеспечить отсутствие установленного клиента telnet в системе
Описание
Пакет telnet содержит клиент Telnet, позволяющий пользователям осуществлять соединение с другими системами по протоколу Telnet.
Протокол Telnet является небезопасным и не использует шифрование. Использование среды передачи, в которой отсутствует шифрование данных, может позволить неавторизованному пользователю украсть учетные данные. Пакет SSH предоставляет шифрование сеанса и более высокий уровень безопасности.
2. Применение профилей безопасности
Профили безопасности позволяют автоматически применить набор рекомендаций из списка выше.
Применение профилей выполняется путем установки и запуска на хостах утилиты zvirt-system-security-set.
2.1. Профиль 1
2.1.1. Включенные настройки безопасности
Доступ, аутентификация и авторизация
-
Включение параметра SSH IgnoreRhosts.
-
Использование только одобренных шифров.
-
Настройка SSH LogLevel на INFO.
-
Настройка безопасных разрешений на доступ к каталогу /etc/cron.d.
-
Настройка безопасных разрешений на доступ к каталогу /etc/cron.daily.
-
Настройка безопасных разрешений на доступ к каталогу /etc/cron.hourly.
-
Настройка безопасных разрешений на доступ к каталогу /etc/cron.monthly.
-
Настройка безопасных разрешений на доступ к каталогу /etc/cron.weekly.
-
Настройка безопасных разрешений на доступ к каталогу /etc/crontab.
-
Настройка блокировки неактивных учетных записей через 30 дней.
Действует только на новых пользователей с паролем.
-
Настройка для стандартного атрибута umask значения 027.
-
Настройка параметра SSH LoginGraceTime на одну минуту.
-
Настройка предупреждающего баннера SSH.
-
Настройка времени приостановки неактивной сессии SSH.
-
Ограничение доступа к команде
su. -
Ограничение доступа по протоколу SSH.
-
Отключение параметра SSH HostbasedAuthentication.
-
Отключение параметра SSH PermitEmptyPasswords.
-
Отключение параметра SSH PermitUserEnvironment.
-
Отключение перенаправления пакетов X11 по SSH.
-
Предоставление разрешения на использование at/cron только авторизованным пользователям.
-
Установка для SSH MaxAuthTries значения равное 4.
-
Установка истечения срока действия пароля на 365 дней.
Действует только на пользователей с паролем.
-
Установка минимального интервала между сменами пароля на 7 дней.
Действует только на пользователей с паролем.
-
Установка протокола SSH версии 2.
-
Установка требований к созданию паролей.
Журналирование и аудит
-
Запрет автоматического удаления журналов аудита.
-
Перевод службы rsyslog в активное состояние.
-
Настройка стандартных разрешений для файлов rsyslog.
-
Обеспечена неизменяемость конфигурации аудита.
-
Настройка отключения системы при заполненных журналах аудита.
-
Отправка журналов rsyslog на удаленный узел журналирования.
Необходимо ручное указание адреса syslog-сервера.
-
Включен сбор данных о запуске сеансов.
-
Включен сбор данных об изменений привилегий на администрирование системы (sudoers).
-
Включен сбор данных о неудачных попытках неавторизованного доступа к файлам.
-
Включен сбор событий входа и выхода.
-
Включен сбор событий загрузки и выгрузки модуля ядра.
-
Включен сбор событий использования привилегированных команд.
-
Включен сбор событий, связанных с изменением даты и времени.
-
Включен сбор событий, связанных с изменением информации о пользователях или группах.
-
Включен сбор событий, связанных с изменением прав избирательного управления доступом.
-
Включен сбор событий, связанных с изменением сетевого окружения системы.
-
Включен сбор событий, связанных с изменениями в политике мандатного управления доступом системы.
-
Включен сбор событий, связанных с удалением файлов пользователями.
-
Включен сбор событий, связанных с удачными подключениями файловых систем.
-
Включена фиксация действий системных администраторов (sudolog).
Конфигурация сети
-
Включено журналирование подозрительных пакетов.
-
Настроено отклонение безопасных сообщений ICMP Redirect.
-
Настроено отклонение сообщений ICMP Redirect.
-
Настроено отклонение пакетов с маршрутизацией от источника.
-
Отключена отправка сообщений Redirect.
-
Настроена фильтрация пакетов по обратному пути.
Обслуживание системы
-
Назначение разрешений 750 для домашних каталогов пользователей.
-
Наличие домашних каталогов у всех пользователей.
-
Настройка безопасных разрешений на доступ к файлу /etc/group-.
-
Настройка безопасных разрешений на доступ к файлу /etc/passwd-.
Первоначальная настройка
-
Безопасная настройка /tmp.
-
Ограничение на формирование дампов памяти.
-
Установка пароля для начального загрузчика.
Требуется перезагрузка хоста.
Службы
-
Отключение NFS и RPC.
-
Отключение сервера HTTP.
-
Обеспечено отсутствие установленного клиента telnet в системе.
2.1.2. Применение профиля
-
Подключитесь по SSH к хосту, на котором будет устанавливаться профиль.
Для обеспечения должного уровня безопасности, профиль должен быть применен на всех хостах.
-
Скачайте из репозитория пакет с профилем безопасности:
wget https://repo-zvirt.orionsoft.ru/tools/system-security-set-1.0.X.gp-XXXXXX.zvirt.el8.noarch.rpmИспользуйте последнюю доступную в репозитории версию.
-
Установите пакет:
dnf install ./system-security-set-1.0.X.gp-XXXXXX.zvirt.el8.noarch.rpmПакет можно устанавливать в любой момент после развертывания хоста.
-
Запустите утилиту для применения профиля безопасности:
zvirt-system-security-setДанную утилиту можно запускать повторно, если требуется привести профиль ИБ к исходному состоянию.
2.2. Профиль 2
2.2.1. Включенные настройки безопасности
Локальная аутентификация
-
Настройка политики учетных записей.
Установлены следующие параметры:
-
Минимальный срок действия пароля - 1 день.
-
Максимальный срок действия пароля - 90 дней.
-
Предупреждение об истечении срока действия пароля - за 7 дней.
-
-
Настройка требований pam.d.
Установлены следующие параметры:
-
История использованных паролей - 4.
-
Количество попыток ввода пароля до его блокировки - 6.
-
Время разблокировки пользователя - 30 минут.
-
-
Блокировка учетных записей после истечения срока действия паролей.
Действует только на новых пользователей с паролем.
-
Учетные записи в /etc/passwd используют только теневые пароли.
-
Заблокированы все пользователи, для которых не установлен пароль.
-
Настройка аутентификации для SSH:
Установлены следующие параметры:
-
GSSAPIAuthentication no
-
KerberosAuthentication no
-
PubkeyAuthentication no
-
Службы
-
Отключены следующие файловые системы:
-
cramfs
-
freevxfs
-
jffs2
-
hfs
-
hfsplus
-
squashfs
-
udf
-
FAT
-
-
Отключены следующие протоколы:
-
IPv6
-
DCCP
-
SCTP
-
RDS
-
TIPC
-
-
Отключены беспроводные интерфейсы (для физических хостов).
-
Отключены все сервисы кроме минимально необходимых с точки зрения бизнес-функций системы.
-
Отключена autofs.
-
Запрет подключения USB-накопителей.
Журналирование и аудит
-
Для протоколирования событий доступа к файлам и действий, которые произвел пользователь, настроена служба auditd.
Необходимо в /etc/audit/audit.rules самостоятельно указать пути для данных карт:
# card files (если хранятся карточные данные) -w /<Путь к файлу> -w /<Путь к каталогу> -
Настроена служба rsyslog.
Необходимо самостоятельно настроить /etc/rsyslog.conf или /etc/rsyslog.d/*.conf для лог-хостов добавив следующие записи:
$ModLoad imtcp $InputTCPServerRun 514После настройки необходимо перезапустить службу.
-
Настроена отправка журналов регистраций событий ОС на централизованный сервер журналирования.
Необходимо самостоятельно настроить /etc/rsyslog.conf или /etc/rsyslog.d/*.conf для лог-хостов добавив следующие записи:
*.* @@loghost.example.com (1)1 один знак «@» это порт UDP, а два знака «@@» это порт TCP. IP-адрес лог-сервера должен быть предоставлен ДИБ. После настройки необходимо перезапустить службу.
-
Настроено сжатие и запись журналов на постоянный диск.
Встроенные средства защиты информации
-
Настроен контроль целостности файлов.
-
Установлены опции nodev, nosuid, noexec для съемных носителей.
-
Установлен sticky bit на все изменяемые директории и файлы, доступные для пользователей, которым они не принадлежат.
-
Ограничение core dumps.
-
Включена поддержка XD/NX.
В ядре используется PAE, но настройки bios необходимо проверять заказчиком самостоятельно.
-
Реализована рандомизацию адресного пространства.
-
Ограничен доступ к журналу ядра.
-
Замена адресов ядра в /proc и других интерфейсах на 0.
-
Включена защита подсистемы eBPF JIT ядра Linux.
-
Ограничен доступ к событиям производительности.
-
Отключен системный вызов
kexec_load. -
Ограничено использование user namespaces.
-
Запрет системного вызова bpf для непривилегированных пользователей.
-
Настроен параметр ядра, определяющий минимальный виртуальный адрес, который процессу разрешено использовать для mmap. Установлено значение 4096
-
Запрет подключение к другим процессам с помощью
ptrace. -
Ограничены небезопасные варианты прохода по символическим ссылкам (symlinks).
-
Ограничены небезопасные варианты работы с жесткими ссылками (hardlinks).
-
Включена защита от непреднамеренной записи в FIFO-объект.
-
Включена защита от непреднамеренной записи в файл.
-
Запрет создания core dump для некоторых исполняемых файлов.
-
Включено использование pty для sudo.
-
Настроено журналирование для sudo.
-
Настроено использование механизма sudo таким образом, чтобы пароль не запоминался для выполнения последующих команд и запрашивался для каждой команды.
-
Изменение назначаемых по умолчанию прав. Установлены:
-
UMASK=027
-
DIR_MODE=0700
-
-
Настройки требований sshd. Установлены следующие параметры:
Protocol 2 PermitRootLogin no MaxAuthTries 10 или меньше PermitEmptyPasswords no PermitUserEnvironment no HostbasedAuthentication no LogLevel INFO LoginGraceTime 60 IgnoreRhosts yes UsePAM yes PrintLastLog yes ChallengeResponseAuthentication yes X11Forwarding no Ciphers aes128-ctr,aes192-ctr,aes256-ctr, aes128-gcm@openssh.com,aes256-gcm@openssh.com MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-256,hmac-sha2-512 KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 ClientAliveInterval 300 ClientAliveCountMax 3 -
Настройка TLS. Установлены следующие параметры:
-
/etc/httpd/conf.d/ssl.conf
SSLProtocol TLSv1.2 SSLHonorCipherOrder On SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 SSLCertificateFile <путь к сертификату> (1) SSLCertificateKeyFile <путь к закрытому ключу сертификата> (1) SSLCompression off SSLInsecureRenegotiation off1 Необходимо указание вручную. -
Настроено перенаправление на HTTPS.
-
Добавить директиву Header в конфигурационный файл Apache со значениями:
Header always set Strict-Transport-Security "max-age=600"; includeSubDomains; preload
-
-
Для критичных конфигурационных файлов выставлены соответствующие права.
-
Ограничен доступ к at/cron.
-
Настроен тайм-аут простоя пользовательской сессии. Установлено значение 15 минут.
-
Настроены следующие параметры для IP Forwarding:
net.ipv4.ip_forward = 0 net.ipv6.conf.all.forwarding = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 -
Отключены:
-
source routed packets
-
ICMP перенаправление
-
защищенное ICMP перенаправление
-
журналирование подозрительных пакетов
-
игнорирование широковещательных запросов ICMP
-
игнорирование фиктивных ICMP ответов
-
фильтрацию обратного пути
-
TCP SYN Cookies
-
-
Установлена аутентификация на single user mode.
-
Инициализация динамической памяти ядра нулем при ее выделении.
-
Запрет слияния кэшей аллокатора ядра.
-
Инициализация механизма IOMMU.
-
Рандомизация расположения стека ядра.
-
Включены средства защиты от аппаратных уязвимостей центрального процессора (для платформы x86).
-
Отключен устаревший интерфейс vsyscall.
-
Отключено монтирование виртуальной файловой системы debugfs.
-
Отключена технология Transactional Synchronization Extensions (TSX).
-
Определены привилегии на использование команды
su(su -). -
Удаление всех пользователей c UID 0, кроме root.
-
Установка для root-пользователя GID=0.
-
Удаление консолей , которые находятся в физически незащищенных местах.
-
Ограничена запись в общедоступные файлы.
-
Проверка наличия файлов/директорий без владельца.
-
Проверка наличия файлов/директорий, которые принадлежат несуществующим группам.
-
Проверка целостности PATH для root.
-
Установка на все домашние директории пользователей прав 700.
-
Установка соответствующего владельца для всех домашних директорий.
-
Удаление лишних разрешений для dot файлов в домашних каталогах интерактивных пользователей.
-
Удаление файлов .forward из домашних каталогов интерактивных пользователей.
-
Удаление файлов .netrc из домашних каталогов интерактивных пользователей.
-
Удаление файлов .rhosts из домашних каталогов интерактивных пользователей.
-
Проверка соответствия групп между /etc/passwd и /etc/group.
-
Установка уникальных UID для всех пользователей.
-
Установка уникальных GID для всех групп.
-
Проверка уникальности имен пользователей.
-
Проверка уникальности имен групп.
-
Исключение пользователей из группы shadow.
2.2.2. Применение профиля
-
Подключитесь по SSH к хосту, на котором будет устанавливаться профиль.
Для обеспечения должного уровня безопасности, профиль должен быть применен на всех хостах.
-
Скачайте из репозитория пакет с профилем безопасности:
wget https://repo-zvirt.orionsoft.ru/tools/system-security-set-ps-1.0.11-1358414.zvirt.el8.noarch.rpmИспользуйте последнюю доступную в репозитории версию.
-
Установите пакет:
dnf install ./system-security-set-ps-1.0.11-1358414.zvirt.el8.noarch.rpmПакет можно устанавливать в любой момент после развертывания хоста.
-
Запустите утилиту для применения профиля безопасности:
Данную утилиту можно запускать повторно, если требуется привести профиль ИБ к исходному состоянию.
-
Если узел журналирования неизвестен или вы хотите использовать localhost, запустите утилиту без параметров:
zvirt-system-security-setВ этом случае в конфигурационном файле
/etc/rsyslog.confне будет строки. @@<log_server>. -
Если вам известен удаленный узел журналирования, укажите его IP-адрес или доменное имя с помощью параметра
--log_server:zvirt-system-security-set --log_server=<address_log_server>После выполнения данной команды в файл
/etc/rsyslog.confбудет автоматически добавлена строка. @@<address_log_server>, и служба rsyslog будет отправлять журналы на указанный удаленный узел.
-