APP下载

高职计算机网络技术赛项vsftpd配置难点研究

2020-01-03杨夏柏杨明黄瑜

现代信息科技 2020年16期
关键词:计算机网络技术

杨夏柏 杨明 黄瑜

摘  要:Linux是一个开源安全稳定的操作系统,vsftpd是Linux提供的FTP服务器,FTPS通过Linux提供的OpenSSL实现,OpenSSL是SSL/TLS的开源实现方案。文章通过案例解析方法,研究并解决了高职计算机网络技术大赛vsftpd配置中遇到的三个难点问题:虚拟用户配置、相同IP不同端口配置、SSL配置。

关键词:计算机网络技术;FTP;vsftpd;OpenSSL;SSL;TLS

中图分类号:TP393      文献标识码:A 文章编号:2096-4706(2020)16-0062-05

Research on the Difficulties of vsftpd Configuration in Higher Vocational

Computer Network Technology Competition

Yang Xiabai1,Yang Ming1,Huang Yu2

(1.Yunnan College of Finance and Economics,Kunming  650222,China;

2.Kunming Railway Vocational Technical College,Kunming  650208,China)

Abstract:Linux is an secure and stable operating system of open source,vsftpd is an FTP server provided by Linux,FTPS realized via OpenSSL provided by Linux,while OpenSSL is an open source plan of SSL/TLS. With case analysis method applied,the research in this paper solves three difficult problems occured in the vsftpd configuration in the contest of vocational college computer network application:virtual user configuration,same IP with different port configuration,SSL configuration.

Keywords:computer network application;FTP;vsftpd;OpenSSL;SSL;TLS

0  引  言

Linux是一个开源操作系统和IT基础架构平台[1],新版本是2019年5月发布的RHEL8,考虑到市场上正在运维的版本大多是Linux7.X、国内省赛和国赛指定版本是CentOS 7.4,所以,本文配置环境基于2017年发布的CentOS 7.4。vsftpd(Very Secure FTP Daemon)是Linux实现FTP和FTPS功能的安全、快速稳定、支持虚拟用户验证的FTP服务器[2],目前使用它的站点越来越多。计算机网络技术赛项中,云平台服务器模块包含Windows和Linux两种服务器配置环境,近几年,在省赛和国赛中,Linux服务器配置比重越来越高,其中vsftpd配置是一個重点和难点,本文根据作者近年来教学和指导学生参加省赛、国赛的经验,对vsftpd配置中遇到的难点问题进行归纳和分享,期待同行批评指正。

1  vsftpd虚拟用户登录配置

1.1  FTP协议主动模式与被动模式

FTP(File Transfer Protocol,文件传输协议),采用客户机/服务器模式实现文件上传与下载等功能。FTP服务器传送文件使用的是两个TCP连接端口,一个是命令端口(控制端口),用于在客户端和服务器之间发送控制信息;一个是数据端口,用于传输数据。

FTP协议工作模式有主动模式(Active FTP)和被动模式(Passive FTP),两种模式的控制连接原理基本相同,主动与被动是从服务器的角度出发,通过数据连接原理区分的。

所谓主动模式,指的是数据连接时,FTP服务器“主动”去连接客户端的数据端口,其连接过程:客户端从一个任意的非特权端口X(X>1 024)连接到FTP服务器的控制端口21,客户端开始监听端口X+1,并发送命令“port X+1”到FTP服务器,服务器从数据端口20“主动”连接到客户端指定的数据端口X+1。

所谓被动模式,指的是数据连接时,FTP服务器“被动”等待客户端来连接自己的数据端口,其连接过程:客户端从一个任意的非特权端口X(X>1 024)连接到FTP服务器的命令端口21,客户端开始监听端口X+1,服务器的21号端口给予客户端响应,并告知客户端已开启一个随机端口P (P>1 024)用来数据连接,客户端发起从本地端口X+1到服务器端口P的连接,服务器给予响应,于是数据开始传输。其中客户端得知服务器端随机端口号的方法:在命令连接阶段,服务器会传输格式为“192.168.10.1.255.125”的字符串到客户端,其中“192.168.10.1”标识的是服务器的IP地址,后两个“255.125”标识的是随机端口号[3],计算方法为第一个数乘以256加上第二个数(255×256+125=65 405)。

控制连接在整个会话期间一直处于打开状态,而数据连接在每次数据传输完毕后自动关闭端口,有数据传送请求时重新打开。

