00:00
大家好,欢迎大家继续收看上硅谷的Linux云计算视频,我是刘川老师。那么我们啊,刚才把这个op SL加VSFTPD这个加密验证,呃。之前的一个。拓展给大家简单讲一下,也就是说简单讲了一下,当我们没有加密时啊,我们的这个传输是不是一个呃,铭文的一个传输,我们使用TCP dump这个工具呢,来验证了一下,我们的未加密之前的一个传输,确实是一个铭文传输的一个过程。OK,那这个工具呢,我们就先介绍到这儿,那接下来呢,我们来介绍一下关于open s SL和VSFTP这个软件结合之后的一个加密验证的这么一个原理,OK,那在介绍这个加密呃,验证方式,比如说原理之前,我们先来回顾一个原来我们学过的一个知识点,那就是我们的。SSH的。密钥验证。
01:00
大家知道我们的SSH,这是一个安全的远程管理这么一个服务和一个协议,那这个工具呢,是通过使用密钥对来将我们客户端和服务器端之间进行账户、密码和文件等等的这么一个交互过程,以及命令交互过程,让它变成一个加密的一个过程。变成一个加密的过程,而这个时候他们的一个加密原理,我们简单回顾一下啊。首先,当我们的客户端去连接服务器的时候,服务器已经有了公钥和私钥文件。已经有了公钥和私钥文件。这个时候呢,这个服务器会要求啊,客户端去下载一下它的公钥文件,也就是说。这个时候在我们的客户端上会有一个服务器的共享文件。有服务器的共享文件。然后客户端这个服务器上呢,会有自己的公钥,会有自己的私钥文件。这时候呢,当我们的客户端去连接服务器的时候,服务器说你想发你的账号密码,拿着我的公钥去把你的账号密码加密,再给我发过来,为啥这样,别人在拿到了这个。
02:03
中间的这个数据包之后呢,呃,也是拿到了一个加了密的一个内容,加了密的一个内容,然后呢,加了密的内容。由于这个第三方截取数据包的第三方由于没有私钥文件,所以解不了,没有用,OK。的,这是一个登录过程,当然要实现客户端和服务器端之间数据传输也是一个安全的话,那就需要客户端也需要创建一串自己的喵,将自己的公钥发到服务器上。上浮到服务器上。这个时候呢,当服务器给客户端发送文件时呢,会拿着客户端的公钥文件把要发送给啊。这种啊。客户端的一个。数据进行加密。服务器在给客户端发送文件时,服务器会拿着客户端的公钥文件。把要进行传输的文件先加密,然后加了密再传给客户端。的客户端。
03:00
在接收到加了密的信息时,使用自己的私钥进行解密,那解出来之后就是他想要的内容。那这就是一个关于我们。SSH当中使用密钥对来进行登陆的这么一个过程和一个原理的一个记忆。简单的回顾吧,简单回顾吧。然后简单看过程,由客户端生成密钥段文件,并将公钥文件上传到服务器上啊,然后呢,修改指令名称。这个地方呢,就是其实就是两条命令,第一条命令就是生成密钥文件啊。通过SSH-K命令杠T指定加密类型。杠B指令啊,加密的长度。然后呢,生成了密钥,对之后呢,再通过另外一个命令传到服务器上,SSH-copy-ID,服务器端账户和密和IP地址和密码。就可以了,然后呢,这个时候就相当于是开启了我们的。密钥队的登录验证模式啊。再再简单回顾一下,就是我们的密钥,对的,登录验证模式要U。
04:04
与我们的账户密码验证模式,比如说密钥对的验证模式存在的话,就优先使用密钥对来验证。OK,好了,那把我们的这个SSH的这个登录验证过程啊,回顾完了之后,我们来看一下我们的。FTPVSFTP和opencl的加密。呃,类似于这种加密,我们后期还是会再加一个的,那就是我们的HTTP,大家都知道HTP是我们超文本传协议嘛,那我们现在比较流行的是HTP变成了HTTPS加密的超文本传输协议,那其实这个从HTP变HTPS呀,和我们的FTP的默认FTP是不加密的,变成我们现在加了密的。FTP的原理是一模一样的。都是借助了一个第三方的工具,这个工具呢叫open。
05:01
SSL。啊open SL,那这个open sll呢,是专门的一个进行加密传输的这么一种加密认证机制,那和我们的这种FTVSFP结合起来,以及我们的后期的一些。Web服务器结合起来啊。那我们来看一下最终的原理啊。这个和我们那个密钥对还是稍微有所区别的,但是也有共同点,OK,首先呢,这个时候我们需要三个设备,第一个是CA服务器。也称之为叫证书服务器,然后呢,再一个就是我们的FTP服务器和FTP客户端,那其实啊,在没有C服务器之前,其实他俩之间啊,这个合作还是蛮好的,嗯,我向你发起登录请求,你告诉我登录成功,我向你发起文件请求,你告诉我这个文件可以传输完事。这是他俩之间的,但是中间所有过程都是铭文的。然后呢,我们可以通过这个,呃。对应的一些数据包抓取工具可以抓取到,所以非常危险。那为了让我们的两。
06:01
各机器之间啊,能够进行一个安全的传输,其实你说那我们也使用密钥对的方式也不就行了吗?注意这个时候肯定不行的呀,为什么FTP和SSH是两个独立的协议。就是你是你,我是我。那如果FTP也走SSH协议,那FTP就不叫文本传输协议了。哎,你别说,还真有一个这样的东西,那就是什么。FTP。这个时候大家要注意啊,SFTP是属于SSH当中的一个啊。之中,可以理解为是借助SSH协议的这么一个工具,而FTP和它之间是没有直接关系的,只是名字很相似而已。啊,只是名字很相似而已,大家一定要记住这个事儿啊。所以说注意这个地方啊,肯定是不能够用使用那个。SSH协议了,那怎么办呢?这时候我们就要借助第三方了,就是仍然要进行使用啊。
07:04
嗯,这种类似于瞄对的方式,但是没法通过那种方式直接生成,怎么办呢?这个时候我们一般会专门找一个服务器啊。来做。这种。证书服务器,这个证书服务器的作用啊。它呢,能够产生密钥文件,证书文件。以及。签字后的证书文件,哦,OK,我们先来说一下关于这个密钥和证书啊。这两个东西其实它对应的就是什么?密钥就是私钥文件,而证书就是公钥文件。这就是他和我们那个密钥对当中相似的地方而签字后的证书。它实际上就是由证书转化而来的。签字后的证书和证书之间的关系是。签字后的证书由证书转化而成得,先有证书才能有签字后的证书。
08:00
得先有证书,才能有签字后的证书,OK,那我们来看一下。签字后的证书的特性是有一定的有效期,有加密类型,加密长度,OK,那我们的本身的这个。共享文件就有加密类型和加密长度。啊,只是有效期这个不太一样,那也就是说实际上这个签字后的证书,就是在证书的原基础上进行了一个加密啊,设置新的加密长度,以及设置相应的加密期。就是呃,证书的使用有效期啊,就像我们考取某一些专业的一个呃技能证书一样,我们都会有一些有效期的,很多东西都不是永久的啊。是一样的啊OK,那由于是第三方的,则这个服务器还有一个功能,那就是他所生成了的这些内容。他会去验证。这个东西的权威性。比如说有些人在使用签字后证书的时候,会来问他,哎,我要使用这个签字后证书来加密了啊,问你你这个你看看这个证书,呃,你看下这个证书是不是你家发颁布发布的呀,颁布的呀,你去验证一下啊。
09:12
这个东西是不是权威性是没有问题的。所以说呢,我们的4A服务器还有这么一个特性。还有这么一个特性,那有人说这个东西怎么验证啊,我们很多时候大家会通过浏览器来访问某一些什么购物网站,大家会发现购物网站上都会有一个这样的东西,我们来看一下。比如说我们访问一下淘宝。在翻淘宝的时候,大家会发现这个地方有个小锁。我点开这个锁之后,发现这个地方有个证书,此网站的身份已经经过诶这样的一个网站验验证了,啊,经过这样的一个网站验证了,然后我们点开证书信息,哎,这个地方就告诉我们证书信息。颁发者颁发给谁了,于效期等等,这个证书就是签字后的证书。谁用啊,我们用我们是谁呀,我们是客户端呀。
10:03
我们用了一个签了字之后的整数,那我们为什么要用它呢?因为我们想登录这个。淘宝服务器的时候,我们要把账户密码发给淘宝服务器,但是我们再把账号密码发给淘宝服务器的时候,肯定不能明文发吧,那如果是明文发送,那我们的淘宝账号密码不就被人窃取了吗?所以为了安全,我们要让传输过程加密。而加密一般就要通过加密的工具了,而证书就是一个加密工具,当我们客户端想给服务器发错号码的时候,我们又通过我们从。服务器端获取来的证书,使用它来进行加密,然后把加了密的信息给服务器,那服务器在收到了加了密的信息之后,服务器干嘛呢?服务器要解密,怎么解?都说了,既然有公钥了,肯定有私钥呀,那这个时候就通过这个私钥解密,而我们的这个服务器就会把我们的证书。就是密钥文件、证书文件以及签字证书文件都下载到服务器本地。
11:03
当有人通过加密方式将账号密码发过来之后,我们的服务器就会通过密钥文件将对应的信息解密。并且验证是否。呃,是否没有问题,然后允许客户端能就。的一个过程。其实仔细来看的话,其实还是那个密钥对的方式。只是这个密钥对不是由客户端产生,也不是由服务器产生,而是由第三方产生,这个时候客户端在使用这个证书加密的时候,去找证书服务器验证,证书服务器才能告诉他这个证书没有问题。啊,这个证书告诉他没有问题,并且这个证书还是存在一定有效期的。当证书过期之后,必须。什么必须向证书服务器申请来重新生成新的有效期的一个签字证书才能够使用,否则就会有问题,那样否则就会有问题。OK,这个就是我们的一个open s SL和我们的VSFTP结合的这么一个过程。
12:05
那怎么结合的一个过程,所以这个地方大家会发现啊。我这个地方既写了HTTPD,又写了VSFTPD就是我。门的HTTP协议也可以通过C证书服务器加密形成HTTPS,而FTP也可以通过它变成什么,我们的一个叫。加FTP啊。LS这么一种加密啊。这个我们可以看到了。OK,这也就是我们的一种模式。好了,那我们现在需要来梳理一下,我们接下来这个啊。就是验证过程,首先客户端向服务器发起请求。如果没有加密的话,那就是客户端去验证这个服务器,去验证客户端发过来账号码对不对,如果对,告诉他登录成功,然后发起。文件上传后下载请求,然后上传下载成功。
13:01
但是一旦有了C服务器,证书就不一样。首先,第一步不再是客户端登录服务器,而是第一步变成了服务器向。CA服务器申请。注册。申请注册。来我注册注册什么,你给我生成一个属于我这个服务器的。密钥队以及签字后的证书就是。证书文件。这些东西在产生的时候,要绑定这个服务器的信息,要绑定这个服务器的信息。那一般情况下,我们这这种需要加密的一般都是购物网站,那肯定要绑定这个购物网站的公司名。对吧,所在地理位置。啊,然后呢,联系人联系方式等等等等,比如说这个证书当中会包含了这个服务器的很多信息,然后再帮你生成。然后再帮射手。当我们的CA服务器生成了由你提供给我的信息,产生了这么一个密钥证书和加密证书,呃,签字证书之后,然后呢,你可以把这几个信息下载到你的本地。
14:13
啊,可以下载到你的本地,然后把这个东西下载到本地之后呢,会存放在一定的目录下好了,这个时候加密证书和。我们的FTP服务器之间暂时就没有关系了。暂时没有关系了,除非到期再续期就可以了。然后再来说我们的FTP客户服务器和客户端之间的关系,当客户端去登录一个有了证书和签字证书以及密钥文件的一个FTP服务器的时候,服务器会要求客户端下载。签字或者证书文件。啊,你先把这个加密的密码本下载过去,然后客户端要进行登录。这个时候再登录的时候,就不是把账号密码通过名字发过去了,而是。服务器告诉他来,你先拿着你保存了的证书把你的账号密码加密。加了密之后再。
15:04
那这个时候中间的数据包再被别人截取走的时候,别人截获到的数据包内容就是一个加了密的内容。那就是一个加了密的内容。这时候大家会发现一个问题,就是别人。看不懂啊,看不懂。这个呢,我们一会也会在做完实验之后,我们来抓取一下数据包,看看是不是加密了,那OK。由于有了这个证书。让我们的客户端和服务器端在进行数据传输的时候。变成了一个加密的过程。这样就保证了我们。客户端和服务器端的一个安全性,OK。这也就是我们的原理,这也就是我们的原理。那我们现在由于是一个,呃。线下的这种虚拟环境,所以说我们这个CA服务器呢,我就不单独呃搞一个了,我就直接拿FTP服务器来做CA服务器,也就是说这个FTP服务器既是FTP服务器又是一个CA服务器啊。
16:00
我们就这样来做,但是真正的生产环境中大家一定要注意啊,真正的生产环境中,大家一定要去找专门的证书服务器厂商。花钱。想花钱去购买。啊,去购买。当然也有免费的啊,也有免费的,那免费的它的那个加密,呃,肯定是没有那种收费的加密,对吧,更安全一些啊。更安全些,所以说这个真正的生产环境中啊,我们的这些呃。证书一般都是花钱买的。而且价格不菲,而且价格不菲,如果是个人网站的话,如果是涉及到一些呃。就是。就是就是怎么说呢,安全的话你也可以。就是找一些免费的证书设置一下啊。那这就是我们的一个关于呃。OPEN2和我们的VSFTP这个软件啊。实现加密传输的这么一个原理的一个讲解,OK,那么本节课先到这儿。
我来说两句