實現安全的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後,選擇"站點"-->"站點管理器",新建一個站點,如下圖: