簡介
FTP(文件傳輸協(xié)議)曾經(jīng)是在本地和遠(yuǎn)程計算機(jī)之間傳輸文件的一種流行方式。該協(xié)議本身存在安全隱患,因此它的使用已經(jīng)不再受青睞。
如果您仍然想使用 FTP 而不是像使用 SSH 協(xié)議實現(xiàn)文件傳輸?shù)母踩奶娲桨?SFTP,您可以通過配置 FTP 使用 SSL 來使其相對安全。
在本指南中,我們將在 Ubuntu 12.04 VPS 上配置 vsftpd 以使用 SSL 證書。
安裝 vsftpd
vsftpd 服務(wù)器可在 Ubuntu 的默認(rèn)軟件倉庫中找到。您可以通過輸入以下命令來安裝它:
sudo apt-get install vsftpd
現(xiàn)在我們在服務(wù)器上安裝了 vsftpd,但我們?nèi)匀恍枰獙ζ溥M(jìn)行配置。
配置基本的 vsftpd 功能
默認(rèn)的配置文件位于 /etc/vsftpd.conf
。以 root 權(quán)限打開它:
sudo nano /etc/vsftpd.conf
通過找到 anonymous_enable
參數(shù)并將其更改為 “NO”,禁用用戶匿名登錄:
anonymous_enable=<span class="highlight">NO</span>
接下來,我們需要啟用使用本地身份驗證文件的用戶登錄,因為我們已禁用了匿名訪問。取消注釋以下行:
local_enable=YES
為了使用戶能夠?qū)ξ募到y(tǒng)進(jìn)行修改,我們還需要取消注釋 write_enable
參數(shù):
write_enable=YES
此外,取消注釋 chroot_local_user
選項以將用戶限制在其個人主目錄中:
chroot_local_user=YES
保存并關(guān)閉文件。
創(chuàng)建 FTP 用戶
由于 vsftpd 保護(hù)其 chroot 牢籠的方式,chroot 不能由用戶擁有并且不能是可寫的。因此,最好為 FTP 使用專門的用戶。
像這樣創(chuàng)建用戶:
sudo adduser ftpuser
分配一個密碼,并隨時按 “ENTER” 鍵通過其他提示?,F(xiàn)在,將 ftpuser 的主目錄的所有權(quán)交給 root:
sudo chown root:root /home/ftpuser
我們需要在此主目錄中創(chuàng)建一個單獨(dú)的目錄,用于上傳文件。然后,我們需要將此目錄交給我們的 FTP 用戶:
sudo mkdir /home/ftpuser/files
sudo chown ftpuser:ftpuser /home/ftpuser/files
現(xiàn)在,我們應(yīng)該能夠以 ftpuser
的身份(不安全地)登錄并將文件上傳到 files
目錄中。
使用 vsftpd 配置 SSL
我們需要創(chuàng)建一些 SSL 證書以與 vsftpd 一起使用。我們可以使用以下命令來執(zhí)行此操作:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
這將創(chuàng)建一個有效期為一年的證書。它將被放置在 /etc/ssl/private/
目錄中,我們可以在我們的配置文件中引用它。
將 SSL 詳細(xì)信息添加到 vsftpd 配置
再次以 root 權(quán)限打開 vsftpd 配置文件:
sudo nano /etc/vsftpd.conf
在文件底部,您應(yīng)該找到與我們剛剛創(chuàng)建的 SSL 證書匹配的一行:
rsa_cert_file=/etc/ssl/private/vsftpd.pem
我們將在此下面添加額外的 SSL 信息。
當(dāng)我們創(chuàng)建證書時,我們在一個文件中包含了密鑰文件和證書,因此我們還可以將我們的私鑰行指向那個文件:
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
之后,我們將添加以下行以強(qiáng)制使用 SSL。這將限制無法處理 TLS 的客戶端,但這正是我們想要的。
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
之后,我們配置服務(wù)器使用 TLS,這實際上是 SSL 的后繼版本,并且更受歡迎:
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
最后,我們將需要添加一些額外的選項來完善我們的配置文件:
require_ssl_reuse=NO
ssl_ciphers=HIGH
保存并關(guān)閉文件。
現(xiàn)在,我們需要重新啟動我們的服務(wù)器以使更改生效:
sudo service vsftpd restart
如何使用 FileZilla 連接服務(wù)器
大多數(shù)現(xiàn)代 FTP 客戶端都可以配置為使用 SSL 和 TLS 加密。我們將演示如何使用 FileZilla 進(jìn)行連接,因為它支持跨平臺。
在配置面板中,您應(yīng)該看到一個在最左邊的按鈕,用于打開“站點(diǎn)管理器”。點(diǎn)擊它:
!FileZilla 打開站點(diǎn)管理器
在窗口界面的右下角點(diǎn)擊“新站點(diǎn)”:
!FileZilla 新站點(diǎn)
為新配置命名。填寫 IP 地址。在“加密”下拉菜單中,選擇“需要顯式 FTP over TLS”。
對于“登錄類型”,選擇“要求密碼”。在“用戶”字段中填寫您創(chuàng)建的 FTP 用戶:
!FileZilla 服務(wù)器配置
點(diǎn)擊界面底部的“連接”。您將被要求輸入用戶密碼:
!FileZilla 用戶密碼
然后將被要求接受 TLS 證書:
!FileZilla 服務(wù)器證書
現(xiàn)在您應(yīng)該已經(jīng)使用 TLS/SSL 加密連接到服務(wù)器了。文章來源:http://www.zghlxwxcb.cn/news/detail-861902.html
結(jié)論
這種設(shè)置提高了 FTP 的安全性,但在建立連接時仍存在不安全性。如果可能的話,最好切換到 SFTP 進(jìn)行這類操作。然而,如果您決定使用 FTP,應(yīng)確保盡可能使用 TLS/SSL。文章來源地址http://www.zghlxwxcb.cn/news/detail-861902.html
到了這里,關(guān)于如何在 Ubuntu VPS 上配置 vsftpd 使用 SSL/TLS的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!