Linux下ftp+ssl实现ftps
ftps与sftp:
FTPS是借助ssl协议加密,ssl是为http/smtp等加密设计的;;SFTP是借助ssh加密,ssh是为telnet/ftp等加密、建立传输通道而设计的。ssh建立传输通道就是为了加密和传输,而且这个通道是可以用来远程登录。创建加密通道对文件进行加密。
从原理上简单的讲:FTPS是ftp-over-ssl的意思,即ftp借助ssl协议加密传输,不但要用ftp服务器还要用ssl协议加密。sftp协议是ssh中的一条独立的协议,利用sftp服务器就可以传输数据。
下面笔者以ssl来实现ftps的安全传输:
用ssl的是ftps.(传输层的加密)
SSL验证: 1、只密码验证 2、SSL证书验证,需要建立CA服务器
实验思路:首先安装wireshark抓包工具,在没有使用CA服务器的情况下抓包,查看抓包情况。然后安装CA服务器为ftp服务器颁发证书。再次抓包,查看抓包。注:此实验中CA服务器与ftp服务器处于同一个主机上
新建用户:
[root@lyt ~]# useradd user1 #新建用户user1,用于抓包测试。
[root@lyt ~]# passwd user1
安装wireshare:
[root@lyt ~]# mkdir /mnt/cdrom
[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/
[root@lyt ~]# cd /mnt/cdrom/Server/
[root@lyt Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo #编辑本地yum
[root@lyt Server]# yum install wireshark –y #安装wireshark抓包工具
安装vsftp:
[root@lyt Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
[root@lyt Server]# service vsftpd start
使用抓包工具,查看在没有使用ssl时的抓包情况:
[root@lyt Server]# tshark -ni eth0 -R "tcp.dstport eq 21" #由于客户端必须使用21端口与服务器建立连接,所以此处对于21号端口进行抓包
用户名和密码已经泄露:
搭建CA服务器:
[root@lyt Server]# cd /etc/pki/tls/
[root@lyt tls]# vim openssl.cnf
[root@lyt tls]# cd /etc/pki/CA/ #切换到与CA服务器有关的目录
[root@lyt CA]# mkdir certs #建立与证书有关的目录
[root@lyt CA]# mkdir newcerts #与新证书有关的目录
[root@lyt CA]# mkdir crl #证书吊销列表
[root@lyt CA]# touch index.txt
[root@lyt CA]# touch serial
[root@lyt CA]# echo "01"> serial #给serial一个初始值
[root@lyt CA]# openssl genrsa 1024 > private/cakey.pem #使用非对称加密算法rsa,采用1024为算法,得到一个密钥存放在private/cakey.pem中
[root@lyt CA]# chmod 600 private/cakey.pem #私钥不允许别人查看,所以将cakey.pem文件的权限改为600,只有所属用户可以读写
[root@lyt CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem -days 3650 #使用CA服务器自己的私钥cakey.pem产生一个证书cacert.pem
[root@lyt CA]# mkdir -pv /etc/vsftpd/certs #创建一个目录,存放于vsftp有关的证书,证书请求,密钥
[root@lyt CA]# cd /etc/vsftpd/certs/
[root@lyt certs]# openssl genrsa 1024 >vsftpd.key #非对称加密算法rsa,使用1024位,算出一个密钥vsftp.key
[root@lyt certs]# openssl req -new -key vsftpd.key -out vsftpd.csr #利用私钥vsftp.key产生一个证书请求文件vsftp.csr
[root@lyt certs]# openssl ca -in vsftpd.csr -out vsftpd.cert #利用证书请求文件的到一个证书vsftp.cert
[root@lyt certs]# chmod 600 * #将该目录下的文件权限全部改为600,即所属用户可读写
将申请得到的CA证书和vsftp关联起来:
[root@lyt certs]# chmod 600 *
[root@lyt certs]# vim /etc/vsftpd/vsftpd.conf
[root@lyt certs]# service vsftpd restart
使用flashfXP作为测试:
[root@lyt certs]# tshark -ni eth0 -R "tcp.dstport eq 21" #抓包,查看能否获得用户名和密码
查看抓包结果:无法获得用户名和密码
Linux下ftp+ssl实现ftps相关推荐
- linux ftp ssl客户端,Linux下ftp+ssl实现ftps-Go语言中文社区
ftps与sftp: FTPS是借助ssl协议加密,ssl是为http/smtp等加密设计的::SFTP是借助ssh加密,ssh是为telnet/ftp等加密.建立传输通道而设计的.ssh建立传输通道 ...
- linux ftp 团队认证,linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建
linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建 1.FTP协议:有命令和数据连接两种 命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 ...
- Linux下FTP服务器搭建
Linux下FTP服务器搭建 一.FTP介绍 二.环境介绍 三.FTP服务端搭建步骤 1.安装相关软件包 2.启动FTP并检查状态 3.检查服务端口运行状态 4.修改FTP配置文件 5.关闭selin ...
- linux下ftp服务阶段实验(3)
linux下ftp服务阶段实验(3) 3. (1)匿名用户的FTP根目录是/ftp,只能下载,下载速度为100Kbps (2)本地用户hello的FTP根目录为/hello,可以上传下载,家 ...
- linux如何测试ftp服务器,linux下FTP服务器的搭建
1.FTP服务器的简介 关于ftp的介绍,大家也一定不陌生了.我就直接把百度百科上的介绍拿过来,和大家一起温习一下概念. FTP 是File Transfer Protocol(文件传输协议)的英文简 ...
- linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令
linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇 2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...
- linux中ftp如何使用,linux下ftp如何使用
linux下ftp可以上传.下载文件 centos7环境: 1.检查是否安装过ftp服务 rpm -qa|grep vsftpd 如果没有输出则表示没有安装过 安装ftp yum -y install ...
- linux的ftp命令大全文库,linux下ftp命令详解
linux下ftp命令详解 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 登录FTP服务器的命令格式:ftp [-v][-d][- ...
- 虚拟机上ftp服务器安装与配置文件,Linux下ftp服务器安装与配置实验报告_linuxftp服务器配置实验报告,ftp服务器配置的实验报告...
Linux下ftp服务器安装与配置实验报告,包含实验步骤,实验结果以及总结 GNU nano 2.5.3 File: /etc/vsftpd. conf By default the server w ...
最新文章
- java override overwrite,重写(overwrite)、重载(overload)和覆盖(override)
- [Android] Toast问题深度剖析(二)
- UI布局分析工具-视图工具(Hierarchy Viewer)
- Open Neural Network Exchange(ONNX)概述
- 简单实用的Windows命令(一)
- 在浏览器中内嵌word_关于项目浏览器内核的选取解读
- Mule的基本配置元素:Endpoint、Transformer、Filter、Flow
- C# 路由(Route)
- 产品经理学技术之数据结构
- python中文转拼音不用第三方库_又一个奇葩要求,Python是如何将“中文”转“拼音”的?...
- 使用UMDH进行内心泄露分析
- Tomcat8.0进入tomcat manager的方法
- java爬虫抓取起点小说,手把手带你爬虫 | 爬取起点小说网
- Python 贪吃蛇 代码
- 计算机网络属于什么结构,计算机网络体系结构是一种什么结构
- Java在一定范围随机生成经纬度
- 思岚S2激光雷达2—SDK和实例程序的编译
- MATLAB车牌识别原理[大白话]
- iOS自定义UITableViewRowAction
- 密度分析(七) Python实现
热门文章
- 第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotio...
- bp神经网络算法步流程_基于遗传算法的BP神经网络优化算法模板
- C语言函数集(十二)
- 用Spark实现简单的单词统计
- 河北计算机应用技术,[河北科技大学]计算机应用技术
- 【JPA】注解@PostConstruct、@PreDestroy
- 剑指offer 把数组排成最小的数 atoi和itoa,pow
- charles代理以及关于其抓取https信息的操作
- [shell实例]——用脚本实现向多台服务器批量复制文件(nmap、scp)
- Android ContentResolver