基于ftp服务的三种登录方式及其相关的访问控制和优化

 

ftp(简单文件传输协议),是一种应用广泛的网络文件传输协议和服务,占用20和21号端口,主要用于资源的上传和下载.

 

 

在linux对于ftp同widows一样具有很多的种类,这里主要介绍vsfptd(非常安全的守护进程)

的三种登录方法(匿名登录和本地登录及虚拟登录)极其一些主要的配置

 

首先用yum安装vsftpd 

 /etc/vsftpd/vsftpd.conf为ftp的主要配置文件

  启动ftp服务 :service vsfptd restart

把其加入到开机项

匿名登录

匿名用户登录ftp server配置比较简单,默认是允许匿名登录ftp server的,主要是考虑权限和selinux及iptables
对ftp server的约束

 

这里可对ftp server作一些优化,使client登录ftp server可以执行上传及创建文件等高权限的操作

 

当client访问ftp server时访问是可以的,但当创建文件时提示权限不够,此时便可以修改selinux对ftp的安全控制

本地登录

 

禁止匿名登录用本地创建的账号登录ftp 服务器

 

在/etc/vsftpd目录下有ftpusers和user_list可对本地系统账号作限制登录,只要把配置文件里出现的账户抹去即可

# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

 

虚拟登录

首先在/etc/vsftpd目录下创建虚拟用户登录ftp server的用户名和密码对应文件/etc/vsftpd/vuser.list

u1                    //奇数行代表用户名
123                 //偶数行代表密码
u2
123

 

利用哈希加密,把创建的登录虚拟用户文件加密为vuser.db,并设置权限

 [root@localhost ~]# db_load  -T -t hash /etc/vsftpd/vsftpd.list   /etc/vsftpd/vsftpd.db 

 

vim 编辑/etc/pam.d/vsftpd.vu  创建PAM认证文件

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

 

设置一个不允许系统登录的账户对应着虚拟用户登录ftp server时所用的家目录

[root@localhost ~]# useradd -d /var/ftproot/ -s /usr/sbin/nologin virtual

 

为了让虚拟用户登录系统具有可以一些列的权限,可以在/etc/vsftpd下创建虚拟用户权限目录vuser_dir,并同时创建和虚拟用户名相同的文件,设置权限

[root@localhost ~]# cd /etc/vsftpd/vusrs_dir/
[root@localhost vusrs_dir]#
[root@localhost vusrs_dir]#
[root@localhost vusrs_dir]# ls
u1 u2
[root@localhost vusrs_dir]#
[root@localhost vusrs_dir]#

vim /etc/vsftpd/vuser_dir/u2

anon_mkdir_write_enable=YES
anon_upload_enable=YES

 

接下来重要的是把先前创建好的一些列文件在主配置文件/erc/vsftpd/vsftpd.conf里调用

user_config_dir=/etc/vsftpd/vusers_dir      //虚拟用户权限文件目录
guest_enable=YES                        //允许虚拟用户登录ftp
guest_username=virtual               //虚拟用户名
allow_writeable_chroot=YES         //允许虚拟用户目录取消牢笼机制
pam_service_name=vsftpd.vu    //指定pam认证文件的位置

 

 在客户端登录ftp server,发现可以成功用虚拟账户登录ftp server,从一定程度上提升了ftp server的安全性


[root@localhost vusrs_dir]# ftp 10.0.0.1
Connected to 10.0.0.1 (10.0.0.1).
220 (vsFTPd 3.0.2)
Name (10.0.0.1:root): u2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

 优化

1:本地用户登录访问控制

 下面对ftp server坐一些优化,在前面说到的采用本地登录方法登录ftp server,处在/etc/vsftp/vuser|root文件被 ftp server列为黑名单,这是由于/etv/vsftpd/vsftpd.conf下的userlist_enable选项导致的,只要把"YES"改为NO,黑名单里的用户便可已登录ftp server,但黑名单外的

用户则不可以登录ftp server

 

 userlist_enable=NO

2:最大连接数

 若由多个client同时登录 ftp server,就难免造成ftp server的流量分配不均,可以用

max-clinets  number    //对同一时间的client做最大限制

max-per_ip  number   //对同一IP做最大限制

3:用户隔离

vim编辑/etc/vsftpd/vsftp.conf:

取消 chroot_local_user=YES前的注释,限制用户只能在自己当前的目录

 

 

4:会话和数据传输超时时间控制

Idle_session_timeout //设置会话超时的最大时间

Data_connection_timeout //设置数据传输超时的最大时间

 

 

 

转载于:https://www.cnblogs.com/activecode/p/9348181.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值