Как мы все знаем, пользователь root является королем и обладает неограниченными привилегиями в системе Linux.
Однако пользователи без полномочий root ограничены базовыми задачами.
Кроме того, пользователям sudo предоставляется только определенная степень привилегий root, которую пользователь root считает подходящей для выполнения определенных задач с повышенными привилегиями.
Проблемы возникают тогда, когда обычные пользователи имеют неконтролируемый доступ к ресурсам или непреднамеренно получают root-права.
Это серьезная угроза безопасности, которая может вызвать нарушения, нежелательные модификации и, в худшем случае, сбой системы.
Другой потенциальный риск – это когда файлы имеют менее безопасные права доступа.
Например, загрузочные файлы с разрешениями на запись для глобальных пользователей могут быть легко изменены или повреждены, что приведет к поломке системы.
Вам также может понравиться:
- 🐧 LFCA: Как улучшить сетевую безопасность
- 🐧 LFCA – Полезные советы по защите данных Linux
- 🐧 LFCA: основные советы по безопасности для защиты системы Linux
Хотя мы можем реализовать физическую, сетевую безопасность и безопасность данных, злоумышленник может обойти меры безопасности и воспользоваться такими лазейками.
По этой причине к безопасности файловой системы следует относиться не менее серьезно.
Она обеспечивает дополнительный уровень защиты от атак или внутренних угроз со стороны злоумышленников, которым не нужно делать тяжелую работу по обходу мер безопасности для доступа к файлам.
В области безопасности системы мы сконцентрируемся на следующих ключевых моментах:
- Права доступа – права пользователей и групп.
- Политики паролей с модулем PAM.
Права доступа – разделение пользователей и групп
Вы, наверное, слышали, что в Linux все считается файлом.
А если нет, то это процесс.
Каждый файл в системе Linux принадлежит пользователю и группе пользователей.
Он также имеет права доступа к файлам для 3 категорий пользователей: Пользователь (u), Группа (g) и Другие (o).
Полномочия представлены в виде чтения, записи и выполнения (rwx) для каждой категории пользователей.
rwx rwx rwx User Group Others
Вы можете просмотреть права доступа к файлам, используя подробный формат команды ls, как показано ниже:
$ ls -l
Далее показаны права собственности пользователей и групп, за которыми следует размер файла или каталога, дата изменения и, наконец, имя файла.
Изменение разрешений и прав собственности для файлов/каталогов
Права доступа пользователей к файлам и каталогам могут быть изменены по своему усмотрению.
Практическое правило – использовать принцип безопасности с наименьшими привилегиями.
Проще говоря, убедитесь, что пользователи получают минимальные права доступа или разрешения, необходимые для выполнения работы.
Принцип минимальных привилегий ограничивает пользователей только определенными ролями и тем самым сводит к минимуму риск доступа злоумышленников к критическим данным и их изменения за счет использования учетной записи с низким уровнем доступа.
Это также уменьшает поверхность атаки и ограничивает распространение вредоносных программ в случае, если злоумышленник получит контроль над вашей системой.
Следовательно, если пользователю нужно только просмотреть содержимое файла или каталога, ему не следует предоставлять разрешения на выполнение или запись.
На самом базовом уровне предоставляйте только минимум разрешений и прав собственности, необходимых пользователю для выполнения задач.
Мы рассмотрели, как изменить права доступа и права собственности пользователей на файлы/каталоги с помощью команд chmod и chown ранее:
Мониторинг прав 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
Ранее мы уже детально рассмотрели эту настройку:
- Как заставить пользователей использовать сильные пароли в Debian, Ubuntu
- 🤦♀️ Как принудительно применять политику сложности паролей в Ubuntu 18.04
- 🇭🇳 Как настроить систему CentOS / RHEL для запрета использования последних 3 паролей
- 🎢 Как ограничить пользователей и группы Active Directory для входа на клиенте CentOS / RHEL
- 🤹♂️ Применение политики сложности паролей в производных CentOS 7 / RHEL
- Как установить политику паролей в CentOS / RHEL 7
Заключение