如何实现ftp的安全 简易的防火墙tcp_wrappers 和ca认证

实现安全的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后,选择"站点"-->"站点管理器",新建一个站点,如下图:

 

你可能感兴趣的:(ftp)