2010年11月23日 星期二

SFTP 基本安全性設定 on Ubuntu 10.04 LTS

本來想再裝個 vsftp的,但想到 OpenSSH還有 SFTP Server的功能,不要太浪費啦,
 就拿來用吧,但從 client 一登入才覺得怪怪的,怎麼會是在使用者的家目錄呢!?
 趕快咕狗一下找資料,簡單說明:
1)確認 OpenSSH 版本要在 4.8p1以上:
dpkg -l openssh-server


2)修改OpenSSH Server的設定檔 (預設 /etc/ssh/sshd_config)

 更改 Subsystem 的設定 (註解舊的,加上新的一行)
#Subsystem sftp /usr/lib/openssh/sftp-server 
Subsystem sftp internal-sftp 

  把 SFTP使用者設定連入限制 (寫在設定檔最後面)
Match user account                        //也可以限制group,另外多個帳號要用逗號隔開
ChrootDirectory /var/sftp        //設定登入的根目錄
ForceCommand internal-sftp

3)Chroot目錄權限設定:
參照 OpenSSH Chrootdirectory Permissions Issue
  •  由 Chroot目錄開始至上每層目錄(至系統根目錄)的擁有者必需為 root
  •  由 Chroot目錄開始至上每層目錄(至系統根目錄)都不可以讓group及other具入寫入權根
# sudo chown root.root /var/sftp
sudo chmod 755 /var/sftp

4)建立可供使用上傳及下載的SFTP 目錄: (我專門設定一個 User及Group,只能做SFTP之用)
# sudo mkdir /var/sftp/share
# chown account.account /var/sftp/share

5)重啟SSH服務測試:
 檢查 sshd_config 設定,
# sshd -T
 重新啟動  OpenSSH Server,
# service ssh restart

參考資料:
OpenSSH SFTP chroot() with ChrootDirectory
把 SFTP 關起來 (CHROOTED)

沒有留言:

張貼留言