热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

vsFTPd服务器的的安全设置教程

在企业级的应用中,越来越多的企业应用开源的vsftpd软件来搭建自己的文件共享服务,优点是速度快且节省开支。然而,企业用户行为难以预料,配置稍有不当则会使该服务成为一个安全风险点,导致带宽恶意占用、用户FTP服务密码泄露等。本文将以实例为大家介绍vs

在企业级的应用中,越来越多的企业应用开源的vsftpd软件来搭建自己的文件共享服务,优点是速度快且节省开支。然而,企业用户行为难以预料,配置稍有不当则会使该服务成为一个安全风险点,导致带宽恶意占用、用户FTP服务密码泄露等。本文将以实例为大家介绍vsftpd的安全设置方法。

1、vsftpd简介

vsftpd是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(表明它也是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX及Irix上,是当前很多Linux发行套件的最新版本提供的默认FTP服务器。该服务器支持很多其他传统的FTP服务器不支持的功能,主要有如下几个显著特点:1)非常高的安全性;2)带宽限制功能;3)良好的扩展性;4)支持创建虚拟用户;5)支持IPv6;6)支持虚拟IP;7)高速、稳定。总体来说,vsftpd是Linux系统中继Wu-ftpd之后又一款优秀的、使用普遍的FTP服务器,

2、vsftpd快速安装

目前在主流的Linux发行版本中,如Red Hat Enterprise Linux(RHEL)、Fedora或CentOS系统上,安装vsftp很简单,这里使用CentOS作为演示来介绍。

首先,需要登录开源分站点将vsftp的安装包下载回来(RHEL版本的操作与其相同),如下命令所示:

#wget htt://ftp.cica.es/CentOS/5/updates/i386/RPMS/vsftpd-2.0.5-16.el5_4.1.i386.rpm

接着,使用rpm命令安装所需软件包:

#rpm -ivh vsftpd-2.0.5-16.el5_4.1.i386.rpm

值得注意的是:在运行vsftpd之前,需要确定系统的SELinux已经支持FTP读写或者SELinux为关闭状态。否则,vsftpd将无法正常运行。

3、vsftpd快速配置

首先,配置vsftpd需要修改vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,并设定默认的匿名用户根目录:/var/ftp/。图1为安装完成后的vsftpd.conf。默认情况下匿名用户的访问是被允许的,图中的anonymous_enable=YES。

安装完成后的vsftpd.conf

图1

如果在配置文件末尾加上anon_upload_enable=YES和anon_mkdir_write_enable=YES。那将允许匿名用户上传文件并可以创建目录。如图2:

在vsftpd配置文件末尾加上anon_upload_enable

图2

接着,需要切换到/var/ftp目录下建立新的文件夹xiaowang,如下命令:

#cd /var/ftp

#mkdir /var/ftp/xiaowang

然后,使用如下命令启动vsftpd服务即可:

#service vsftpd start

其中那个pub文件夹是vsftp安装完自带的,我们暂时不用理会。

值得注意的是:如果在命令行模式下输入ntsysv命令调出系统的面板,并在vsftpd前选上星号,并回车确认,即可以让vsftp开机启动。

4、实例剖析安全设置

(1)用户访问权限管理

前面所看到的是非常简单的vsftp使用过程,基本上没做什么安全上的配置,接下来通过实例配置来介绍常规的vsftpd安全管理应该如何进行。

为了安全起见,一个安全的vsftp服务器肯定不允许匿名登录,更不用说匿名上传和匿名删除服务器中的相关文件。那么,就需要如下一些步骤来进行用户管理,从而保证其安全。

1)修改默认配置文件

需要修改/etc/vsftpd/vsftpd.conf,修改为anonymous_enable=NO,如图3:

修改vsftp默认配置文件

图3

2)使用nologin禁止FTP帐户登录Linux服务器

目前大多数使用vsftpd的企业用户都知道这么一种默认情况: vsftp的用户可以使用本地系统帐号。也就是说。如果在这个Linux系统中有一个叫xiaowang的普通用户的话,那这个xiaowang帐号是可以登录vsftp的。初看起来,这没有什么问题,但是,通过分析我们不难得知:如果xiaowang这个FTP帐号信息被人非法获得的话,对方将可以用这个帐号远程ssh登录Linux服务器执行多种命令。这是一个较大的安全隐患。所以企业系统管理员在新建FTP用户时,需要用到nologin。

假设这里添加一个不允许本地登录的帐号xiaowang,执行如下命令:

#useradd -s /sbin/nologin xiaowang

然后再用passwd命令设置密码,这样,就保证了FTP帐号将只能传输文件无法本地登录。即使帐户被丢失,黑客拿到FTP帐号也顶多只能访问FTP服务,而不可能登录到Linux服务器本地,进行更多的非法操作。

在《实例剖析开源系统中vsftpd的安全设置方法(二)》中,我们将介绍如何使用chroot控制用户访问权限,如何限制恶意占有带宽的用户等内容。


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
author-avatar
kerrybrooks
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有