vsftpd配置中,开启主动模式的相关参数:

pasv_enable=NO //关闭被动模式

connect_from_port_20=YES //主动模式开启时,是否启用默认端口20,默认为YES

vsftpd配置中,开启被动模式相关参数:

pasv_enable=YES //开启被动模式

connect_from_port_20=NO

pasv_min_port=30000 //被动模式最低端口

pasv_max_port=30100 //被动模式最高端口

被动模式中,服务器端的最低和最高端口号默认为0,表示任意端口,一般情况下,要设置随机端口号范围(大于1 024且小于65 535),方便安全管理,此处以30 000~ 30 100为例。

1.2  vsftpd认证方式与配置文件

vsftpd认证方式有匿名开放、本地用户和虚拟用户三种模式。匿名开放模式下任何用户不需要密码验证就能直接登录到FTP服务器,是一种最不安全的认证模式;vsftpd默认的匿名账户有FTP(密码为FTP或者为空)和anonymous(密码为E-mail或者为空);本地用户模式通过Linux系统本地账户密码进行认证,相对匿名开放模式安全。这三种中最安全的是虚拟用户模式,其需要为FTP服务单独建立虚拟用户数据库文件,通过虚拟用户映射到Linux系统内的本地账户来访问FTP服务。

FTP服务需要在服务器端安装vsftpd软件包,客户端安装FTP软件包。如果在同一台计算机上测试服务器端和客户端,就把两个软件包安装在同一台上。vsftpd服务器安装并启动服务后,其默认配置就可以正常工作。

FTP服务器配置相对复杂,其配置文件主要包括:

主配置文件/etc/vsftpd/vsftpd.conf,该文件默认总共127行,可以通过下文给出的三条命令筛选出有效31行,其他为注释行。

#cp -p /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak

#grep "=" /etc/vsftpd/vsftpd.conf.bak>/etc/vsftpd/vsftpd.conf

#vim /etc/vsftpd/vsftpd.conf

主配置文件中有三个参数的作用在很多资料中混淆不清,在此强调:

chroot_local_user=NO //是否禁止本地用户在根目录内,YES表示禁止,NO表示不禁止

chroot_list_enable=YES //是否启用chroot_list_file例外文件列表,YES启用,NO不启用

chroot_list_file=/etc/vsftpd/chroot_list //指定例外文件chroot_list存放的位置

可插拔认证模块(Pluggable Authentication Modules,PAM)提供集中的、共享模块代码的动态可配置机制,配置文件/etc/pam.d/vsftpd用来加强vsftpd服务器虚拟用户的认证[4]。

/etc/vsftpd/ftpusers配置文件中列出的用户不能访问vsftpd服务,其中包括root、bin和daemon等系统账户。

/etc/vsftpd/user_list配置文件,當主配置文件/etc/vsftpd/vsftpd.conf中的userlist_deny=YES时(默认值),拒绝文件列表中的用户访问FTP服务器。当userlist_deny=NO时,仅允许文件列表中的用户访问FTP服务器。

依据vsftpd服务的三种认证模式,FTP服务器常用的配置有匿名用户登录、本地用户登录、虚拟用户登录三种,前两种配置相对简单,虚拟用户登录相对难理解。虽然很多教材和网上资料都有虚拟用户登录案例,但侧重知识点讲解;而赛题侧重理解、融会贯通,所以下面以国赛内容为案例加以解析。

1.3  虚拟用户登录配置案例

配置一个FTP站点,IP地址为192.168.10.1/24,要求:

(1)使用虚拟用户认证方式,创建用户virtftp,shell为/sbin/nologin,并将虚拟用户映射至virtftp用户;

(2)监听21号端口;

(3)设置虚拟用户的主目录为/data/ftp_data且在目录下创建ftp_test空文件;

(4)将/data/ftp_data属主属组更改为virtftp,并且属主有写权限;

(5)关闭PASV模式的安全检查;

(6)设置客户端最大连接数为100,每个IP允许3个连接数;

(7)设置被动模式的端口范围为9 000~9 200;

(8)ftpuser虚拟用户可以下载与上传文件;

(9)ftpadmin虚拟用户可以下载与上传文件以及删除重命名操作,上传文件的umask为022;

(10)配置文件要求:/etc/pam.d/vsftpd.vu(pam配置文件),/etc/vsftpd/vlogin.db(用户数据),/etc/vsftpd/user_conf(该目录下FTP用户权限配置目录)。

