Защита систем Linux от атак по символическим ссылкам

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

1
14.03.2019, 17:22
2 ответа

В Linux можно использовать неизменяемый бит.

Файл с неизменяемым атрибутом не может быть:

  1. Изменено
  2. Удалено
  3. Переименован
  4. Никаких программных или жестких ссылок, созданных кем-либо, включая пользователя root

Используйте chattr (, чтобы проверить, поддерживает ли ваша ОС команду )для установки атрибута.

chattr +i file
chattr +i /path/to/filename

Вывод списка свойств файла относительно бита атрибута

lsattr /etc/shadow

Чтобы удалить неизменяемый бит:

chattr -i file
chattr -i /path/to/filename
1
27.01.2020, 23:30

Предотвращение создания символических ссылок Apache, вероятно, не сломает его.

В текущем Linux есть два системных вызова, которые могут создавать новые символические ссылки:symlinkи symlinkat.

man systemd.execговорит нам, что systemd может установить фильтр seccomp, чтобы запретить определенные системные вызовы:SystemCallFilter=~symlink symlinkat. И, согласно man systemd.unit, существующие служебные файлы systemd могут быть изменены с помощью файлов «вставить -», например. /etc/systemd/system/httpd.service.d/nosymlink.conf.

РЕДАКТИРОВАТЬ :Конечно, если вы запускали PHP как FastCGI в отдельном сервисе systemd, то это сервис, который вам нужно изменить вместо httpd.

Существует большое предостережение, связанное с этим подходом к «черному списку» :

.

Обновление ОС до нового ядра может добавить поддержку новых системных вызовов. К сожалению, даже более новый symlinkat()не добавил аргумент флагов. Поэтому в будущем может потребоваться добавить новый системный вызов, если поведение symlinkatнужно каким-либо образом изменить. Как ни странно, наиболее вероятной причиной этого является добавление AT _BENEATH поддержки symlinkat. Это может повторно -открыть "уязвимость", т.е. если более новые версии GNU libc направляют все создание символических ссылок через новый системный вызов symlinkat2().

2
27.01.2020, 23:30

Теги

Похожие вопросы