实现安全的ftp访问
方法一:利用vsftp主配置文件中的tcp_wrappers (简易的防火墙)实现
方法二:利用CA认证实现安全的ftp访问
方法一的实现步骤:
1.主要修改的文件是/etc/hosts.allow /etc/hosts.deny
[root@mail ~]# ldd `which vsftpd`
2.控制实现的效果是只有192.168.1.0网络的能访问,其他的无法访问
[root@mail ~]# man 5 hosts.allow
[root@mail ~]# vim /etc/hosts.allow
vsftpd:192.168.1.0/255.255.255.0:allow (改写的东西)
[root@mail ~]# vim /etc/hosts.deny
vsftpd:all:deny
3.要实现针对于1.1的这个主机不能ftp。其他的都能。
[root@mail ~]# vim /etc/hosts.allow
vsftpd:192.168.1.1:deny
vsftpd:all:allow (添加的东西)
这样就可以实现效果了。这里只改写了allow文件,那个deny文件已经不起作用了,主要是系统先看allow的才看deny的
CA实现ftp的安全
[root@mail Server]# ll wir*
-r--r--r-- 328 root root 94405 2007-01-19 wireless-tools-28-2.el5.i386.rpm
-r--r--r-- 327 root root 24200 2007-01-19 wireless-tools-devel-28-2.el5.i386.rpm
-r--r--r-- 220 root root 11130359 2009-06-11 wireshark-1.0.8-1.el5_3.1.i386.rpm
-r--r--r-- 220 root root 686650 2009-06-11 wireshark-gnome-1.0.8-1.el5_3.1.i386.rpm
[root@mail Server]# yum install wireshark-1.0.8-1.el5_3.1.i386.rpm
[root@mail Server]# tshark -ni eth0 -R "tcp.dstport eq 21" (用于抓包通过这个端口的流量)
[root@mail ftproot]# cd /etc/pki/CA/
[root@mail pki]# vim ./tls/openssl.cnf
[root@mail CA]# touch index.txt serial
[root@mail CA]# mkdir certs newcerts crl
[root@mail pki]# echo "01" >serial
[root@mail CA]# openssl genrsa 1024 >private/cakey.pem
[root@mail CA]# chmod 600 private/*
[root@mail CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem
[root@mail pki]# mkdir -pv /etc/vsftpd/certs
[root@mail pki]# mkdir -pv /etc/vsftpd/certs
mkdir: 已创建目录 “/etc/vsftpd/certs”
[root@mail pki]# cd /etc/vsftpd/certs/
[root@mail certs]# openssl genrsa 1024 >vsftpd.key
[root@mail certs]# openssl req -new -key vsftpd.key -out vsftpd.crq
[root@mail certs]# openssl ca -in vsftpd.crq -out vsftpd.cert
[root@mail certs]# ll
总计 12
-rw-r--r-- 1 root root 3061 12-19 03:11 vsftpd.cert
-rw-r--r-- 1 root root 647 12-19 03:10 vsftpd.crq
-rw-r--r-- 1 root root 887 12-19 03:09 vsftpd.key
[root@mail certs]# chmod 600 /etc/pki/CA/certs/*
[root@mail certs]# ll
总计 12
-rw------- 1 root root 3061 12-19 03:11 vsftpd.cert
-rw------- 1 root root 647 12-19 03:10 vsftpd.crq
-rw------- 1 root root 887 12-19 03:09 vsftpd.key
实现服务器与CA的连接
[root@mail certs]# vim /etc/vsftpd/vsftpd.conf
force_local_data_ssl=YES #指定vsftpd强制非匿名用户使用加密的数据传输
force_local_logins_ssl=YES #指定vsftpd强制非匿名用户使用加密登录
ssl_enable=YES #指定vsftpd支持加密协议
ssl_sslv2=YES #指定vsftpd支持安全套接字层v2
ssl_sslv3=YES #指定vsftpd支持安全套接字层v3
ssl_tlsv1=YES #指定vsftpd支持tls加密方式v1
rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert #指定ftp-server的证书路径
rsa_private_key_file=/etc/vsftpd/.sslkey/vsftpd.key #指定ftp-server的私路径
6)只有lftp命令和第三方工具才支持访问ftps。下面以FlashFXP为例讲述如何连接到ftps。
a.打开FlashFXP后,选择"站点"-->"站点管理器",新建一个站点,如下图: