- 论坛徽章:
- 0
|
转自:http://www.javaeye.com/post/166136
对于一些重要的/机密的文件的传输,
采用普通的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,很好用的。哈哈。
另外一个:
http://bbs.chinaunix.net/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 编辑 ] |
|