Как защитить жесткие и символические ссылки в CentOS / RHEL

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

Общей уязвимостью является symlink race.

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

Это практически происходит так:

программа проверяет, существует ли временный файл или нет, в противном случае она создает файл.

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

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

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

Поэтому в этой статье мы покажем вам, как защищать жесткие и символические ссылки от пользователей или хакеров в дистрибутивах CentOS / RHEL 7.

В CentOS / RHEL 7 существует жизненно важная функция безопасности, которая позволяет создавать ссылки или работать с программами только в том случае, если выполняются некоторые условия, как описано ниже.

Для жестких ссылок

Пользователю системы для создания ссылки необходимо выполнить одно из следующих условий.

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

Для символических ссылок

Процессам разрешено следовать только по ссылкам, которые находятся за пределами доступных для записи  (другим пользователям разрешено писать) каталогов с стики битами, или одно из следующего должно быть выполнено:

  • процесс, следующий пр символической ссылке, является владельцем символической ссылки.
  • владелец каталога также является владельцем символической ссылки.

Включение или отключение защиты жестких и символических ссылок

Важно отметить, что эта функция по умолчанию включена с использованием параметров ядра в файле /usr/lib/sysctl.d/50-default.conf (значение 1 означает enable).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Однако по той или иной причине, если вы хотите отключить эту функцию безопасности; создайте файл с именем /etc/sysctl.d/51-no-protect-links.conf с указанными ниже параметрами ядра (значение 0 означает «disable»).

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Сохраните и закройте файл.

Затем используйте приведенную ниже команду для выполнения вышеуказанных изменений (эта команда фактически загружает настройки из каждого файла конфигурации системы).

# sysctl --system
или
# sysctl -p  #on older systems

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40