茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1672758 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
P20090920_00016.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

小企鵝開談 : [轉貼]於CentOS6架設FTP-SSL

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]於CentOS6架設FTP-SSL

於CentOS6架設FTP-SSL

如果要在Internet上開放FTP的服務給使用者使用,比較安全的做法有SFTPFTPs,但是SFTP必需也要開放sshd,萬一OpenSSH存在系統漏洞的話,整個系統是很容易受到攻擊的!所以FTPs看起來是比較安全的應用,以下便簡單記錄怎麼在CentOS6中透過vsftpd架設FTPs。

Steps:
1. 檢查vsftpd是否有支援ssl:
[root@centos6 ~]# ldd `which vsftpd` | grep ssl
libssl.so.10 => /usr/lib/libssl.so.10 (0x00af1000) -> 看到libssl則代表有支援。

2. 產生vsftpd所需要的憑證:
[root@centos6 ~]# cd /etc/pki/tls/certs/
[root@centos6 certs]# make vsftpd.pem
[root@centos6 certs]# cp -a vsftpd.pem /etc/vsftpd/

3. 設定vsftpd.conf:

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ->注意!必需要手動產生一個chroot_list的空檔
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem

4. 啟動vsftpd
[root@centos6 vsftpd]# /etc/init.d/vsftpd restart
正在關閉 vsftpd: [ 確定 ]
正在啟動 vsftpd 中的 vsftpd: [ 確定 ]
[root@centos6 vsftpd]#

5. 在OSX透過Cyperduck測試:
5.1 設定連線為FTP-SSL

5.2 輸入FTP Server的IP address,系統會警告一個不被信任的憑證,當然此憑證是我剛剛產生的,所以要信任它囉:

大功告成!

原文出處:瘋狂帽客's Blog: 於CentOS6架設FTP-SSL
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]vsftp 配置 ftps
vsftp 配置 ftps
Posted on 12/11/2010 by william123617

先 ldd `which vsftpd` | grep ssl 查看vsftp是否支持 ftps

在 vsftpd.conf中加入 下面選項
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem

如果未改動其他內容,此時配置的是一個 ftpes伺服器,

因為默認埠為 21 ,而ssl_enable為YES,所以滿足ftp explicit over ssl 的條件。

再加入
implicit_ssl=YES
listen_port=990

此時vsftpd為一個ftps伺服器。也就是 ftp over ssl implicit

設定檔改動需要重啟vsftpd

rsa_cert_file=/etc/vsftpd/vsftpd.pem 可用下面命令生成
openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem

centos的vsftpd 不支援 implicit_ssl選項。
Starting vsftpd for vsftpd: 500 OOPS: unrecognised variable in config file:
implicit_ssl

vsftpd: version 2.0.5

啟動vsftpd ,用cutfpt、flashfxp等支援ssl的ftp用戶端軟體連一下,選TLS v1連接方式,一切OK。

原文出處:vsftp 配置 ftps | 沉寂的角落
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]搭建支持SSL加密傳輸的vftpd
Vsftpd完全攻略(四)搭建支持SSL加密傳輸的vftpd
2010-01-08 23:30:16

原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://viong.blog.51cto.com/844766/261354

ftp傳輸數據是明文,弄個抓包軟件就可以通過數據包來分析到賬號和密碼,為了搭建一個安全性比較高ftp,可以結合SSL來解決問題

SSL(Secure Socket Layer)工作於傳輸層和應用程序之間.作為一個中間層,應用程序只要採用SSL提供的一套SSL套接字API來替換標準的Socket套接字,就可以把程序轉換為SSL化的安全網絡程序,在傳輸過程中將由SSL協議實現數據機密性和完整性的保證.SSL取得大規模成功後,IETF將SSL作了標準化,並將其稱為TLS(Transport Layer Security).Ftp結合SSL,將實現傳輸數據的加密,保證數據不被別人竊取.

下面我們使用linux自帶的抓包工具tcpdump抓包分析,來截取ftp登錄用戶口令
[root@red-hat-5 vsftpd]# tcpdump -i eth0 -A |more
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
……………………………….
20:40:26.208724 IP 192.168.184.1.54516 > 192.168.184.129.ftp: S 289306029:28
9306029(0) win 8192 <mss 1460,nop,nop,sackOK>
.............>u.....p. ..V..........
20:40:26.210838 IP 192.168.184.129.ftp > 192.168.184.1.54516: S 1292926425:1
292926425(0) ack 289306030 win 5840 <mss 1460,nop,nop,sackOK>
E..0..@.@.H.............M.}..>u.p...S...........
20:40:26.212600 IP 192.168.184.1.54516 > 192.168.184.129.ftp: . ack 1 win 64
240
E..(m.@..................>u.M.}.P.............
20:40:26.229597 IP 192.168.184.129.ftp > 192.168.184.1.54516: P 42:48(6) ack
 1 win 5840
