让你的ftp服务器不再“裸奔” 

    众所周知,ftp是一款距今约40年的古老的传输协议,由于其发展的太早,所以一开始采用的是明文传输,随着互联网在这四十年间的爆炸式发展,“林子大了,啥鸟都有”,让明文传输没有一点安全性所言,最直接的保 护我们数据隐私的方法就是实现数据传输的加密。

    在此我们对ftp服务器的数据进行ssl加密,关于ssl和证书,在我的博客里有相关的文章,在此就不再重复,我们直接切入正题。(注:在下面配置过程中如没有强调目录的切换,就不进行切换)。

    一、搭建ftp服务器

      在此我们使用yum库中的vsftpd包进行ftp服务器的搭建,使用命令:

      yum isntall vsftp -y   进行vsftp包的安装

      安装成功之后关于vsftp的配置文件为/etc/vsftp/vsftp.conf,记住这个文件我们在后边将要用到。

    二、开始加密步骤

      1、要想实现ssl加密,首先得有CA对我们的ftp进行证书的颁发,因此我们应先将主机配置为CA机构,这也需要给先给自己的主机颁发一个证书,声明主机为CA。

      系统已经为我们的主机进行角色变换准备好了相应的目录,我们进入配置CA的工作目录/etc/pki/CA

      cd /etc/pki/CA 进入工作目录。

      可以看到一个private的目录,这个目录用来存放我们为主机生成的私钥。

      想让自己的主机成为CA,要先生成一个私钥。

      openssl genrsa 2048 > private/cakey.pem (最好生成的私钥为这个名字,否则需要进行修改,比较麻烦)

      通过自己的私钥为自己的主机生成一个证书。

      openssl req -new -x509 -key /private/cakey.pem -out /cacert.pem (最好也是这个名字,理由同上)

      然后填写弹出的相关信息,即可。

      创建CA机构需要用到的目录和文件

      mkdir certs   (存放证书用)

      mkdir newcerts   (存放新生成的证书用)

      mkdir crl    (存放吊销的证书)  

      touch index.txt serial   (证书信息索引文件)

      echo 01 > serial  为其设定起始号码01   (记录证书的颁发,撤销等信息)

      至此主机已经成为了一个有发证资格的CA机构

     2、ftp服务器向主机CA申请证书。

      在/etc/vsftpd/中创建我们进行申请工作的目录ssl

      mkdir /etc/vsftpd/ssl

      cd /etc/vsftpd/ssl  进入工作目录

      首先为服务器生成私钥

      openss genrsa 2048 > ftp.key  (名字可以任意)

      生成证书申请

      openssl req -new -key ftp.key -out ftp.cr (名字任意)

      填写相应的信息,注意server`s name 一定要填写为ftp服务器的完整域名,只有用户以这个名字访问服务器,才可实现加密。

      3、主机CA为ftp颁发证书

      openssl ca -in ftp.cr -out ftp.crt

      弹出的信息一律为yes

      好了,一切配置工作到此结束。

      启动ftp服务器

      service vsftpd start

    三、验证

      在此我们使用桌面ftp连接软件FLSHFXP进行测试(其它的也可以)

      连接填写内容如图所示:

让你的ftp服务器不再“裸奔”_ssl

      IP为ftp服务器的IP

      User Name 为linux主机中任意一个用户名(root除外)密码与之对应

       点击连接,即可

       如果出现下图内容,则标明成功,以后进行的数据传输都将进行ssl加密

让你的ftp服务器不再“裸奔”_职场_02