Linux系统的FTP安全优化

Linux系统的FTP安全优化

FTP

  • FTP(File Transfer Protocol,文件传输协议) 是 INTERNET上仍常使用的最老的 络协议之一,也是TCP/IP 协议组中的协议之一它为系统提供了通过 络与远程服务器进行传输的简单方法
  • 在 RED HAT ENTREPRISE LINUX 6中 ,FTP服务器包的名称为VSFTPD,它代表Very Secure File TransferProtocol Damon服务器名称也叫做 vsftpd
  • 默认配置文件让Anonymous用户只能下载位于chroot目录中的内容。/var/ftp/这意味着远程FTP客户端能以用户anonymous或ftp身份连接到服务器(无需密码),并从ftp服务器上的/var/ftp/目录下载文件(其本地ftp用户可以读取这些文件)
  • FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发 站的时候,通常利用FTP协议把 页或程序传到Web服务器上
  • 由于FTP传输效率非常高,在 络上传输大的文件时,一般也采用该协议
  • 默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息
  • 是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定

FTP实验环境

在部署ftp服务之前,首先给自己的server虚拟机配置一个静态ip
ip addr show br0 #查看ip是否配置成功
hostnamectl set-hostname ftpserver #更改server虚拟机名称为ftpserver
配置好对应版本的yum源
selinux设置为disabled模式getenforce #查看selinux的状态

这里查看状态时如果是disabled就可以,如果是enforceing则要vim /etc/sysconfig/selinux`更改状态为disabled,更改完毕之后需要reboot才能生效

FTP服务的基本信息

ftp服务名称(软件安装包):vsftpd
ftp默认发布目录: /var/ftp
默认发布目录的子目录: /var/ftp/pub/
协议接口: 21/tcp
服务配置文件: /etc/vsftpd/vsftpd.conf

FTP 错解析

500 文件系统权限过大
530 用户认证失败
550 服务本身功能未开启
553 本地文件系统权限过小

FTP的安装

ftp服务的安装,实际上就是搭建一个ftp服务器,lftp作为客户端连接ftp服务器,lftp也需要单独安装

可以看到,vsftpd软件已成功安装

FTP配置参数的修改

匿名用户登陆限制

anonymous_enable=YES #允许匿名用户登录ftp服务器,默认为YES

anonymous_enable=NO #不允许匿名用户登录ftp服务器

匿名用户上传

write_enable=YES
anon_upload_enable=YES

chgrp ftp /var/ftp/pub #匿名用户默认是以ftp用户身份访问ftp服务器的,所以将ftp目录的所有组修改为ftp,并且赋予较大的权限,匿名用户才能上传
chmod 775 /var/ftp/pub

匿名用户家目录的修改

anon_root=/westos

匿名用户上传文件默认权限修改

anon_umask=022

匿名用户建立目录

anon_mkdir_write_enable=YES

匿名用户下载

anon_world_readable_only=YES|NO NO表示匿名用户可以下载

匿名用户删除

anon_other_write_enable=YES|NO

匿名用户用户身份修改

chown_uploads=YES
chown_username=student

最大上传速率

anon_max_rate=102400

本地用户设定

本地用户登录权限设定

local_enable=YES #允许本地用户登录
local_enable=NO #不允许本地用户登录

本地用户写权限限制

write_enable=YES|NO ##本地用户写权限限制

本地用户家目录修改

local_root=/dir

本地用户上传文件权限限制

local_umask=022

限制本地用户浏览

chroot_local_user=YES

chmod u-w /home/*

本地用户黑名单

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

本地用户白名单

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

vim chroot_list

限制本地用户登陆

用户白名单

userlist_deny=NO
/etc/vsftpd/user_list #只有白名单中出现的用户可以登陆ftp

虚拟用户的设定

vim /etc/vsftpd/westosfile #文件名称任意,设定虚拟机的登录用户名和密码这个虚拟账 实际上不存在

db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
加密命令 转换 建立 加密方 文件 被加密文件 加密过的文件

pam_service_name=westos #查看vsftpd.conf文件,认证的时候使用pam认证,将指向改为westos文件,使westos文件中的账 和密码生效
guest_enable=YES #允许游客登录

ftp虚拟帐 身份指定

guest_username=ftp #默认使用虚拟用户时,登录后在pub目录,要想改变此参数,修改此参数,修改后登录到westos家目录

ftp虚拟帐 家目录的独立设定

虚拟用户登陆不再处在以ftp用户的身份登陆默认的目录下
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/ U S E R u s e r s u b t o k e n = USER user_sub_token= USERusers/span>ubt/span>oken=USER

虚拟帐 配置独立

chgrp ftp /ftpuserhome -R
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf

mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/user1

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24697 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月11日
下一篇 2019年10月11日

相关推荐