E....2@.@...............M.~..>u.P.......220
20:40:26.251901 IP 192.168.184.1.54516 > 192.168.184.129.ftp: P 1:16(15) ack
 48 win 64193
E..7m.@..................>u.M.~ P...#...USER viong
20:40:26.251989 IP 192.168.184.129.ftp > 192.168.184.1.54516: . ack 16 win 5
840
E..(.3@.@...............M.~     .>u.P.......
20:40:26.252116 IP 192.168.184.129.ftp > 192.168.184.1.54516: P 48:82(34) ac
k 16 win 5840
E..J.4@.@...............M.~     .>u.P...8...331 Please specify the password.
20:40:26.255680 IP 192.168.184.1.54516 > 192.168.184.129.ftp: P 16:31(15) ac
k 82 win 64159
E..7m.@..................>u.M.~+P....3..PASS 123456
E..Nm......R.............:.!............ EJFDEBFEEBFACACACACACACACACACAAA.. ..
20:40:31.301262 IP 192.168.184.129.ftp > 192.168.184.1.54516: P 82:105(23) ack 31
win 5840
E..?.6@.@...............M.~+.>u.P....H..230 Login successful.

從我們抓的數據包,可以看到賬號密碼,所以明文傳輸的數據安全性太可怕了

讓vsftpd支持SSL,必須讓OPENSSL0.9.6版本,還有就是本身vsftpd版本是否支持

查詢vsftpd軟件是否支持SSL
[root@localhost vsftpd]# ldd /usr/sbin/vsftpd |grep libssl
        libssl.so.6 => /lib/libssl.so.6 (0xf7f27000)   ==e說明此版本支持

如沒有輸出libssl.so.6 => /lib/libssl.so.6 (0xf7f27000)類似文本,說明此vsftpd版本不支持SSL
[root@red-hat-5 ~]#openssl req -x509 -nodes -days 365 -newkey rsa:1024 \-keyout /etc/vsftpd/vsftpd.pem \-out /etc/vsftpd/vsftpd.pem  ==e生成vsftpd.pem 證書
Generating a 1024 bit RSA private key
..++++++
....................................++++++
writing new private key to 'vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:cn
State or Province Name (full name) [Berkshire]: shanghai
Locality Name (eg, city) [Newbury]:shanghai
Organization Name (eg, company) [My Company Ltd]:ys   ==e根據提示填寫一些信息
Organizational Unit Name (eg, section) []:ys
Common Name (eg, your name or your server's hostname) []:viong
Email Address []:viong@viong.com

[root@localhost ~]# ll /etc/vsftpd/  ==e查看是否生成vsftpd.pem文件
-rw-r--r-- 1 root root  197 12-25 19:57 chroot_list
-rw--------1 root root 125 2007-12-13 ftpusers
-rw------- 1 root root  361 2007-12-13 user_list
-rw------- 1 root root 4396 12-25 19:19 vsftpd.conf
-rwxr--r-- 1 root root  338 2007-12-13 vsftpd_conf_migrate.sh
-rw-r--r-- 1 root root 2168 01-08 01:53 vsftpd.pem  ==e生成vsftpd.pem成功

[root@red-hat-5 ~]# vi /etc/vsftpd/vsftpd.conf  ==e編輯主配置文件,添加以下參數
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem

下面是ssl參數一些定義,根據自己需求去修改
ssl_enable=yes/no             //是否啟用 SSL,默認為no
allow_anon_ssl=yes/no         //是否允許匿名用戶使用SSL,默認為no
rsa_cert_file=/path/to/file       //rsa證書的位置
dsa_cert_file=/path/to/file      //dsa證書的位置
force_local_logins_ssl=yes/no    //非匿名用戶登陸時是否加密,默認為yes
force_local_data_ssl=yes/no     //非匿名用戶傳輸數據時是否加密,默認為yes
force_anon_logins_ssl=yes/no    //匿名用戶登錄時是否加密,默認為no
force_anon_data_ssl=yes/no     //匿名用戶數據傳輸時是否加密,默認為no
ssl_sslv2=yes/no               //是否激活sslv2加密,默認no
ssl_sslv3=yes/no                //是否激活sslv3加密,默認no
ssl_tlsv1=yes/no                //是否激活tls v1加密,默認yes
ssl_ciphers=加密方法            //默認是DES-CBC3-SHA

[root@red-hat-5 ~]# service vsftpd restart
關閉vsftpd:                                             [確定]
為vsftpd啟動vsftpd:                                     [確定]

通過FlashFXP連接FTP

下載地址:http://duote.com/soft/11584.html

如下圖:
打開FlashFXP按F4跳出站點管理器.填寫ftp目標地址並選擇連接類型



接受並保存證書



連接成功



傳輸數據成功



接下來我們同樣通過tcpdump抓包分析
[root@red-hat-5 vsftpd]# tcpdump -i eth0 -A |more
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
………………………………………………………….省略
E..(.l@................._.W.h...P....)........
15:55:03.887804 IP 192.168.184.129.ftp > 192.168.184.1.53447: P 1:36(35) ack 1 win 5840
E..K
3@.@.>.............h..._.W.P....s..220-........YSPLAY........FTP....

15:55:03.888817 IP 192.168.184.129.ftp > 192.168.184.1.53447: P 36:42(6) ack 1 win 5840
E...
4@.@.>.............h..._.W.P...Q...220-

15:55:03.888982 IP 192.168.184.1.53447 > 192.168.184.129.ftp: . ack 42 win 64199
E..(.m@................._.W.h...P....)........
15:55:03.889715 IP 192.168.184.129.ftp > 192.168.184.1.53447: P 42:48(6) ack 1 win 5840
E...
5@.@.>.............h..._.W.P...Q...220

15:55:03.893159 IP 192.168.184.1.53447 > 192.168.184.129.ftp: P 1:11(10) ack 48 win 64193
E..2.n@................._.W.h...P.......AUTH SSL  =======e說明SSL加密成功

通過測試得知數據傳輸已經被加密,說明支持SSL加密的vsftp搭建成功

原文出處:Vsftpd完全攻略(四)搭建支持SSL加密传输的vftpd - 技术在于折腾 - 51CTO技术博客
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]為 vsftpd 加上 ssl 支持
為vsftpd加上ssl支持。

對於一些重要的/機密的文件的傳輸,
採用普通的ftp明文傳輸,有可能造成信息
洩漏,所以採用ssl加密傳輸不失是一種較好的
解決方案.
案例:
freebsd+vsftpd 2.03+ssl
先前已經安裝了vsftpd2.03,現在要加入ssl支持。
切換到root權限下:
1 安裝openssl,
root#cd /usr/ports/security/openssl
root#make install clean

2 重新安裝vsftpd2.03,加入ssl支持。
root#/cd /usr/ports/ftp/vsftpd/
root#make deinstall

不知道 ssl的編譯參數是多少?
查看Makefile文件。
root#more Makefile

看到有一行
.if !defined(WITHOUT_SSL) && defined(WITH_VSFTPD_SSL)

現在知道了
root#make WITH_VSFTPD_SSL=yes install clean

3 完成之後,創建證書:
openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem

填寫相關內容後,生成vsftpd.pem證書
將次證書放在。/usr/share/ssl/目錄下

4 修改vsftpd.conf文件
root#ee /usr/local/etc/vsftpd.conf

加入一些內容:
ssl_enable=YES
ssl_sslv2=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/usr/share/ssl/vsftpd.pem

ssl_enable=YES 支持加密協議。
ssl_sslv2=YES 支持安全套接字層 v2
force_local_data_ssl=YES
force_local_logins_ssl=YES
這兩行強制非匿名用戶使用加密登陸和數據傳輸,如果設定為NO,則用戶可以選擇加密,也可以不加密。
rsa_cert_file=/usr/share/ssl/vsftpd.pem
指明證書的路徑
默認為:=/usr/share/ssl/certs/vsftpd.pem

5 重起vsftpd,
使用客戶端測試。
以FileZilla為例 Servertype 由ftp修改為FTP over SSL(explicit encryption),
同時修改傳輸模式 Edit->Settings->Firewall settings,選中Passive Mode(如果ftp在防火牆內部)
FileZilla是一個開源的ftp client,很好用的。哈哈。


原文出處:为vsftpd加上ssl支持。 - myaniu - ITeye技术网站
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|