Защита от Symlink атаки на CentOS.

Совсем недавно, разработчики Cloudlinux и Kernelcare сделали хороший подарок всем владельцам серверов на CentOS — теперь администраторы, работающие с этой ОС могут бесплатно, без активации и покупки каких-либо лицензий воспользоваться патчами с защитой от симлинк-атаки.

Для этого на сервер нужно будет установить kernelcare, и настроить его на работу с бесплатным набором патчей. Ставим kernelcare и активируем патчсет:

# curl -s https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash
# kcarectl --set-patch-type free --update

Далее смотрим, какому GID принадлежит Apache. На стандартных установках из RPM или с помощью пакетного менеджера, apache будет иметь gid 48. На серверах с cPanel gid апача будет 99. Создаём файл /etc/sysconfig/kcare/sysctl.conf, берём полученный gid, и прописываем туда:

fs.enforce_symlinksifowner = 1
fs.symlinkown_gid = 48

Важный момент — файл /etc/sysconfig/kcare/sysctl.conf не заменяет функционала привычного /etc/sysctl.conf полностью. Этот файл предусмотрен разработчиками потому, что при обновлении патчсета, заданные sysctl значения kernelcare сбрасываются. Будучи сохранёнными в этом файле, значения параметров, даже при обновлении патчей будут сохраняться.

Далее нам остаётся только применить правила в нашей системе, для этого выполняем команды:

# sysctl -w fs.enforce_symlinksifowner=1
# sysctl -w fs.symlinkown_gid=48

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

One thought on “Защита от Symlink атаки на CentOS.

  1. Добрый день. А как сделать тоже самое для nginx

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

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