以下是实现虚拟用户登录的配置过程:

#yum install vsftpd ftp -y

#firewall-cmd --add-service=ftp --per

#firewall-cmd --reload

#setenforce 0 //或者用vim编辑/etc/sysconfig/selinux

配置文件,把其中SELINUX=Enforcing修改为SELINUX= Permissive

#vim /etc/vsftpd/vlogin.txt

ftpuser

123

ftpadmin

123

#db_load -T -t hash -f /etc/vsftpd/vlogin.txt /etc/vsftpd/vlogin.db

#useradd -s /sbin/nologin virtftp

#vim /etc/vsftpd/vsftpd.conf

pam_service_name=vsftpd.vu

userlist_enable=YES

tcp_wrappers=YES

pasv_promiscuous=YES

max_clients=100

max_per_ip=3

pasv_min_port=9000

pasv_max_port=9200

guest_enable=YES

guest_username=virtftp

local_root=/data/ftp_data

allow_writeable_chroot= YES

user_config_dir=/etc/vsftpd/user_conf

//上面最后8行需要自己添加

#mkdir -p /data/ftp_data

#touch /data/ftp_data/ftp_test

#chown virtftp:virtftp /data/ftp_data/

#cp -p /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.vu

#vim /etc/pam.d/vsftpd.vu

auth   required   pam_userdb.so   db=/etc/vsftpd/vlogin

account   required   pam_userdb.so   db=/etc/vsftpd/vlogin

该文件中原来所有行用#号注释掉,手动添加上面这两行,功能是对虚拟用户的安全和账户权限进行验证,实现虚拟用户和匿名用户可以访问、本地用户不能访问的效果。

auth表示对用户的用户名口令进行验证;account表示对用户的账户有哪些权限哪些限制进行验证;required表示必须通过,即使失败,后边检查继续进行;pam_userdb.so表示该条审核将调用pam_userdb.so库函数进行[5];db=/etc/vsftpd/virtusers指定验证库函数将调用到的数据库。

如果把上面这两行中参数required修改为sufficient,其他行加上注释符#号,同样实现虚拟用户和匿名用户可以访问、本地用户不能访问的效果。sufficient是充分条件的意思,表示一旦此处测试条件检查通过,后面将不再检查,直接通过;如果失败,忽略该测试条件,后面继续检查。

如果把上面这两行中参数required修改为sufficient,其他行去掉注释符#号,则实现虚拟用户、匿名用户和本地用户都能访问的效果。

#mkdir /etc/vsftpd/user_conf

#vim /etc/vsftpd/user_conf/ftpuser

anon_upload_enable=YES

#vim /etc/vsftpd/user_conf/ftpadmin

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_umask=022

#useradd -s /sbin/nologin -d /data/ftp_data virtftp

#chown virtftp:virtftp /data/ftp_data

#systemctl restart vsftpd

#systemctl enable vsftpd

#touch /root/test.txt

#ftp 192.168.10.1

在客户端分别用ftpuser、ftpadmin用户登录测试,结果符合题目要求。

2  同一IP不同端口配置案例

配置一个FTP站点,IP地址为192.168.10.1/24,要求:

(1)创建普通用户tom;

(2)监听2121号端口;

(3)设置本地用户的根目录为/data/web_data。

需求分析:该案例是国赛的内容,属于指定用户监听指定端口配置问题,理论上不同IP相同端口或者相同IP不同端口可以实现FTP访问,在Windows环境下这是一个很容易解决的简单问题,但对于在Linux环境下的实现方法,笔者翻阅了很多国内高职、高专教材,咨询了很多同行、网友,浏览了不少网络文章,直到受到一篇网络文章的啟发才解决了该问题。文章中提到每个端口要配置对应的配置文件和对应的服务启动文件,服务启动文件的作用是指定用哪个配置文件去启动进程,每个进程负责监听1个端口。

(1)初始化工作:承上节1.3内容继续往下配置,创建网站存放目录、主页,创建用户tom及密码,指定192. 168.10.1对应的域名为ftp.km.com,代码为:

#mkdir -p /data/web_data

#vim /data/web_data/index.html

Welcome to toms 2121

#useradd -d /data/web_data tom

#passwd tom

#vim /etc/hosts

192.168.10.1  ftp.km.com //在文件尾添加这一行

