🐧 LFCA: как повысить безопасность системы Linux

Мануал

Как мы все знаем, пользователь root является королем и обладает неограниченными привилегиями в системе Linux.

Однако пользователи без полномочий root ограничены базовыми задачами.

Кроме того, пользователям sudo предоставляется только определенная степень привилегий root, которую пользователь root считает подходящей для выполнения определенных задач с повышенными привилегиями.

Проблемы возникают тогда, когда обычные пользователи имеют неконтролируемый доступ к ресурсам или непреднамеренно получают root-права.

Это серьезная угроза безопасности, которая может вызвать нарушения, нежелательные модификации и, в худшем случае, сбой системы.

Другой потенциальный риск – это когда файлы имеют менее безопасные права доступа.

Например, загрузочные файлы с разрешениями на запись для глобальных пользователей могут быть легко изменены или повреждены, что приведет к поломке системы.

Вам также может понравиться:

Хотя мы можем реализовать физическую, сетевую безопасность и безопасность данных, злоумышленник может обойти меры безопасности и воспользоваться такими лазейками.

По этой причине к безопасности файловой системы следует относиться не менее серьезно.

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

В области безопасности системы мы сконцентрируемся на следующих ключевых моментах:

  • Права доступа – права пользователей и групп.
  • Политики паролей с модулем PAM.

Права доступа – разделение пользователей и групп

Вы, наверное, слышали, что в Linux все считается файлом.

А если нет, то это процесс.

Каждый файл в системе Linux принадлежит пользователю и группе пользователей.

Он также имеет права доступа к файлам для 3 категорий пользователей: Пользователь (u), Группа (g) и Другие (o).

Полномочия представлены в виде чтения, записи и выполнения (rwx) для каждой категории пользователей.

rwx        rwx	     rwx
User       Group     Others

Вы можете просмотреть права доступа к файлам, используя подробный формат команды ls, как показано ниже:

$ ls -l

Далее показаны права собственности пользователей и групп, за которыми следует размер файла или каталога, дата изменения и, наконец, имя файла.

Изменение разрешений и прав собственности для файлов/каталогов

Права доступа пользователей к файлам и каталогам могут быть изменены по своему усмотрению.

Практическое правило – использовать принцип безопасности с наименьшими привилегиями.

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

Принцип минимальных привилегий ограничивает пользователей только определенными ролями и тем самым сводит к минимуму риск доступа злоумышленников к критическим данным и их изменения за счет использования учетной записи с низким уровнем доступа.

Это также уменьшает поверхность атаки и ограничивает распространение вредоносных программ в случае, если злоумышленник получит контроль над вашей системой.

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

На самом базовом уровне предоставляйте только минимум разрешений и прав собственности, необходимых пользователю для выполнения задач.

Мы рассмотрели, как изменить права доступа и права собственности пользователей на файлы/каталоги с помощью команд chmod и chown ранее:

🐧 Использование команд Chown и Chmod на Linux

Мониторинг прав SUID и SGID

SUID (Set User ID) – это еще одно специальное разрешение файла, которое позволяет другому обычному пользователю запускать файл с разрешениями владельца файла.

Обычно он обозначается символическим значением s в части прав доступа пользователя к файлу, а не x, который представляет права на выполнение.

SUID имеет числовое значение 4000.

SGID (Set Group ID) позволяет обычному пользователю наследовать права группы владельца группы файлов.

Вместо x для разрешений на выполнение вы увидите s в групповой части разрешений для файлов.

SGID имеет числовое значение 2000.

Какими бы удобными они ни казались, разрешения SUID и SGID связаны с рисками безопасности, и их следует избегать любой ценой.

Это потому, что они предоставляют особые привилегии обычным пользователям.

Если злоумышленник, выдающий себя за обычного пользователя, наткнется на исполняемый файл, принадлежащий пользователю root с установленным битом SUID, он может использовать эту лазейку и эксплуатировать систему.

Чтобы найти все файлы с установленным битом SUID в Linux, выполните команду find от имени пользователя root.

$ find / -perm -4000 type -f

Для каталогов запустите:

$ find / -perm -4000 type -d

Чтобы найти все файлы с установленным битом SGID, выполните:

$ find / -perm -2000 type -f

Для каталогов выполните:

$ find / -perm -2000 type -d

Чтобы удалить бит SUID в файле, выполните команду chmod, как показано ниже:

$ chmod u-s /path/to/file

Чтобы удалить бит SGID в файле, выполните команду:

$ chmod g-s filename /path/to/file

Применение политик паролей с помощью модуля PAM

Пользователи нередко устанавливают слабые пароли.

Хотя это и удобно, но ненадежные пароли можно легко взломать с помощью сценариев атаки методом перебора.

Модуль PAM (Pluggable Authentication Module) – это такой модуль, который позволяет системным администраторам применять политики паролей в системах Linux.

Для этого вам понадобится модуль pam_pwquality, который предоставляется библиотекой libpam_pwquality.

Модуль pam_pwquality проверяет надежность пароля по набору правил и системному словарю и определяет варианты слабых паролей.

Чтобы установить модуль pam_pwquality в Ubuntu 18.04 и более поздних версиях, запустите:

$ sudo apt install libpam_pwquality

На RHEL / CentOS 8 выполните команду:

$ sudo dnf install libpwquality

Файл конфигурации находится в следующем месте:

  • В системах Debian – /etc/pam.d/common-password
  • В системах RedHat – /etc/pam.d/system-auth

Ранее мы уже детально рассмотрели эту настройку:

Заключение

На этом мы завершаем тему, посвященную системной безопасности и основам безопасности в целом.
Во всей главе мы пролили свет на основные меры безопасности, которые вы можете реализовать для защиты своей системы Linux от злонамеренных пользователей, таких как хакеры или недовольные сотрудники.

 

Добавить комментарий