通过Chroot机制让服务器安全到底

http://tech.ddvip.com   2007年03月12日    社区交流

通过Chroot机制让服务器安全到底。

  接下来将Apache的相关文件拷贝到“监牢”中:

  #cp -a /usr/local/httpd/ /var/chroot/usr/local/

  可根据个人情况依次将Apache需要的文件复制到“监牢”中。

  “监禁”囚犯

  有时候需要为chroot“监牢”创建新的用户,比如Apache要求创建nobody用户作为子进程用户。鉴于可能有其它进程使用nobody,还可以使用另一用户——httpd。首先需要在真实系统中创建httpd用户:

  #useradd -d /var/chroot -s /usr/local/bin/jail httpd

  然后执行以下命令在chroot“监牢”中创建httpd用户:

  #/usr/local/bin/addjailuser /var/chroot /usr/local/httpd /usr/sbin/httpd httpd

  接下来修改/var/chroot/usr/local/httpd/conf/httpd.conf,将User nobody替换为User httpd。由于chroot后Apache将以httpd身份启动进程,只有root有权将Apache绑定在低端口上(通常为80),因此还需要修改端口值,该值必须大于1024(假设为8080)。这个修改要应用到Apache的所有配置文件中,包括虚拟主机的配置。至于Apache的其它设置,与在真实文件系统时一样配置即可。

  接下来需要复制一些其它的文件。启动Apache最常见的方式就是调用apachectl,这是个Bash脚本。查看这个文件,会发现如下行:

HTTPD='/usr/local/httpd/bin/httpd'
LYNX="lynx -dump"  
ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
ARGV="-h"
$HTTPD -k $ARGV
$HTTPD -k start -DSSL
$HTTPD -t
$LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '

责编:豆豆技术应用

正在加载评论...