利用OpenSSH 5.0的Match打造sftp 监狱(jail,chroot)

在没有openssh4.9的时候,打造SFTP监狱是一件非常麻烦的事情,虽然后面出来了好多jail tool kit,可是还不方便,好在openssh5以后自带了这个功能

CentOS5,默认的ssh非常旧,用rpmfusion的源还是无法升级到5.折腾了下,找到了这个源

http://centos.alt.ru/repository/centos/readme.txt

然后简单升级一下就可以了 现在就是如何处理jail和用户组的关系和配置文件的参数顺序了,基本过程参考http://www.heiher.info/1093.html 补充需要注意的两点

1.配置文件中Match语句块的地方应该在最下面,也就是说你设置好了一些什么允许X转发和超时时间,AllowUsers等参数以后才能写Match语句块,否则会报错。

2.chroot的目录必须是root:0755,如果不是也会报错,直接登陆不上,如果你的目录比较深,包含一些不能root:0755的目录,那么建议这样,建立一个/home/jail,设置为root:0755,然后里面建立一些文件夹,mount --bind一下即可


配置文件示例:

#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
注释掉Subsystem的ftp选项,用 internal-sftp取而代之,%h表示用户的主目录
建立一个用户,加入sftp用户组,下面的就不讲了
mount目录
mount --bind /src/ /home/jail/dest/

额外的安全问题

给了他们上传文件的权限了,但是sftp对文档类型控制不是太严格,我找了下,没找到资料,应该对这些目录做一下安全设置

参见http://ihipop.info/2010/04/1138.html

Author Info :
  • From:利用OpenSSH 5.0的Match打造sftp 监狱(jail,chroot)
  • URL:https://blog.ihipop.com/2010/05/1233.html
  • Please Reserve This Link,Thanks!
  • 发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注