Защита от 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.

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

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