Linux中ftp服务和安全部署

一 ftp 服务


1)ftp的启用

yum install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd  --permanent  --add-service=ftp
firewall-cmd  --reload

ftp://172.25.254.100

Linux中ftp服务和安全部署_第1张图片2)ftp的基本信息
访问数据端口:21
数据传输端口:>1024随机端口

默认发布目录 : /var/ftp
1 访问方式
   
  lftp 172.25.254.100    #匿名登陆    /var/ftp


  lftp 172.25.254.100 -u student #用户登陆  /home/student


配置文件
    /etc/vsftpd/vsftpd.conf

二  ftp的安全部署

1)默认情况下匿名用户可以登陆,本次实验改成匿名用户不能登陆

anonymous_enable=YES|NO   #匿名用户是否可以登陆


2)默认情况本地用户可以登陆,本次实验改成本地用户不能登陆

local_enable=YES|NO      #本地用户是否可以登陆


3)默认情况本地用户可以写

write_enable=YES|NO      #本地用户是否可写

Linux中ftp服务和安全部署_第2张图片

4)匿名用户上传
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
systemctl restart vsftpd
Linux中ftp服务和安全部署_第3张图片

5)匿名用户新建目录
anon_mkdir_write_enable=YES

Linux中ftp服务和安全部署_第4张图片

6)匿名用户下载
anon_world_readable_only=YES|NO       设定参数值为no表示匿名用户可以下载

7)匿名用户是否可以删除
anon_other_write_enable=YES

8)匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student

9)最大上传速率
anon_max_rate=102400

10)本地用户家目录修改
local_root=/directory

Linux中ftp服务和安全部署_第5张图片

11)本地用户上传文件权限
local_umask=XXX

限制本地用户浏览目录
12)所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*

13)用户黑名单建立   本次实验把student 用户放入黑名单中
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

Linux中ftp服务和安全部署_第6张图片

14)用户白名单建立        本次实验把student用户放入白名单中
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

Linux中ftp服务和安全部署_第7张图片

限制本地用户登陆
vim /etc/vsftpd/ftpusers    用户黑名单
vim /etc/vsftpd/user_list   用户临时黑名单

用户白名单设定
uerlist_deny=NO
/etc/vsftpd/user_list     参数设定,此文件变成用户白名单,只有在名单中出现的用户可以登陆ftp

三 ftp虚拟用户的设定


1)创建虚拟帐号身份
vim /etc/vsftpd/jamesfile 文件名称任意      包括账户名称和账户密码
user1
123
user2
123
user3
123

2)hash加密成FTP用户文件

db_load -T -t hash -f /etc/vsftpd/jamesfile /etc/vsftpd/jamesfile.db

3)vim /etc/pam.d/james #文件名称任意  建立虚拟化用户的PAM认证文件
account   required      pam_userdb.so     db=/etc/vsftpd/jamesfile
auth      required      pam_userdb.so     db=/etc/vsftpd/jamesfile

vim /etc/vsftpd/vsftpd.conf
pam_service_name=james
guest_enable=YES

4)测试虚拟用户登陆

Linux中ftp服务和安全部署_第8张图片

虚拟帐号身份指定
guest_username=ftp

chgrp ftp /ftphome/user* -R
chmod 775 /ftphome/user*/*

虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER
user_sub_token=$USER

mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p


虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconf -p

vim /etc/vsftpd/userconf/ftpuser1
此文件中设定配置文件中的所有参数,此文件的优先级高

 

你可能感兴趣的:(Linux中ftp服务和安全部署)