首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>本站原创>linux原创>文章内容
openssh记录sftp详细日志,并chroot用户目录
来源:www.vfocus.net 作者:vitter 发布时间:2009-08-18  

本站原创转载注明出处
by:vitter(vitter_at_safechina.net)
My blog: http://blog.securitycn.net
www.securitycn.net,www.vfocus.net,www.safechina.net

1 安装准备
下载openssh和sftp logging patch for openssh
http://www.openssh.org/
http://sftplogging.sourceforge.net/
以openssh-4.4p1为例

1.1 解压openssh
tar zxvf openssh-4.4p1.tar.gz

1.2 log补丁
patch -p0 < openssh-4.4p1.sftplogging-v1.5.patch

1.3 编译
cd openssh-4.4p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam
注:--with-pam是支持pam,--prefix=/usr --sysconfdir=/etc/ssh是与原来的sshd保持一致
make

1.4 如果1.3通过,停止sshd服务
service sshd stop

1.5 卸载 openssh-server和openssh
rpm -qa|grep openssh
openssh-clients-3.6.1p2-34
openssh-server-3.6.1p2-34
openssh-3.6.1p2-34

rpm -e --nodeps openssh-server-3.6.1p2-34
rpm -e --nodeps openssh-3.6.1p2-34
只卸载openssh-server和openssh,因为我们只关心这两个服务

1.6 安装刚刚编译的openssh
make install

1.7 重建 /etc/rc.d/init.d/sshd
cp contrib/redhat/sshd.init /etc/rc.d/init.d/sshd

1.8 重建 pam.d/sshd
cat /etc/pam.d/sshd
#%PAM-1.0
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth

1.9 openssh支持sftp上传下载日志记录
vi /etc/ssh/sshd_config

LogSftp yes
SftpLogFacility AUTH

vi /etc/syslog.conf
auth,authpriv.* /var/log/sftp.log

service syslog restart

1.10 重启 sshd
service sshd start

2 配置sshd以支持chroot

2.1 构建chroot环境

2.1.1 使用环境变量,方便
export CHROOT_PATH=/home/vitter

2.1.2 创建基本目录
mkdir -p $CHROOT_PATH/{bin,home,usr,lib}
chown -R root.root $CHROOT_PATH
cd $CHROOT_PATH

2.1.3 创建 /bin/bash环境
cp /bin/bash $CHROOT_PATH/bin/bash
for a in $(ldd /bin/bash | awk '{print $3}')
do
[ -e $CHROOT_PATH`dirname $a` ] || mkdir -p $CHROOT_PATH`dirname $a`
cp -f $a $CHROOT_PATH$a;
done

2.1.4 创建 sftp-server 环境
export SFTP_SERVER=`grep Subsystem /etc/ssh/sshd_config | awk '{print $3}'`
echo $SFTP_SERVER
mkdir -p $CHROOT_PATH/`dirname $SFTP_SERVER`
cp $SFTP_SERVER $CHROOT_PATH$SFTP_SERVER
for a in $(ldd $SFTP_SERVER | awk '{print $3}')
do
[ -e $CHROOT_PATH`dirname $a` ] || mkdir -p $CHROOT_PATH`dirname $a`
cp -f --reply=yes $a $CHROOT_PATH$a;
done

chroot环境已经搭建完毕,只有一个bash可供使用
sftp-server,是为了相应用户的sftp登陆的

2.2 配置chroot-openssh

2.2.1 添加或指定享受此待遇的用户,这里以sftptest为例
useradd -d /home/sftptest sftptest
mv /home/sftptest $CHROOT_PATH/home/sftptest
ln -s $CHROOT_PATH/home/sftptest /home/sftptest
passwd sftptest

这里使用了软连接,为了保持chroot环境和实际环境的一致。

2.2.2 修改sshd配置
[vi /etc/ssh/sshd_config]
UsePAM yes

2.2.3 修改sshd.pam配置
[vi /etc/pam.d/sshd]
session required pam_chroot.so

2.2.4 修改chroot配置
echo sftptest $CHROOT_PATH >> /etc/security/chroot.conf

2.2.5 重新启动
service sshd restart

3 可选操作,增加安全性
chattr -R +i $CHROOT_PATH
chattr -R -i $CHROOT_PATH/home


本博原创,如转载请注明出处:http://blog.vfocus.net,谢谢。

本文的引用网址:
/blog/mt-tb.cgi/176
 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·OPENVPN安装手册
·ssh-3.2记录sftp日志,并且chroo
·用linux构建仗剑江湖mud游戏服务
·Linux高可用(HA)集群笔记heartbe
·关于日志记录系统设计思想
·unix入侵及防御心得(一)(2)
·unix入侵及防御心得(一)(1)
·linux下的Informix安装配置
·Informix的数据库优化
·Linux下apache运行mysql,cgi,p
·Linux下安装Oracle817完美解决版
·改的一个非GBK的JSP的webshell
  相关文章
·用mod_gzip对Apache1.3做Web压缩
·在 RHEL3 上安装 Oracle 10g
·lvs+heard负载均衡文档(DR)
·Linux高可用(HA)集群笔记heartbe
·Informix的数据库优化
·linux下的Informix安装配置
·OPENVPN安装手册
·Linux下apache运行mysql,cgi,p
·Linux下安装Oracle817完美解决版
·ssh-3.2记录sftp日志,并且chroo
·改的一个非GBK的JSP的webshell
·unix入侵及防御心得(一)(2)
  推荐广告
CopyRight © 2002-2018 VFocuS.Net All Rights Reserved