ftps linux 服务器,linux下ftps服务器的搭建总结
不简单的s,增加ftp的安全性 ----ftps
ftp的简介和工作模式
FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。
FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
主动模式:FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
被动模式:FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
注意:被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
实验环境
1操作系统 linux redhat enterprise 5 版本号2.6.18-164.el5
案例一:
需求分析:通过为自己企业的ftp增加ssl的功能,有效提高ftp服务器的安全性。
一:搭建自己的证书服务器(CA服务器,我们使用linux 自带的openssl 来进行搭建即可)
1:安装openssl 的rpm包
[root@zzu ~]# mount /dev/cdrom /mnt/cdrom/ 将自己的光盘进行挂载
[root@zzu Server]# ll openssl*
-r--r--r-- 319 root root 845408 2008-12-23 openssl097a-0.9.7a-9.el5_2.1.i386.rpm
-r--r--r-- 108 root root 1513450 2009-07-20 openssl-0.9.8e-12.el5.i386.rpm
-r--r--r-- 130 root root 1499080 2009-07-20 openssl-0.9.8e-12.el5.i686.rpm
-r--r--r-- 125 root root 1955524 2009-07-20 openssl-devel-0.9.8e-12.el5.i386.rpm
-r--r--r-- 108 root root 34568 2009-07-20 openssl-perl-0.9.8e-12.el5.i386.rpm
[root@zzu Server]# rpm -ivh openssl-0.9.8e-12.el5.i386.rpm
[root@zzu Server]# rpm -ivh openssl-devel-0.9.8e-12.el5.i386.rpm
[root@zzu Server]# rpm -ivh openssl-devel-0.9.8e-12.el5.i386.rpm
2:修改ca服务器的配置文件
[root@zzu ~]# cd /etc/pki/
[root@zzu pki]# ll
drwx------ 3 root root 4096 2012-02-08 CA
drwxr-xr-x 2 root root 4096 2012-02-08 nssdb
drwxr-xr-x 2 root root 4096 2012-02-08 rpm-gpg
drwxr-xr-x 5 root root 4096 2012-02-08 tls
[root@zzu pki]# vim tls/openssl.cnf
45 dir = /etc/pki/CA/ 更改第45行
88—90行将match 改为optional ,允许ca服务器为其他部门的服务器颁发证书
88 countryName = optional
89 stateOrProvinceName = optional
90 organizationName = optional
3:切换到CA 目录下面,建立3个目录和2个文件
[root@zzu pki]# pwd
/etc/pki
[root@zzu pki]# cd CA
[root@zzu CA]# mkdir certs newcerts crl 证书目录 ,证书的吊销列表目录
[root@zzu CA]# touch index.txt index.txt文件
[root@zzu CA]# echo "01" >serial serial文件
[root@zzu CA]# ll
drwxr-xr-x 2 root root 4096 Feb 7 19:47 certs
drwxr-xr-x 2 root root 4096 Feb 7 19:47 crl
-rw-r--r-- 1 root root 0 Feb 7 19:47 index.txt
drwxr-xr-x 2 root root 4096 Feb 7 19:47 newcerts
drwx------ 2 root root 4096 Jun 30 2009 private
-rw-r--r-- 1 root root 3 Feb 7 19:47 serial
4:为ca服务器建立自己的钥匙和证书文件
[root@zzu CA]# openssl genrsa 1024 >private/cakey.pem 产生钥匙文件
Generating RSA private key, 1024 bit long modulus
.....................++++++
..++++++
e is 65537 (0x10001)
[root@zzu CA]# chmod 600 private/cakey.pem 改变私钥的相应的权限,增加安全性
[root@zzu CA]# ll private/cakey.pem
-rw------- 1 root root 891 Feb 7 19:49 private/cakey.pem
##这里我们可以指明证书的格式为-x509,有效日期10年
[root@zzu CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
###证书的相关信息
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:BEIJING
Locality Name (eg, city) [Newbury]:BEIJING
Organization Name (eg, company) [My Company Ltd]:SENCICE
Organizational Unit Name (eg, section) []:TEC
Common Name (eg, your name or your server's hostname) []:rootca.net.net
Email Address []:
[root@zzu CA]# ll
total 28
-rw-r--r-- 1 root root 1147 Feb 7 19:54 cacert.pem
drwxr-xr-x 2 root root 4096 Feb 7 19:47 certs
drwxr-xr-x 2 root root 4096 Feb 7 19:47 crl
-rw-r--r-- 1 root root 0 Feb 7 19:47 index.txt
drwxr-xr-x 2 root root 4096 Feb 7 19:47 newcerts
drwx------ 2 root root 4096 Feb 7 19:49 private
-rw-r--r-- 1 root root 3 Feb 7 19:47 serial
这样我们的CA服务器就搭建好啦,接下来我们就来搭建自己的ftp服务器
二: 搭建自己企业的ftp服务器
1: 安装vsftp的rpm包
[root@zzu ~]# cd /mnt/cdrom/Server/
[root@zzu Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
warning: vsftpd-2.0.5-16.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[root@zzu Server]#
2:创建一个自己的certs目录存放自己的ftp的证书的钥匙、请求文件、证书文件。
[root@zzu ~]# cd /var/ftp/
[root@zzu ftp]# ll
total 4
drwxr-xr-x 2 root root 4096 May 13 2009 pub
[root@zzu ftp]# mkdir certs
[root@zzu ftp]# ll
total 8
drwxr-xr-x 2 root root 4096 Feb 7 20:00 certs
drwxr-xr-x 2 root root 4096 May 13 2009 pub
[root@zzu ftp]# cd certs/
[root@zzu certs]# openssl genrsa 1024 >ftp.key 产生钥匙文件
Generating RSA private key, 1024 bit long modulus
................++++++
.....++++++
e is 65537 (0x10001)
[root@zzu certs]# openssl req -new -key ftp.key -out ftp.csr 产生请求的文件
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----请求的相关信息
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:HENAN
Locality Name (eg, city) [Newbury]:HENAN
Organization Name (eg, company) [My Company Ltd]:ZZU
Organizational Unit Name (eg, section) []:ZZU
Common Name (eg, your name or your server's hostname) []:www.zzu.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@zzu certs]# openssl ca -in ftp.csr -out ftp.crt请求CA服务器为自己的ftp服务器签发证书
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 1 (0x1)
Validity
Not Before: Feb 7 12:04:20 2012 GMT
Not After : Feb 6 12:04:20 2013 GMT
Subject:
countryName = CN
stateOrProvinceName = HENAN
organizationName = ZZU
organizationalUnitName = ZZU
commonName = www.zzu.com
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
E6:E2:BD:31:F6:4A:3C:9A:FB:E4:6F:75:71:87:65:BD:99:5E:49:94
X509v3 Authority Key Identifier:
keyid:11:03:59:C8:3D:8E:B0:59:8D:BF:EF:7A:7F:C7:47:5C:D9:7A:0E:66
Certificate is to be certified until Feb 6 12:04:20 2013 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
[root@zzu certs]# ll 我们已经有啦自己的证书和钥匙文件
-rw-r--r-- 1 root root 3068 Feb 7 20:04 ftp.crt
-rw-r--r-- 1 root root 639 Feb 7 20:02 ftp.csr
-rw-r--r-- 1 root root 891 Feb 7 20:00 ftp.key
3:更改文件的权限为600,提高ftp的安全性
[root@zzu certs]# chmod 600 *
[root@zzu certs]# ll
total 12
-rw------- 1 root root 3068 Feb 7 20:04 ftp.crt
-rw------- 1 root root 639 Feb 7 20:02 ftp.csr
-rw------- 1 root root 891 Feb 7 20:00 ftp.key
4:将ftp服务器设置为自动启动
[root@zzu certs]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
You have mail in /var/spool/mail/root
[root@zzu certs]# chkconfig vsftpd on
[root@zzu certs]# netstat -tupln|grep ftp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 4172/vsftpd
三:在客户端进行验证
1:安装wireshark的抓包工具 wireshark-1.0.8-1.el5_3.1.i386.rpm
[root@zzu ~]# cd /mnt/cdrom/Server/
[root@zzu Server]# yum install wireshark
2:增加一个本地账户
[root@zzu Server]# useradd user1
[root@zzu Server]# echo "123"|passwd --stdin user1
Changing password for user user1.
passwd: all authentication tokens updated successfully.
3:登录
4:查看抓到的包
[root@zzu certs]# tshark -ni eth0 -R "tcp.dstport eq 21"
Running as user "root" and group "root". This could be dangerous.
18.103720 192.168.10.10 -> 192.168.10.100 FTP Request:USER user1
18.360719 192.168.10.10 -> 192.168.10.100 TCP 3560 > 21 [ACK] Seq=13 Ack=55 Win=65481 Len=0
20.532824 192.168.10.10 -> 192.168.10.100 FTP Request: PASS 123
20.674152 192.168.10.10 -> 192.168.10.100 TCP 3560 > 21 [ACK] Seq=23 Ack=78 Win=65458 Len=0 这样的话我们的密码就泄露啦
5:将ftp服务器与自己的钥匙和证书进行捆绑
[root@zzu ftp]# man 5 vsftpd.conf 我们可以参考vsftpd的配置手册进行帮助
在这里我们需要使用以下的参数
force_local_logins_ssl=YES 对本地用户进行ssl的加密验证
force_local_data_ssl=YES 对本地用户所传输的数据进行ssl的加密
ssl_enable=yes 开启ssl的验证功能
ssl_tlsv1=YES 支持ssl的v1版本 (由于被标准化组织给收购啦,前身叫tls,所以仍然保留该名称)
ssl_sslv2=YES 支持ssl的v2版本
ssl_sslv3=YES 支持ssl的v3版本
rsa_cert_file=/var/ftp/cert/ftp.crs 指出ftp的证书文件的所在的位置
rsa_private_key_file=/var/ftp/certs/ftp.key 指出ftp的私钥文件的所在的位置
6:修改ftp的配置文件
[root@zzu certs]# vim /etc/vsftpd/vsftpd.conf
7:重新启动vsftpd的服务
[root@zzu ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
8:由于在命令行的提示符下我们无法看到相应的提示,所以在这里我们使用专用的客户的软件进行测试
软件的名称 FlashFXP-v4.0.154 你只要一路向下即可完成相应的安装,软件的主页面
9:在站点管理器增加自己的ftp的地址
10.我们已经登录上了郑州大学的ftp服务器啦
11:我们再次来观察我们抓到的ip包,我们看到我们的用户名和密码已经被加密啦
4761.621409 192.168.10.10 -> 192.168.10.100 FTP Request: AUTH SSL
4761.710102 192.168.10.10 -> 192.168.10.100 FTP Request: \200\310\001\003\001\000\237\000\000\000 \000\300\024\000\300
4761.712400 192.168.10.10 -> 192.168.10.100 FTP Request: \026\003\001\000\206\020\000\000\202\000\200\210go\216\027`\314\374\360\217A\302\351\207aMp\316\017\216\031tp@\tcJ\005\350F\001\240\375\302t\223\b\316q\350
4761.817309 192.168.10.10 -> 192.168.10.100 TCP 1122 > 21 [ACK] Seq=403 Ack=893 Win=64643 Len=0
4796.023936 192.168.10.10 -> 192.168.10.100 FTP Request: \027\003\001\000\030\023\336\036\3609\245u\205\004\210\232\270B\212\214O\257\303,\257h\004\244\231\027\003\001\000 \223\024
4796.026042 192.168.10.10 -> 192.168.10.100 FTP Request: \027\003\001\000\030T.\3445P\263\372\353\370\337\240\305U\023r}\315\372L\214\376\360\256\002\027\003\001\000(\317h\3406\356"9\367\312\360\270kZ\361C\226:\220\356`!\335Q$\366\264\346\205\213u^\241\017NQ\373\f\241\342\231
6e\330`J\027\003\001\000 5\346\026\230*\200\225Y\360
4970.008940 192.168.10.10 -> 192.168.10.100 TCP 1122 > 21 [ACK] Seq=10785 Ack=10641 Win=65281 Len=0
4970.009087 192.168.10.10 -> 192.168.10.100 TCP 1122 > 21 [ACK] Seq=10785 Ack=10660 Win=65262 Len=0
4970.009707 192.168.10.10 -> 192.168.10.100 TCP 1122 > 21 [ACK] Seq=10785 Ack=10680 Win=65242 Len=0
4970.009985 192.168.10.10 -> 192.168.10.100 FTP Request: \025\003\001\000\030{\340\217\327\023\242\202\312t/tQW\374\255\367\321F`\246E\352v\241
4970.010162 192.168.10.10 -> 192.168.10.100 TCP 1122 > 21 [FIN, ACK] Seq=10814 Ack=10682 Win=65240 Len=0
4970.010164 192.168.10.10 -> 192.168.10.100 TCP 1122 > 21 [RST, ACK] Seq=10815 Ack=10682 Win=0 Len=0
小结:
FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型TFP协议,为FTP协议和数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”。SSL是一个在客户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。
ftps linux 服务器,linux下ftps服务器的搭建总结相关推荐
- Red Hat EnterPrise Linux 5.4下web服务器的综合使用(普通站点、虚拟主机、安全性、...
在这篇博客中,小编我将详细的讲解一下linux下web服务器的使用,相信这对于web网站维护人员来说是非常有用的,在linux下实现web服务器的软件有很多,最常用的就是apache啦,小编这里使用的 ...
- linux aaa认证服务器,Windows下AAA服务器的搭建及身份认证!
一 .Linux下的配置: 1.配ip [Quidway]int Vlan-interface 1 [Quidway-Vlan-interface1]ip add 192.168.101.28 255 ...
- Linux服务器IP下了,linux – DDOS攻击下的服务器 – 如何查找IP?
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more 看一下顶级IP地址.如果有人从其他人中脱颖而出,那些将成 ...
- deepin安装tftp服务器_ubuntu下tftp服务器搭建
tftp服务器搭建步骤 1.安装tftp-server 使用 sudo apt-get install tftpd-hpa 命令下载tftp服务端 使用 sudo apt-get install tf ...
- Linux|UNIX下LAMP环境的搭建及常见问题[连载4]
特别注意因为接下来要添加SSL认证,所以下面的操作请留到第四部分配置好SSL证书之后再行操作.把这部分内容放置在这里的目的是为了保持文章的逻辑性.关于数据库的启动 # cd /usr/local/m ...
- 红帽linux lnmp搭建,Linux(redhat5.4)下lnmp环境的搭建
在前面我们已经实现了lamp架构的创建,今天就让我们来看一看lnmp架构是如何实现的.计划的实验步骤如下: 1. 数据库mysql的安装 2. Nginx的安装,libevent(编译库代码)的安装, ...
- Linux Ubuntu系统下Java开发环境搭建
软件151田杰中 1. 前往ORACLE官网下载最新版本的Java JDK:http://www.oracle.com/technetwork/java/javase/downloads/index. ...
- 超详细,linux虚拟机的下的hadoop环境搭建
一.虚拟机网络配置 1.查看ip地址 ifconfig 2.关闭系统防火墙命令 systemctl stop firewalld.service 3.关闭系统防火墙自启动命令 systemctl di ...
- Linux下不同服务器间数据传输
因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...
- linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...
最新文章
- ORACLE安装报错解决
- vc6.0报delete and rebuild Error executing link.exe.错误
- DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
- PP 关于工单领料的总结
- Linux内核笔记--内存管理之用户态进程内存分配
- 1分钟 Zookeeper 快速入门_windows环境
- MCITP第十二课——642课件2新知识点笔记
- java获取C盘下的隐藏目录文件名称
- 表格数字乘以百分比怎么算_Excel输入多位数字之后有了“E”,用文本格式一步到位,恢复原状...
- RobotFramework Library
- rocketmq消息持久化到mysql_RocketMQ之事务消息
- WebStorm光标经常自动变为块状解决方案
- 电子商务网站优化之策略篇
- 第五章平稳过程(1)
- presto----grouping sets/cube/rollup 函数
- 两种单例模式总结--(饿汉式、懒汉式)(java代码)
- IPC$经典入侵步骤和常用net命令
- 使用firefox color自定义firefox的主题
- DreamweaverCS6破解安装
- FTP上传失败报错解决
热门文章
- 批处理当前文件夹下所有文件和子文件夹中的文件
- html yy直播,网页YY直播间进入方法 网页YY迷你版怎么用
- php js条形码扫描,使用JavaScript根据图片获取条形码的方法
- java 无锁并发_高并发情况下怎样尽量实现无锁编程
- css 清除表单样式,css form表单样式清除
- 计算机二级office学习之Excel操作题考点整理
- java 根据ftl文件生成word
- 什么是物联网数据采集网关?物联网数据采集网关的特点
- 超级计算机比赛规则,AlphaGo是什么如何运行?人机大战比赛规则+交手记录资料...
- 卡尔曼滤波算法详细推导