(2)配置每个端口对应的配置文件:1.3小节已把虚拟用户对应的配置文件vsftpd.conf配置好,监听端口为21;现在只需把原始默认配置文件vsftpd.conf.bak复制一份为vsftpd_2121.conf,然后在vsftpd_2121.conf配置文件中增加listen_port=2121这一行即可[6],代码为:

#vim /etc/vsftpd/vsftpd_2121.conf

listen_port=2121

(3)配置每个端口对应的服务启动文件:默认服务/usr/lib/systemd/system/vsftpd.service负责监听21端口;把默认/usr/lib/systemd/system/vsftpd.service服务文件拷贝一份为vsftpd_2121.service,用Vim编辑该文件,把文件中vsftpd.conf文件名修改为vsftpd_2121.conf即可,代码为:

#cp /usr/lib/systemd/system/vsftpd.service  /usr/lib/systemd/system/vsftpd_2121.service

#vim /usr/lib/systemd/system/vsftpd_2121.service

[Unit]

Description=vsftpd ftp daemon

After=network.target

[Service]

Type=forking

ExecStart=/usr/sbin/vsftpd/etc/vsftpd/vsftpd_2121.conf

[Install]

WantedBy=multi-user.target

(4)重啟服务vsftpd、vsftpd_2121,代码为:

#systemctl restart vsftpd vsftpd_2121

(5)用netstat命令查看端口,代码为:

#netstat -tnpl |grep :21

tcp6 0 0 :::2121 :::* LISTEN 8346/vsftpd

tcp6 0 0 :::21 :::* LISTEN 8336/vsftpd

上述代码说明vsftpd服务已启动两个进程,一个监听21端口,另一个监听2121端口。

(6)验证,代码为:

#ftp 192.168.10.1 2121

tom用户登录2121端口测试,结果正常。

#ftp 192.168.10.1

用1.3小节创建的用户登录21端口测试,结果正常。

3  vsftpd加密功能SSL/TLS配置

安全套接字层(Secure Socket Layer,SSL),由Netscape研发,版本有SSL1.0、SSL2.0、SSL3.0,SSL广泛用于Web浏览器与服务器之间的身份认证和数据加密传输,位于传输层和应用层之间,SSL协议分两层,下层为SSL记录协议(SSL Record Protocol),上层为SSL握手协议(SSL Handshake Protocol),上层建立在下层之上,SSL记录协议为高层协议提供的基本功能有压缩、数据封装、加密等。SSL握手协议用于通讯双方进行协商加密算法、身份认证、交换密钥等。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。

传输层安全协议(Transport Layer Security,TLS)是在SSL的基础上发展起来的更安全的加密协议,它建立在SSL3.0协议规范之上,由互联网工程任务组(Internet Engineering

Task Force,IETF)制定,被写入RFC。同样,TLS协议由TLS记录协议和TLS握手协议组成。版本有TLS1、TLS1.1、TLS1.2、TLS1.3,当前主流版本是TLS1.2,若要使用TLS1.3,需要升级OpenSSL。

SSL/TLS协议在TCP/IP模型中的位置及组成如图1所示[7],图中Application(应用层)、Transport(传输层)、Internet(网络层)、Network(网络接口层)是TCP/IP模型的四个层级,Handshake layer是握手协议层,包括Handshake(握手协议)、Change Cipher Spec (交换密码规范)、Alert(警报);Record layer是记录协议层,包括Fragmentation(数据分段)、Authentication(认证)、Compression(压缩)、Encryption(加密)。

明文传输的FTP协议对应的安全协议是FTPS。FTPS功能通过Linux提供的OpenSSL加密函数库实现,vsftpd支持OpenSSL加密函数库,OpenSSL是SSL/TLS的开源实现方案。OpenSSL常用的命令有enc、genrsa、req、CA等,enc负责密码编码与加密,genrsa负责生成rsa私钥,req负责证书请求文件的管理,CA负责证书认证管理。在Linux环境下使用man OpenSSL查看OpenSSL用法,用OpenSSL req help查看req命令的具体选项及参数。

3.1  服务器端TLS配置案例

配置环境:服务器端CentOS 7.4,IP地址为192.168.10.1/ 24,网关为192.168.10.254。

(1)安装并启动vsftpd、FTP、OpenSSL服务,设置防火墙放行,代码为:

#yum install vsftpd ftp openssl -y

#setenforce 0

#firewall-cmd --per --add-service=ftp

#firewall-cmd --reload

