漏洞描述

FTP 弱口令或匿名登录漏洞,一般指使用 FTP 的用户启用了匿名登录功能,或系统口令的长度太短、复杂度不够、仅包含数字、或仅包含字母等,容易被黑客攻击,发生恶意文件上传或更严重的入侵行为。

漏洞危害

黑客利用弱口令或匿名登录漏洞直接登录 FTP 服务,上传恶意文件,从而获取系统权限,并可能造成数据泄露。

加固方案

不同 FTP 服务软件可能有不同的防护程序,本修复方案以 Windows server 2008 中自带的 FTP 服务和 Linux 中的vsftpd服务为例,您可参考以下方案对您的 FTP 服务进行安全加固。

重要提示:

  • 请确保您的 FTP 服务软件为官方最新版本。同时,建议您不定期关注官方发布的补丁,并及时进行更新。

  • 强烈建议不要将此类型的服务在互联网开放,您可以使用 VPN 等安全接入手段连接到 FTP 服务器端,同时使用 安全组 来控制访问源IP。

Windows 系统 FTP 服务安全加固**

打开 IIS 信息服务管理器,查看所有 FTP 服务相关的安全加固功能。

  1. 禁用匿名登录

    1. 创建 FTP 帐户。

      在 开始 > 管理工具 > 计算机管理 > 本地用户和组 中,创建用户,设置强密码(密码建议八位以上,包括大小写字母、特殊字符、数字等混合体,不要使用生日、姓名拼音等常见字符串),并设置该用户属于 GUESTS 用户组。

    2. 禁用匿名登录。

      • Windows 2008 系统 FTP 禁用匿名登录服务

      • Windows 2012系统 FTP 禁用匿名登录服务

  2. 启用强密码安全策略

    在 Windows 系统中,强密码策略是通过组策略控制的。您可以打开本地组策略编辑器(gpedit.msc),计算机配置 > Windows 设置 > 安全设置 > 账户策略 > 密码策略,启用密码复杂策略。

    启用 密码必须符合复杂性要求 策略后,在更改或创建用户密码时会执行复杂性策略检测,密码必须符合以下最低要求:

    • 密码不能包含账户名
    • 密码不能包含用户名中超过两个连续字符的部分
    • 密码至少有六个字符长度
    • 密码必须包含以下四类字符中的至少三类字符类型:英文大写字母(A-Z)、英文小写字母(a-z)、10个基本数字(0-9)、特殊字符(例如:!、¥、#、%)

      注意: 推荐 Windows 所有需要进行用户认证的服务都采用上述复杂密码策略。

  3. 启用账户登录失败处理机制

    该机制对登录失败的账户实施强处理,可有效防止暴力破解攻击事件。

  4. 启用 FTP 目录隔离机制

    FTP 目录隔离功能可以防止用户查看其它用户目录的文件,防止数据泄露。

  5. 指定访问源 IP

  6. 启用授权机制

    您可以根据业务需求配置授权规则,限制用户访问的权限。

  7. 启用 SSL 加密传输功能

    1. 启用 SSL 加密传输功能,需要先创建服务器证书:

    2. 在 FTP SSL 设置中,选定已创建的服务器证书即可。

  8. 启用日志功能

    IIS 中的 FTP 日志是默认启用的,您可以根据磁盘空间情况配置日志空间大小和其他策略。

FileZilla FTP Server 安全加固

FileZilla FTP Server 是一个非常流行的开源的、免费的 FTP 客户端、服务器端软件,如果您使用该搭建 FTP 服务,FileZilla FTP Server 提供了相关的安全功能,您可以参考 FileZilla FTP Server 安全加固 方案加固您的 FileZilla FTP Server 的安全。

Linux 系统 vsftpd 服务安全加固

  1. 及时安装更新补丁

    在安装更新补丁前,备份您的 vsftp 应用配置。从 VSFTPD官方网站 获取最新版本的 vsftp 软件安装包,完成升级安装。或者,您可以下载最新版 vsftp 源码包,自行编译后安装更新。您也可以执行yum update vsftpd命令通过 yum 源进行更新。

  2. 禁用匿名登录服务

    1. 添加一个新用户(test),并配置强密码。例如,执行useradd -d /home -s /sbin/nologin test命令。

      • 其中,/sbin/nologin参数表示该用户不能登录 Linux shell 环境。
      • test为用户名。
      • 通过passwd test命令,为该用户配置强密码。密码长度建议八位以上,且密码应包括大小写字母、特殊字符、数字混合体,且不要使用生日、姓名拼音等常见字符串作为密码。
    2. 修改配置文件 vsftpd.conf,执行#vim /etc/vsftpd/vsftpd.conf命令。

      anonymous_enable=NO,将该参数配置为 NO 表示禁止匿名登录,必须要创建用户认证后才能登录 FTP 服务。

  3. 禁止显示 banner 信息

    修改 VSFTP 配置文件 vsftpd.conf,设置ftpd_banner=Welcome。重启 vsftp 服务后,即不显示 banner 信息。

     
    1. >ftp 192.168.10.200
    2. Connected to 192.168.10.200.
    3. 220 Welcome
    4. User (192.168.10.200:(none)):
  4. 限制 FTP 登录用户

    在 ftpusers 和 user_list 文件中列举的用户都是不允许访问 FTP 服务的用户(例如 root、bin、daemon 等用户)。除了需要登录 FTP 的用户外,其余用户都应该添加至此拒绝列表中。

  5. 限制 FTP 用户目录

    1. 修改 VSFTP 配置文件 vsftpd.conf。

       
      1. chroot_list_enable=YES
      2. chroot_list_file=/etc/vsftpd/chroot_list
    2. 新建 /etc/vsftpd/chroot_list 文件,并添加用户名。例如,将 user1 添加至该文件,则 user1 登录 FTP 服务后,只允许在 user1 用户的 home 目录中活动。

  6. 修改监听地址和默认端口

    例如,修改 VSFTP 配置文件 vsftpd.conf,设置监听 1.1.1.1 地址的 8888 端口。

     
    1. listen_address=1.1.1.1
    2. listen_port=8888
  7. 启用日志记录

    修改 VSFTP 配置文件 vsftpd.conf,启用日志记录。

     
    1. xferlog_enable=YES
    2. xferlog_std_format=YES

    如果您需要自定义日志存放位置,可以修改xferlog_file=/var/log/ftplog

  8. 其他安全配置

    修改 VSFTP 配置文件 vsftpd.conf。

     
    1. //限制连接数
    2. max_clients=100
    3. max_per_ip=5
    4. //限制传输速度
    5. anon_max_rate=81920
    6. local_max_rate=81920

注意: 如果您不需要使用 FTP 服务,建议您关闭该服务。

FTP匿名登录或弱口令漏洞及服务加固的更多相关文章

  1. snmp默认团体名/弱口令漏洞及安全加固

    0x00基础知识 简单网络管理协议(SNMP)被广泛用于计算机操作系统设备.网络设备等领域监测连接到网络上的设备是否有任何引起管理上关注的情况.在运行SNMP服务的设备上,若管理员配置不当运行默认团体 ...

  2. jenkins弱口令漏洞

    jenkins弱口令漏洞 一.漏洞描述 通过暴力破解管理控制台,如果爆破成功,可获得后台管理权限.操作后台,后台可通过脚本命令行功能执行系统命令,如反弹shell等,低权限可以通过创建控制台输出方式执 ...

  3. SNMP弱口令漏洞的使用

    如果能获取只读(RO)或读/写(RW)权限的团体字符串,将对你从设备中提取信息发挥重要作用,snmp v1 v2天生存在安全缺陷,snmp v3中添加了加密功能提供了更好的检查机制,增强了安全性为了获 ...

  4. [漏洞复现] [Vulhub靶机] Tomcat7+ 弱口令 && 后台getshell漏洞

    免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 背景知识 war文件 0x01 漏洞介绍 影响范围:Tomcat 8.0版本 漏洞类型:弱口令 漏洞成因:在tomc ...

  5. python实现FTP弱口令扫描器与简单端口扫描器

    python实现FTP弱口令扫描器与简单端口扫描器 目录 FTP弱口令扫描器 简单端口扫描器 参考: https://blog.csdn.net/rebelqsp/article/details/22 ...

  6. 16.Tomcat弱口令 && 后台getshell漏洞

    Tomcat7+ 弱口令 && 后台getshell漏洞 Tomcat版本:8.0 环境说明 Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下.其中, ...

  7. FTP弱口令猜解【python脚本】

    ftp弱口令猜解 python脚本: #! /usr/bin/env python # _*_ coding:utf-8 _*_ import ftplib,time username_list=[' ...

  8. 中国气象局某分院官网漏洞打包(弱口令+SQL注入+padding oracle)

    漏洞一.后台弱口令 后台地址:http://www.hnmatc.org/admin/ 直接爆破得到账号admin  密码admin888 漏洞二.SQL注入(前台后台都有) 注入点:http://w ...

  9. 12.Weblogic 弱口令 && 后台getshell漏洞

    利用docker环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞. 分别通过这两种漏洞,模拟对weblogic场景的渗透. Weblogic版本:10.3. ...

随机推荐

  1. 回文串(bzoj 3676)

    Description 考虑一个只包含小写拉丁字母的字符串s.我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度.请你求出s的所有回文子串中的最 大出现值. Input 输入只有一行 ...

  2. PAT 天梯赛 L1-043 阅览室

    L1-043. 阅览室 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者 ...

  3. java修炼

    java程序员修炼之道——大牛告诉我们应该好好学习与修炼以下知识与技能   ———————————————————— 一:Java语言学习(对线程(thread),串行化,反射,网络编程,JNI技术, ...

  4. 转 C++的常量引用

    C++的常量引用 如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作.对常量的引用可以用其它任何引用来初始化:但不能改变. 关 ...

  5. 常用 vim 命令总结

    学习 vim ,是需要经常使用的,而这些命令,是我这段时间最常用的命令,很有效率的提高的我的文本编辑效率.----------------------------------------------- ...

  6. no update

    cd /home/.gnupg/ mv gpg.conf gpgbake.conf pacman -S archlinux-keyring && pacman -Syu 如果还是不行, ...

  7. python 代码格式

    python 代码格式 Python对代码的缩进要求非常严格,如果不采用合理的代码缩进,将抛出SyntaxError异常 Python语句中一般以新行作为为语句的结束符.但是我们可以使用斜杠( )将一 ...

  8. CAS统一认证系统学习

    Yale CAS(耶鲁集中认证服务)简介 http://www.5iops.com/html/2012/sso_0713/181.html 单点登陆框架CAS的研究 http://www.cnblog ...

  9. Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类

    该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...

  10. 报“ Got minus one from a read call”的错误

    在部署应用的时候,有时候应用可以直接启动,但偶尔应用却无法启动,报错信息是: java.sql.SQLRecoverableException: IO Error: Got minus one fro ...