建议在 chroot jail 中运行 Apache 吗?

建议在 chroot jail 中运行 Apache 吗?

我认识的一位系统管理员建议我在 chroot jail 中运行 Apache,以增强安全性。

我有以下问题:

  1. 这是可取的吗(即我需要注意什么问题)?
  2. 在 chroot jail 中运行 Apache 是否会影响其性能和可扩展性等能力问题?

他还建议我在单独的 chroot jails 中运行我的数据库(mySQL 和 PostgreSQL)。

这是在生产系统中经常做的事情吗

[编辑]

忘了说了,服务器运行的是 Ubuntu 8.04 LTS

答案1

Chrooting 是一种很好的安全措施,它限制了成功利用漏洞时危害系统的可能性,但在某些情况下也有办法逃避 chroot,所以它不是保护系统的明确方法。

我不知道在性能和可扩展性方面有什么缺点。关于数据库访问,通常是通过 chroot 内部的套接字链接来完成的,这样您就不必打开任何网络端口来进行数据库连接。

编辑:下面是从 OpenBSD rc.local (OpenBSD chrooted httpd) 获取的 mysql 访问示例

if [ X"${mysql_server_flags-NO}" != X"NO" -a -x /usr/local/bin/mysqld_safe ]; then
        rm -R /var/www/var/run/mysql
        mkdir -p /var/www/var/run/mysql
        chown _mysql:_mysql   /var/www/var/run/mysql
        echo -n 'MySQL server: '; /usr/local/bin/mysqld_safe --user=_mysql ${mysql_server_flags} &
        sleep 10
        ln -f /var/run/mysql/mysql.sock /var/www/var/run/mysql/mysql.sock
fi

希望这可以帮助。

答案2

我有两个程序,其中一个是 apache httpd,它们通过 unix 域套接字相互通信。我已将它们切换为在 chroot 下运行,然后性能损失 %10。我认为这取决于正在运行的应用程序。我之前没有听说 Apache 在 chroot 下有任何性能损失,所以看起来我的第二个应用程序在 chroot 下性能下降了。

相关内容