1 认识SFTP
FTP(SSH文件传输协议)和FTP(文件传输协议)是两种用于文件传输的协议,它们在工作原理、安全性和配置方面有很大的差异。
1)工作原理:
- FTP:FTP使用两个独立的连接(控制连接和数据连接)来传输文件。控制连接用于发送命令和处理身份验证,而数据连接用于传输文件内容。
- SFTP:SFTP是通过SSH协议进行文件传输的扩展。它在单个加密的连接上执行所有的文件传输和文件管理操作。
2.)安全性:
- FTP:FTP是明文传输,包括命令和数据,因此在网络上容易受到窃听和数据篡改的风险。
- SFTP:SFTP使用SSH协议进行加密传输,包括命令、数据和身份验证信息,因此提供了更高的安全性和数据保护。
3) 配置差异:
- FTP:配置FTP服务器涉及设置用户权限、FTP根目录、端口号等。FTP服务器通常使用独立的守护进程(如vsftpd、ProFTPD、FileZilla等)进行管理。
- SFTP:配置SFTP服务器通常涉及SSH服务器的配置。你需要确保SSH服务器已正确配置,并且用户允许使用SFTP。
4)验证使用的是SFTP
(1)验证使用的是SFTP的方法是通过连接到相应的服务器并尝试进行文件传输。你可以使用一个SFTP客户端工具(如WinSCP、FileZilla、sftp命令等)来连接到服务器并尝试传输文件。如果连接成功并且可以进行加密的文件传输,则可以确认正在使用SFTP。在填写连接信息,包括服务器地址、端口号、用户名和密码等。确保使用的端口号是SFTP的默认端口号(通常为22),而不是FTP的默认端口号(通常为21)。
(2)如果连接端口是SSH的默认端口号(通常为22),那么你正在使用SFTP。如果连接端口是FTP的默认端口号(通常为21),那么你正在使用FTP.
在使用SFTP时,请确保你的SSH服务器和SFTP客户端都已配置和支持SFTP。如果你使用的是第三方SFTP服务器软件,请参考其官方文档了解具体配置步骤。
2 安全评估
主要从以下几方面进行评估:
1) 认证和授权:评估SFTP服务器的身份验证机制,确认是否使用安全的身份验证方法(如SSH密钥、多因素身份验证)并且只有授权用户可以登录。确保对用户的权限进行适当的授予和管理,以限制他们的访问和操作范围。
2) 加密和数据传输:评估SFTP服务器是否使用SSL/TLS协议进行通信加密,以保护数据传输的机密性和完整性。确认服务器是否配置为仅接受安全加密算法,并且强制客户端使用加密连接。
3) 安全配置:检查SFTP服务器的安全配置,例如限制登录尝试次数、限制IP地址或网络范围、禁用不安全的SFTP协议版本(如旧版SSH版本),以及禁用不必要的功能和服务。
4) 日志和监控:确保SFTP服务器启用了详细的日志记录功能,包括成功和失败的登录尝试、文件传输记录等。配置实时监控和警报机制,以便能够及时检测和应对潜在的安全问题或入侵活动。
5) 安全更新和漏洞管理:及时安装和应用SFTP服务器软件的安全更新和补丁,以修复已知的漏洞和安全问题。跟踪并了解与所使用的SFTP软件相关的最新安全威胁和漏洞,以及相应的解决方案。
6) 物理安全和访问控制:确保服务器所在的物理环境符合安全标准,控制对服务器的物理访问。限制对SFTP服务器的管理权限,只有经过授权的人员可以配置和管理服务器。
具体操作如下:
通过查看配置文件:Cat /etc/ssh/sshd_config
其中SSL 密钥套件推荐配置如下:
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-12@openssh.com
SFTP部署可以参考:
https://blog.csdn.net/qq_23598037/article/details/79766085