Назад | Перейти на главную страницу

Как chroot Apache на CentOS?

Системный администратор посоветовал мне запустить Apache в chroot-тюрьме, чтобы злоумышленник не мог получить контроль над сервером.

Итак, мой вопрос:

Я слышал о mod_security SecChrootDir, но не знаю, подойдет ли он для моей конфигурации, в нем говорится, что он рекомендуется только для статических файлов в документации.

Спасибо!

Вот где, вероятно, проще просто пойти с SELinux. Документировано даже, как это работает под CentOS и Apache:

http://wiki.centos.org/HowTos/SELinux

Короче говоря, если вы используете SELinux и Apache, худшее, что может случиться, - это то, что злоумышленник может получить доступ и изменить файлы только в одном домене httpd. Этот злоумышленник не мог запускать процессы за пределами домена httpd или получать доступ к файлам, не связанным с httpd.

РЕДАКТИРОВАТЬ: важно отметить, что реальная проблема заключается в предотвращении или смягчении повышения привилегий. Chroot может помочь, но это не полное доказательство - при поиске информации о безопасности chroot я обнаружил этот, которые привели меня к этому:

http://www.linuxsecurity.com/content/view/117632/49/

Из этой ссылки важно помнить, что чем больше программного обеспечения вы развертываете в chroot, тем больше шансов, что кто-то сможет вырваться из тюрьмы. Имейте это в виду, когда вы пытаетесь получить apache, а также вспомогательные библиотеки, работающие в chroot jail.

Взгляни на mod_chroot

Заставить динамические веб-страницы работать под chroot может быть сложно, мы не могли заставить mod_chroot работать с Django, поэтому мы сделали это долгим и ручным способом:

mkdir /chroot
''populate /chroot with everything you need, this is a long process'''
chroot /chroot /usr/sbin/apache2 -k start

Если у вас есть копия двоичного файла apache в / chroot / usr / sbin /. Команда chroot порождает команду, выполняемую в тюрьме, найденной в первом аргументе.

Заполнение было гораздо более масштабным процессом, в Интернете есть много документов с тем, что нужно Apache для запуска, на что вам нужно взглянуть.

Есть отличный учебник для этого на nixCraft. Имейте в виду, что это может быть сложно воспроизвести, если вы планируете развернуть это в большом масштабе.