通過vftps和虛擬帳號增強ftp的安全性

原理介紹:

一、帳號登錄:

1.匿名帳號  anonymous 

2.本地帳號  服務器本地的帳號

3.虛擬帳號  虛擬帳號-->映射-->物理帳號

二、ftp的安全性:

由於ftp協議屬於明文傳輸,因此帳號安全是ftp的一個重大問題因此我們需要通過一些方法來確保ftp的安全;在vsftp中,默認使用本地帳號和匿名帳號登錄服務器,如果被他人獲取ftp帳號,便可以通過此帳號登錄ftp服務器的主機,因此對ftp的安全性會有很大的威脅;

再次通過兩種方法來增加ftp服務器的安全性:

1 使用ssl安全套接層對ftp進行加密傳輸;

2 使用虛擬帳號技術來保證帳號和服務器的安全性;

三、爲Internet上的FTP服務器,系統的安全性是非常重要的,這是建立FTP服務器者所考慮的第一個問題。其安全性主要包括以下幾個方面:   

1 、未經授權的用戶禁止在服務器上進行FTP操作。   

2 、FTP用戶不能讀取未經系統所有者允許的文件或目錄。   

3 、未經允許,FTP用戶不能在服務器上建立文件或目錄。   

4 、FTP用戶不能刪除服務器上的文件或目錄。 

5 、FTP用戶不能切換目錄;

四、SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是爲網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡連接進行加密。

SSL協議位於TCP/IP協議與各種應用層協議之間,爲數據通訊提供安全支持。

五、虛擬帳號登錄原理:

wps_clip_image-4029

案例一:通過ssl安全套接層來實現ftps加密傳輸;

一、實驗步驟:

配置服務器ip地址:

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

wps_clip_image-15124

重啓network服務:

# service network restart

編輯證書配置文檔:

# vim /etc/pki/tls/openssl.cnf

wps_clip_image-28872

    //證書文件的主目錄

wps_clip_image-2865

wps_clip_image-8536

    //默認國家

wps_clip_image-9970

    //默認省份

wps_clip_image-5479

    //默認城市

搭建CA證書服務器

# cd /etc/pki/CA/

# mkdir crl certs newcerts   //創建證書服務器中所必需的三個目錄

# touch index.txt serial    //創建證書服務器中所必須的兩個文件

# echo "01" >serial    //在serial文件中寫入‘01’的值

# cd private/

# openssl genrsa 1024 >cakey.pem    //產生證書的私鑰

# chmod 600 cakey.pem   //改變證書私鑰的權限,保護期安全

# cd /etc/pki/CA/

# openssl req -new -key private/cakey.pem -x509 -days 3650 -out cacert.pem    //通過私鑰產生CA服務器的證書文件

wps_clip_image-1519

掛載光盤:

# mkdir /mnt/cdrom

# mount /dev/cdrom /mnt/cdrom/    //掛載

安裝vsftp服務

# cd /mnt/cdrom/Server/

# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm   //安裝vsftpd服務的包

給vsftp頒發證書:

# mkdir /etc/vsftpd/certs    //創建vsftpd證書存放目錄

# cd /etc/vsftpd/certs/

# openssl genrsa 1024 >vsftpd.key    //產生vsftpd自己的私鑰

# openssl req -new -key vsftpd.key -out vsftpd.csr   //vsftpd通過自己的私鑰產生證書請求

wps_clip_image-5008

# openssl ca -in vsftpd.csr -out vsftpd.cert    //通過證書請求,申請證書

wps_clip_image-21555

# chmod 600 *  改變vsftpd證書相關文件的權限

配置vsfpt配置文檔:

# vim /etc/vsftpd/vsftpd.conf

添加一下命令:

rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert    //vsftpd證書所在位置

rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key   //vsftpd私鑰所在位置

ssl_tlsv1=YES    //支持ssl的1版本

ssl_sslv2=YES    //支持ssl的2版本

ssl_sslv3=YES    //支持ssl的3版本

ssl_enable=YES    //開啓vsftpd的ssl加密

force_local_logins_ssl=YES    //對本地用戶的登錄信息進行加密

wps_clip_image-35

啓動vsftpd:

# service vsftpd start

創建本地帳號:

# useradd test1

# passwd test1

二、實驗測試:

使用FlashFXP ftp客戶端進行測試:

下載安裝FlashFXP後,創建一個ftp站點:

wps_clip_image-29562

新建站點:

wps_clip_image-12784

wps_clip_image-29516

wps_clip_image-9841

點擊連接後,會彈出ftp的證書:

wps_clip_image-7939

wps_clip_image-22585

驗證成功!!

案例二:通過虛擬帳號保證ftp服務器帳號的安全性;

一、實驗步驟:

掛載光盤:

# mkdir /mnt/cdrom

# mount /dev/cdrom /mnt/cdrom/

安裝vsftpd:

# cd /mnt/cdrom/Server/

# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm

安裝db_load包:

# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm

創建虛擬帳號數據庫的一個文本文件:

# vim /etc/vsftpd/viruser.txt

wps_clip_image-30980

將viruser.txt生成一個虛擬帳號數據庫:

# cd /etc/vsftpd/

# db_load -T -t hash -f viruser.txt viruser.db

編輯vsftp的主配置文檔,查看用戶通過pam身份驗證的接口文件:

# vim /etc/vsftpd/vsftpd.conf

wps_clip_image-20939

打開pem的接口文件,用於將ftp驗證指向定義的用戶數據庫:

# vim /etc/pam.d/vsftpd

wps_clip_image-29870

編輯vsftpd.conf虛擬帳號映射成真是目錄:添加兩行

# vim /etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=localuser

wps_clip_image-10317

啓動vsftpd服務:

# service vsftpd start

創建虛擬帳號的映射本地帳號:

# useradd localuser

# passwd localuser

更改localuser家目錄的權限:

# chmod a+rx /home/localuser

二、驗證測試:

在localuser家目錄中創建一個測試文件:

# touch /home/localuser/test.txt

首先登錄ftp:

wps_clip_image-3275

使用創建的虛擬帳號test1登錄ftp:右擊-->登錄

wps_clip_image-9393

輸入帳號test1:

wps_clip_image-651

wps_clip_image-22347

登錄成功!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章