#systemctl restart vsftpd

(2)确认安装的vsftpd是否支持ssl加密,代码为:

#ldd /usr/sbin/vsftpd | grep ssl

libssl.so.10 => /lib64/libssl.so.10 (0x00007f6918085000)

显示libssl.so,说明CentOS7.4支持SSL模块。

(3)创建私有CA所需要的文件及目录,代码为:

#cd /etc/pki/CA

#mkdir -p certs newcerts crl //创建证书、新证书、证书吊销目录

#touch index.txt //生成证书索引数据库文件

#echo 01 > serial //指定第一个颁发证书的序列号

(4)生成一个CA自己的私钥,代码为:

#(umask 077;openssl genrsa -out private/cakey.pem 4096)

参数说明:用括号括起来,表示此umask只对当前子shell有效;openssl genrsa是生成私鑰的命令关键字;-out是指定文件的路径;cakey.pem是私钥的文件名称,可以随便取,通常用.key结尾是为了方便区分;4096是指私钥生成的位数,默认是512,私钥生成的位数必须是2的n次方。

(5)利用私钥生成自签名的证书,代码为:

#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650

参数说明:req是证书请求和证书生成工具的命令关键字;-new是生成新证书签署请求;-x509专用于CA生成自签证书;-key是生成请求时用到的私钥文件;-days是证书的有效期限;-out是输出证书请求文件的保存路径;cacert.pem是证书请求文件名称,通常以.csr结尾方便区分。

分别输入国家、省份、城市、公司、部门、服务器域名、邮箱地址,私有CA创建成功。私有CA证书路径为/etc/pki/CA/cacert.pem,如果其他服务器想认证该证书只要取得该证书文件即可。

(6)CA给vsftpd颁发证书,代码为:

#mkdir /etc/vsftpd/ssl

#cd /etc/vsftpd/ssl/

#(umask 077;openssl genrsa -out vsftpd.key 4096)

#openssl req -new -key vsftpd.key -out vsftpd.csr

#openssl ca -in vsftpd.csr -out vsftpd.crt

参数说明:openssl ca是颁发CA证书的命令关键字;-in指定证书签署请求文件,-out是输出颁发证书的文件;-days是限定证书的有效期。

(7)编辑vsftpd.conf配置文件,代码为:

#vim /etc/vsftpd.conf //针对SSL需要设置的参数

ssl_enable=YES //是否启用SSL,默认为NO

allow_anon_ssl=NO //是否允许匿名用户使用SSL,默认为NO

force_local_data_ssl=YES //非匿名用户传输数据时是否加密,默认为YES

force_local_logins_ssl=YES //非匿名用户登陆时是否加密,默认为YES

ssl_tlsv1=YES //是否激活tlsv1加密,默认YES

ssl_sslv2=NO //是否激活sslv2加密,默认NO

ssl_sslv3=NO //是否激活sslv3加密,默认NO

rsa_cert_file=/etc/vsftpd/ssl/vsftpd.crt //rsa证书文件位置

rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key //rsa私钥文件路径

#systemctl restart vsftpd

到此,已完成服务器端TLS配置,接下来可以到客户端测试。

其实,服务器端TLS配置还有一种更简单的方法,那就是利用OpenSSL提供的make命令自动生成证书,此方法的好处是不用记烦琐命令参数[8]。

#cd /etc/pki/tls/certs

#make vsftpd.pem

自动生成vsftpd.pem证书保存在/etc/pki/tls/certs目录。把上面/etc/vsftpd/vsftpd.conf配置文件中参数rsa_private_key_file注释掉,把rsa_cert_file参数路径修改为/etc/pki/tls/certs/vsftpd.pem即可完成SSL配置。

此外,实际工作中,SSL可能用到的相关参数还有:

allow_anon_ssl=YES/NO //是否允许匿名用户使用SSL,默认为NO

force_anon_logins_ssl=YES/NO //匿名用户登录时是否加密,默认为NO

force_anon_data_ssl=YES/NO //匿名用户数据传输时是否加密,默认为NO

dsa_cert_file=/path/to/file //dsa证书的位置

ssl_ciphers=加密方法 //默认是DES-CBC3-SHA,也可以是值HIGH,安全性更加好。其他相关的值,可以用man ciphers在帮助文档中找到

implicit_ssl=YES //是否启用隐式ssl功能

