星期日, 3月 27, 2011

mynas由原本的ProFTPD改用也支援TLS/SSL連結的FTP伺服器Pure-FTPd

2011-03-27002

mynas上原本常用的FTP伺服器為Proftpd,但其在mynas(利用Ubuntu 10.04所建構)上似乎TLS/SSL連結的功能有些問題。所以目前改用Pureftpd這一部分的功能,當然最重要的就是將Pureftpd的TLS/SSL功能開啟,於是在網路上搜尋齊相關資料和他的設置方式如下(原始參考文件請見附記)。
一般基本連接端口設置:
root@box:/etc/pure-ftpd/conf# echo ,21 > Bind
root@box:/etc/pure-ftpd/conf# echo xxx.xxx.xxx.xxx > ForcePassiveIP
root@box:/etc/pure-ftpd/conf# echo 4500 4600 > PassivePortRange

現在設置一些建議的安全設定:
root@box:/etc/pure-ftpd/conf# echo yes > ChrootEveryone
root@box:/etc/pure-ftpd/conf# echo yes > ProhibitDotFilesRead
root@box:/etc/pure-ftpd/conf# echo yes > ProhibitDotFilesWrite
root@box:/etc/pure-ftpd/conf# echo yes > NoChmod
root@box:/etc/pure-ftpd/conf# echo yes > BrokenClientsCompatibility

我們也設置了一些連接上的限制,以避免濫用:
root@box:/etc/pure-ftpd/conf# echo 4 > MaxClientsPerIP
root@box:/etc/pure-ftpd/conf# echo 20 > MaxClientsNumber

最重要的事情,我們需要決定的是哪些用戶授權方法,我們的伺服器會支援。選項包括Unix認證(任何一個登入FTP伺服器的帳戶),但我選擇PureDB認證,其中包括一個專門的pure - ftpd“虛擬用戶“。
因此,讓我們禁用Unix和PAM的認證,設置PureDB用戶文件路徑,並將其PureDB認證檔案連結到/etc/pure-ftpd/auth目錄內:
root@box:/etc/pure-ftpd/conf# echo no > PAMAuthentication
root@box:/etc/pure-ftpd/conf# echo no > UnixAuthentication
root@box:/etc/pure-ftpd/conf# echo /etc/pure-ftpd/pureftpd.pdb > PureDB
root@box:/etc/pure-ftpd/conf# ln -s /etc/pure-ftpd/conf/PureDB ../auth/50pure
現在,讓我們創建一個(system)的用戶和組,將被接連到所有FTP虛擬用戶。出於安全的原因,應該沒有特殊用戶的主目錄(-d /bin/null)和無殼連接(-s /bin/false):
root@box:/etc/pure-ftpd/conf# groupadd -g 2001 ftpgroup
root@box:/etc/pure-ftpd/conf# useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser

現在,我們可以使用pure-pw令來添加我們的第一個虛擬用戶(不要忘了“pure-pw mkdb“指令:它需要提交/確認更改用戶文件)
root@box:/etc/pure-ftpd/conf# pure-pw useradd myfirstuser -u ftpuser -d /var/ftp/public/
Password:
Enter it again:
root@box:/etc/pure-ftpd/conf# pure-pw mkdb

製作TLS/SSL支援和生成一個認證檔案:
root@box:/etc/pure-ftpd/conf# apt-get install openssl (先前沒安裝請安裝openssl)
root@box:/etc/pure-ftpd/conf# echo 1 > TLS (pureftpd對tls功能有多種選項,請參考附記和參考網站)
root@box:/etc/pure-ftpd/conf# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Generating a 1024 bit RSA private key
...
root@box:/etc/pure-ftpd/conf# chmod 600 /etc/ssl/private/pure-ftpd.pem
上面的動作完成後重新啟動:
root@box:/etc/pure-ftpd/conf# /etc/init.d/pure-ftpd restart

若安裝於Ubuntu 桌面版本請加裝其有視窗介面的PureAdmin(已包含在套件庫內),PureAdmin可以讓你方便去調整Pureftpd的啟動或關閉和相關訊息外,對於使用者的管理會更加的方便和容易。

附記:

上一篇貼文:Firefox 4有趣的下載統計網站

張貼分享 :

Powered by Windows Live Writer 2011 and Google文件

沒有留言: