FTP服务的管理及安全优化

实验环境

准备一台主机,配置好软件仓库与网络


1.Vsftpd的安装及启用

ftp:file transfer proto

文本传输协议

互联网中最老牌的文件传输协议

dnf install vsftpd -y

#安装软件

dnf install lftp -y

#安装浏览器

systemctl enable --now vsftpd

#开启服务

systemctl disable --now firewalld

#关闭火墙

匿名访问:

vim /etc/vsftpd/vsftpd.conf 

systemctl restart vsftpd

#重启服务

测试安装发布:

lftp 192.168.13.200

必须能列出资源才算访问成功,使用完成后输入exit退出lftp


2.客户端登录命令lftp的使用方法

lftp ip

#进入匿名用户访问模式

quit退出

lftp ip -u username

put file

#上传文件

get file

#下载文件,下载文件到当前主机目录里

默认情况下匿名用户登录无法上传文件


4.匿名用户登录控制及默认发布目录的控制及上传功能的实现

vsftpd基本信息

服务名称:

vsftpd.service

配置目录:

/etc/vsftpd

主配置文件:

/etc/vsftpd/vsftpd.conf

默认发布目录:

/var/ftp

报错信息:

550   ##程序本身拒绝

553   ##文件系统权限控制

500   ##权限过大

530   ##认证失败

实验过程中一定要保证selinux处于关闭状态

登陆控制

anonymous_enable=YES|NO

家目录控制

anon_root=/westos

默认家目录为/var/ftp/

还原设置注释掉anon_root=/westos即可

上传控制

anon_upload_enable=YES|NO

systemctl restart vsftp

chmod 775 /var/ftp/pub

chgrp ftp /var/ftp/pub

#修改权限

目录建立控制

anon_mkdir_write_enable=YES|NO

systemctl restart vsftpd

下载控制

anon_world_readable_only=NO

#匿名用户可以下载不能读的文件

删除命令控制

man 5 vsftpd.conf

anon_other_write_enable=YES

匿名用户上传文件权限设定

anon_umask=022

#当设定chown_username之后上传文件权限将不是用此参数设定

匿名用户上传文件的用户身份设定

chown_upload=YES

#打开功能

chown_username=westos

#设定身份为用户westos

chown_upload_mode=0644

#指定上传权限0644

登陆数量控制:

max_clients=2

#同时承载的用户数量不超过2个

 

上传速率控制:

anon_max_rate=102400

建立一个较大文件

dd if=/dev/zero of=/mnt/bigfile bs=1M count=500

进行限速:


5.本地用户登陆控制

登陆控制

lftp 192.168.13.200 -u westos

local_enable=NO|YES

#控制本地用户是否能登录

家目录控制

local_root=/westos

写权限控制

write_enable=NO|YES

默认情况开启 

上传文件权限控制

local_umask=077

systemctl restart vsftpd

用户登录控制

/etc/vsftpd/ftpusers

##永久黑名单,在此名单中出现的用户被永久禁止登录ftp

/etc/vsftpd/user_list

##临时黑名单,当设定相应参数后可以变成白名单

vim /etc/vsftpd/vsftpd.conf

userlist_deny=NO

锁定用户到自己的家目录中:

chmod u-w /home/*

chroot_local_user=YES

锁定用户到自己家目录中的白名单:

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

#当chroot_local_user=YES,此名单为白名单

#当chroot_local_user=NO,此名单为黑名单

锁定用户到自己家目录中的黑名单:

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


6. 为ftp设定虚拟账号

建立虚拟用户过程:

1)vim /etc/vsftpd/westos

#建立认证文件模板

2)db_load -T -t hash -f /etc/vsftpd/westos /etc/vsftpd/westos.db

#加密认证文件

#-T 转换

#-t type

#-f 指定转换文件

3)vim /etc/pam.d/westos

一行用户一行密码

4)vim /etc/vsftpd/vsftpd.conf

systemctl restart vsftpd

虚拟用户只被ftp承认,安全性高

虚拟用户家目录的独立设定

mkdir -p /ftphomedir/{user1,user2}/pub

touch /ftphomedir/user1/user1file

touch /ftphomedir/user2/user2file

vim /etc/vsftpd/vsftpd.conf

local_root=/ftphomedir/$USER

user_sub_token=$USER

systemctl restart vsftpd

用户配置独立 

chmod 775 /ftphomedir/user{1,2}/pub

chgrp ftp /ftphomedir/user{1,2}/pub

让user1独立有上传权限 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值