作者:蓝眼泪
背景介绍
vsftp全称非常安全的ftp,very secure ftp
1 连接类型
控制连接信道 持续连接 收发ftp指令
数据连接信道 按需连接 数据的上传和下载
2 工作模式
主动模式 port 客户端随机端口 服务器端20端口
被动模式 passive 服务器端随机端口 客户端随机端口
3 传输模式
binary模式
ascii模式
切换方式
ftp>ascii
ftp>bin
第一 ssh秘钥对登录过程
ssh-keygen -t rsa -b 2048 && ssh-copy-id root@192.168.60.125
~/.ssh/ id_rsa.pub id_rsa ~/.ssh/authorized_keys
http https
3389 远程桌面连接 445 smb协议
第二 openssl工作过程
ca证书服务器 server client
1 *.key 秘钥对 *.csr 证书 *.crt签字证书
2 *.key 秘钥对(公钥和私钥) *.crt签字证书
3 *.crt
ftp ssh sftp vsftp
httpd 80 httpd.conf
vsftpd 21 vsftpd.conf
证书就是加密工具
第三 密钥文件,证书文件,签字证书文件
rpm -q openssl
rpm -qf $(which openssl)
ldd $(which vsftpd) |grep libssl
cd /etc/ssl/certs/
openssl genrsa -out vsftpd.key 2048
openssl req -new -key vsftpd.key -out vsftpd.csr
CN FJ XM gopro it www.gopro.com 136841202@qq.com enter enter
openssl x509 -req -sha256 -days 365 -in vsftpd.csr -signkey vsftpd.key -out vsftpd.crt
通过证书,密钥,有效期,加密算法形成服务器的签字证书
chmod 500 .
ldd /usr/sbin/vsftpd |grep libssl
第四 配置vsftpd文件
vim /etc/vsftpd/vsftpd.conf
ssl_enable=yes
ssl_tlsv1=yes
ssl_sslv2=yes
ssl_sslv3=yes
allow_anon_ssl=yes
force_anon_logins_ssl=yes
force_anon_data_ssl=yes
force_local_logins_ssl=yes
force_local_data_ssl=yes
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/certs/vsftpd.key
systemctl restart vsftpd
第五 抓包验证安全性
vim /etc/vsftpd/ftpusers
vim /etc/vsftpd/vsftpd.conf
pasv_enable=yes
pasv_min_port=35000
pasv_max_port=40000
dd if=/dev/zero of=./atguigu.txt bs=1M count=1000
vim /etc/vsftpd/vsftpd.user
db_load -T -t hash -f vsftpd.user vsftpd.db
chmod 600 vsftpd.db
useradd -d /var/ftproot -s /sbin/nologin virtual
vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.pam
guest_enable=yes
guest_username=virtual
user_config_dir=/etc/vsftpd/dir
cd /etc/vsftpd
mkdir dir
chmod o+r a1 /var/ftptool
vim /etc/vsftpd/vsftpd.conf
anon_umask=022
用linux自带的抓包工具tcpdump抓包
tcpdump -i ens33 -nn -X -vv tcp port 21 and ip host 192.168.1.130
tcpdump -i ens33 -nn -X -vv port 21 and ip host 192.168.1.130
附加信息
文件共享的三种方式:nfs ftp smb