listen_port=990 //隐式FTP端口设置,如果不设置,默认还是21,但是當客户端以隐式ssl连接时,默认会使用990端口,导致连接失败

debug_ssl=YES //输出SSL相关的日志信息

3.2  客户端测试

3.2.1  CentOS 7.4客户端测试

测试环境:客户端为安装FTP服务的CentOS 7.4服务器本身,已创建本地用户student。

FTP客户端登录服务器端的方法是用ftp命令,命令格式为:ftp [参数] 主机名称或IP地址,例如,ftp 192.168.10.1,输入合法用户名和口令后提示ftp>,说明登录成功,可以进行相应权限的文件传输操作。

在ftp>提示符后可以使用哪些命令,不用死记硬背,可以通过ftp>help列出全部命令,每条命令的功能用ftp>help命令查看帮助,常用的命令有:pwd、dir、cd、get、put、delete、rename、mkdir、rmdir、exit等。

#ftp 192.168.10.1

匿名FTP用户测试,访问正常;本地用户student测试,显示“530 Non-anonymous sessions must use encryption. Login failed.”,提示必须用加密访问,说明配置成功。

3.2.2  Windows 7客户端测试

测试环境:客户端为64位Windows 7,IP地址为192. 168.10.100/24。

Windows7客户端连接CentOS7.4服务器FTPS的测试工具有很多,其中常用的有FlashFXP、Filezilla等。通过FlashFXP测试,连接时会出现“证书”对话框,提示“该证书是自签名”“证书上的公共名称是否与服务器名称相匹配”“颁发给”“颁发者”“有效期”等信息,对话框上有“拒绝”“接受一次”“接受并保存”三个按钮,调试时此处选择“接受一次”。当连接类型选择“FTP”,用户名ftp,密码ftp,连接成功,说明FTP匿名访问成功;连接类型选择“FTP使用外部SSL(认证TLS)”,输入本地用户名student和密码,连接成功,说明FTPS访问正常。

4  结  论

本文针对高职计算机网络技术赛项vsftpd配置中虚拟用户配置、相同IP不同端口配置、SSL配置三个难点问题逐一进行了案例解析,首先介绍了FTP协议主动模式和被动模式的特点、虚拟用户的配置方法,强调了虚拟用户PAM配置中required、sufficient等参数的功能,然后采用每个端口配置对应的配置文件和服务启动文件的方法实现了相同IP不同端口配置难题,最后,介绍了实现TLS配置的两种方法:一种利用OpenSSL命令enrsa、req、CA实现,另一种利用OpenSSL命令make。三个配置难点的解决,为提高vsftpd教学和参赛水平奠定了基础,达到了“赛教融合”“以赛促教促学”的目的。

参考文献:

[1] Red Hat.了解Linux [EB/OL].[2019-12-25].https://www.redhat.com/zh/topics/linux.

[2] 刘遄.Linux就该这么学 [M].北京:人民邮电出版社,2017:217+226-230.

[3] 时光的印记.详解vsftpd搭建ftp和ftps [EB/OL].(2013- 08-21).https://blog.51cto.com/lanlian/1279455.

[4] 杨云,唐柱斌.网络服务器搭建、配置与管理——Linux版(微课版):第3版 [M].北京:人民邮电出版社,2019:224-226.

[5] weixin_34087301.基于PAM认证方式详解 [EB/OL].(2017-11-09).https://blog.csdn.net/weixin_34087301/article/details/89900129.

[6] ALEX_王奈斯.linux vsftpd怎样弄不同端口来实现同一IP有两个Ftp [EB/OL].(2018-04-03).https://zhidao.baidu.com/question/505068029.html.

[7] susanhonly.SSL与TLS的区别以及介绍 [EB/OL].(2017-09-07).https://www.cnblogs.com/susanhonly/p/7489532.html.

[8] 鸟哥.鸟哥的Linux私房菜——服务器架设篇:第3版 [M].北京:机械工业出版社,2012:744-748.

作者简介:杨夏柏(1968—),男,白族,云南大理人,副教授,硕士,研究方向:计算机网络。

猜你喜欢

计算机网络技术
计算机网络技术在信息化建设中的应用研究
电子信息工程与计算机网络技术的结合
计算机网络技术的应用与发展
计算机网络技术在电子信息工程中的实践与应用
电子信息工程与计算机网络技术
计算机网络技术及在实践中的应用分析(1)
计算机网络技术及在实践中的应用分析
基于计算机网络技术的数据库管理系统研究