1 FTP的定义
FTP,全称为文件传输协议(File Transfer Protocol),是一种用于在计算机之间传输文件的标准网络协议。
其主要作用是允许用户在客户端和服务器之间传输文件,支持上传、下载、删除和重命名文件等操作。
FTP协议跨足多个操作系统,包括Windows、Linux、Unix和其他主流操作系统。
2 端口号
FTP使用两个端口进行通信:
- 20
- 21
命令端口(通常是21号端口)用于发送控制命令,数据端口则根据传输模式而变化。
在主动模式下,服务器使用20号端口发送数据;
在被动模式下,服务器打开一个动态端口,等待客户端连接。
3 安全隐患
3.1 认证和访问控制问题
弱密码、匿名访问、无密码访问等问题可能导致未经授权的访问,使得FTP服务器容易受到攻击。
- FTP access with administrator/password credentials
3.2 传输安全性问题
FTP在传输过程中可能存在未加密的数据传输,使得敏感信息容易受到中间人攻击。此外,FTP命令和凭证可能以明文形式传输,导致安全隐患。
- FTP credentials transmitted unencrypted
3.3 FTP服务器配置问题
FTP服务器在被动模式(PASV)下使用可预测的端口号,增加了攻击者猜测端口的可能性,从而存在安全风险。
- FTP server uses predictable port numbers for PASV connections
3.4 FTP PORT反弹
FTP PORT反弹攻击是一种利用被动模式FTP的旧类型网络攻击。这种攻击以FTP服务器为跳板,间接获得网络中受害者机器的控制权,从而请求数据并将流量从FTP服务器发送到它。
攻击者通过猜测端口号进行扫描或者干扰数据传输,利用PORT命令欺骗FTP连接以执行命令并从另一个设备(而不是目标服务器)提取敏感信息。
- FTP PORT bounce attack
3.5 FTP协议漏洞
FTP服务器软件可能存在已知漏洞,攻击者可以利用这些漏洞执行远程代码或者进行其他攻击。
- MS11-004: Vulnerability in Internet Information Services (IIS) FTP Service Could Allow Remote Code Execution (2489256)
- MS09-053: Vulnerabilities in FTP Service for Internet Information Services Could Allow Remote Code Execution (975254)
- Microsoft CVE-2018-8476: Windows Deployment Services TFTP Server Remote Code Execution Vulnerability
- Microsoft CVE-2019-0603: Windows Deployment Services TFTP Server Remote Code Execution Vulnerability
4 加固方法
4.1 使用强密码和多因素认证
避免使用易猜或与用户名相同的密码,推荐使用复杂且随机的密码,同时考虑采用多因素认证以增加安全性。
4.2 使用加密连接
使用SSL/TLS等加密协议对FTP连接进行加密,避免敏感信息在传输过程中被窃取或篡改。
4.3 禁用或限制匿名访问
关闭匿名账户或限制其访问权限,仅允许授权的用户访问FTP服务器。
4.4 配置适当的安全策略
使用被动模式,并配置动态端口范围,减少端口号的可预测性。
标签:
安全
本文转载自: https://blog.csdn.net/apple_52661176/article/details/134831745
版权归原作者 liutianlong1949 所有, 如有侵权,请联系我们删除。
版权归原作者 liutianlong1949 所有, 如有侵权,请联系我们删除。