上週被要求裝台SFTP Server,要求要各自有各自的HOME directory
不能切到別人目錄
我就用RHEL 5光碟片裝在DELL R300
結果default 的openssh 4.x套件沒辦法chroot
先uninstall openssh* 再安裝下面三個
openssh-5.2p1-1.i386.rpm
openssh-clients-5.2p1-1.i386.rpm
openssh-server-5.2p1-1.i386.rpm
我將所有要連sftp的user 加入為sftpuser group
再設定/etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match Group sftpuser
ChrootDirectory /var/ftp/ftproot
ForceCommand internal-sftp
重點是/var/ftp/ftproot 的owner & group為root root
ftproot下再新增各自的directory
drwx------ 3 user1 sftpuser 4096 May 20 17:49 user1
drwx------ 4 user2 sftpuser 4096 May 20 17:28 user2
這樣user登入之後會看到這些目錄 但只能進入自己的目錄下上傳或下載
也無法cd 至該server的其它目錄
測試完了 放上Internet兩天沒理它 昨天一看log
竟有上萬筆的ssh login attempt.
因此決定加上denyhosts 這個機制 讓它自動把try連線的IP 擋掉
裝了 denyhosts-2.6-3.el5.rf.noarch.rpm
然後修改/etc/denyhosts/denyhosts.cfg後
直接/etc/init.d/denyhosts start
等了幾小時沒東西...
看/usr/share/denyhosts/data 裡的stats空空如也
再檢查log & cfg files
才發現RHEL裡 login failed的log在/var/log/messages
但denyhosts.cfg裡REDHAT預設去檢查/var/log/secure
把它改成/var/log/messages 再重run一遍
就可以在/etc/hosts.deny看到一堆deny IP list.