Системный администратор посоветовал мне запустить 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. Имейте в виду, что это может быть сложно воспроизвести, если вы планируете развернуть это в большом масштабе.