- 論壇徽章:
- 0
|
轉自:http://www.javaeye.com/post/166136
對于一些重要的/機密的文件的傳輸,
采用普通的ftp明文傳輸,有可能造成信息
泄漏,所以采用ssl加密傳輸不失是一種較好的
解決方案.
案例:
freebsd+vsftpd 2.03+ssl
先前已經安裝了vsftpd2.03,現(xiàn)在要加入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)
現(xiàn)在知道了
root#make WITH_VSFTPD_SSL=yes install clean
3 完成之后,創(chuàng)建證書:
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 支持加密協(xié)議。
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,很好用的。哈哈。
另外一個:
http://72891.cn/viewthread.php?tid=543255
FTP client authenticated against username/passwords in LDAP database. Tested in Debian sarge
VSFTPD
1)enable SSL/PAM on on building vsftpd.
2)/etc/vsftpd.conf
listen=YES
anonymous_enable=NO
write_enable=YES
local_enable=YES
ssl_enable=YES
force_local_logins_ssl=YES
force_local_data_ssl=NO
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
#following useful values for ftp server behind firewall
pasv_enable=YES
pasv_min_port=50005
pasv_max_port=50010
SSL
Generate selfsinged certificates
openssl req -x509 -new -nodes -out vsftpd.pem -keyout vsftpd.pem -days 365
#copy vsftpd.pem /etc/ssl/certs/
LDAP
1)/etc/ldap/slapd.conf
suffix "dc=sarge,dc=local"
other default value should work
2)/etc/ldap/ldap.conf
host 127.0.0.1
base dc=sarge,dc=local
other default values should work
3)/etc/pam_ldap.conf
host 127.0.0.1
base dc=sarge,dc=local
other default values should work
4)/etc/pam.d/vsftpd
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth sufficient /lib/security/pam_ldap.so
account sufficient /lib/security/pam_ldap.so
5)create test user
#vi importuser
dn: cn=war,dc=sarge, dc=local
cn: war
sn: war
objectclass: top
objectclass: person
objectclass: posixAccount
uid:war
userpassword:pass123
uidnumber:110
gidnumber:110
loginShell:/bin/sh
homeDirectory: /home/war
dn: cn=ldap,dc=sarge, dc=local
objectclass: top
objectclass: posixGroup
cn: ldap
gidnumber: 110
memberuid: war
#ldapadd -x -D "cn=admin,dc=sarge,dc=local" -f importuser -W
Or use ldapbrower/editor GUI tool to edit ldap database
[ 本帖最后由 上岸的魚 于 2007-1-20 01:48 編輯 ] |
|