执着成就未来 技术成就梦想
文字横幅以及760*60黄金广告位置招租,欢迎恰谈! 广告业务联系QQ:8019399 声明:在本站所投放广告内容均与本站立场无关!

您现在的位置: 中国安全在线 >> 攻防技术 >> 安全防御 >> 文章正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
使用route命令解决一机双网访问
探索Access数据库最佳NTFS权限设置
直接获取access、SQL Server等数据
Mssql Backup a Shell 突破特殊字符
针对ACCESS漏洞又一发现
榨干MS SQL最后一滴血
在MSSQL下实现Backup a shell
FTP服务中允许上传权限(Write Acce
MSSQL db_owner角色注入直接获得系
Access的跨库查询
用 RSSH 和 Chroot 保障复制文件的安全
作者:佚名 来源:安全在线 更新时间:2007-5-15 【字体:
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论

阅读提示:对于远程登录来说,SSH(Secure Shell)确实是好东西。通过使用SSH,我们可以把所有传输的数据进行加密,这样就可以阻止“中间人”这种攻击方式,还能够防止DNS欺骗和IP欺骗。

对于远程登录来说,SSH(Secure Shell)确实是好东西。通过使用SSH,我们可以把所有传输的数据进行加密,这样就可以阻止“中间人”这种攻击方式,还能够防止DNS欺骗和IP欺骗。而且如果考虑到安全的文件传输选择,我们就可以放弃使用FTP转而考虑使用如SCP或者SFTP,它们与FTP应用相似但采用SSH来进行验证和加密,如果我们使用基于UNIX的服务器,可以在命令方式下调用SCP或者SFTP。不过,这同时意味着别人也能够登录到你的系统并且执行其中的命令。即使你进行限制使其只能对SFTP访问,用户仍然享有对整个系统的完全的访问权限。

通过使用一种称为RSSH(restricted secure shell)的程序我们完全可以改变这种情况,此程序可从pizzashack.org下载。当然,如果厂商支持的话,用户还可以从其组件库中将此程序安装到您的Linux系统中。通过使用RSSH,你不但能够限制用户使用SCP和SFTP(也包括一些使用SSH进行传输的程序,如rsync 和cvs),而且可以依靠chroot去限制用户只能访问一个目录而不是整个的文件系统。

创建chroot通常情况下技巧性较强,下面这段脚本可以作为一个用于创建初始化chroot的范例:

#!/bin/sh

 chroot="${1}"

if [ "${chroot}" == "" ]; then

    echo "FATAL: I need a location to create the chroot!"

    exit 1

fi

if [ -e ${chroot} ]; then

    echo "FATAL: ${chroot} already exists!"

    exit 1

fi

mkdir -p ${chroot}/{usr/bin,lib,usr/lib/ssh,dev,etc}

for bin in /usr/bin/scp /usr/bin/rssh /usr/lib/rssh_chroot_helper

  /usr/lib/ssh/sftp-server;

do

    cp ${bin} ${chroot}${bin}

 

    for lib in `ldd ${bin} | awk '{print $3}'`;

    do

        if [ -f ${lib} ]; then

            cp ${lib} ${chroot}/${lib}

        fi

    done

done

cp /lib/ld-linux.so.2 ${chroot}/lib/

cp /lib/libcrypt.so.1 ${chroot}/lib/

cp /lib/libnss_compat.so.2 ${chroot}/lib/

mknod -m 0666 ${chroot}/dev/null c 1 3

上面这段脚本会被执行为:# mkchroot /chroot/user。

下一步就是要执行针对用户的特定操作,如为用户创建密钥文件:

# getent passwd user >/chroot/user/etc/passwd

此外,我们还需要修改其登录的外壳:

# usermod -s /usr/bin/rssh user

最后,编辑/etc/rssh.conf并增加如下一项:

user = "user:022:00011:/chroot/user"

这会将用户的默认umask设置为022,并提供SCP和SFTP的访问。

最后,确保关键字在rssh.conf中被启用:

allowscp

allowsftp

这样你就可以确保了安全的文件传输,并且不会暴露整个的文件系统或外壳(shell)访问。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力

文章录入:ls1238    责任编辑:ls1238 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系方式 | 友 情链接 | 关于我们 | 网站留言 |
    Copyright ?2003-2008 www.cnsafer.com All Rights Reserved.
    如有意见请与我们联系 Email:admin#mail.cnsafer.com 联系QQ:8589101
    中国安全在线友情提示:建议使用IE6.0或以上版本, 分辩率1024*768进行浏览
    敢想 敢做 挑战自我 努力做最好 打造最优秀的新手成长 第一起跑线
    中网科技有限公司 技术支持 鄂ICP备05006475号