案例分析:某企业FTP服务动态密码验证模块存在的问题及建议
来源:互联网 发布:厨师机 知乎 编辑:程序博客网 时间:2024/05/21 07:55
1. 动态密码的生成
分析某企业网关的FTP服务动态密码验证流程,主要分为两部分:动态密码的生成,以及动态密码的验证。其中,动态密码生成过程如图1.1所示。
2. 登录验证流程
FTP客户端登录及服务端进行动态密码验证的流程如图1.2所示。
3. 存在问题
(1)所谓的动态密码实际上并非动态密码,只是通过同一套算法生成的密码来验证,使得用户名和密码有多种可能,产生动态的错觉;
(2)通过自定义的加密算法生成的密码,却是明文传输,使用抓包工具一览无余;
(3)加密算法看起来是复杂、可靠的,但在网络安全上却没有起到任何作用,个人认为其安全性并不高于仅使用MD5或SHA1加密;
(4)一旦加密算法或密码生成器被泄露了,打击远大于使用公共加密算法;
(5)虽然加密算法中使用了非对称的单向散列函数(MD5),但是登录验证的却是对称密码。
4. 登录测试
我们使用“aaabbbcccddd”和“111222333444”用户名通过加密算法处理获得的密码,分别是“BXzqL8N6q9Sl”和“CS112dFAEUaf”,成功登录席位网关的FTP服务器,并且通过WireShark抓包。显然,明文传输会使得密码泄露,如图1.3和1.4所示。
5. 初步建议
(1)避免使用明文传输用户密码;
(2)加强席位网关FTP服务的权限管理。
6. 更多建议
(1)如果没有充分理由要求使用动态密码验证,建议取消;
(2)如果确实需要使用动态密码验证,建议服务端维护一个实时的动态用户密码表,然后通过其他手段通知受信任的客户端,并增加约束条件(例如:每个动态密码只能用一次,增加登录失败次数限制);
(3)明文传输改为密文传输,对称密码验证改为公钥密码验证;
(4)采用公开的加密算法,如RSA、AES、DES,md5+salt等;
(5)采用其他FTP的替代方案,如:sftp、https;
(6)如果不作上述修改,那就需要在网关上做好限制用户登录FTP服务后的操作范围及权限。
打个比方,这种验证方法就相当于:你家的房子装了一扇门,但是这扇门是不用钥匙的,那怎么打开?谁想进来就在门外大喊一声“芝麻开门”,屋里人听到并对上暗号之后就会打开门让你进来。如果其他人想进来也很简单,只要在一旁静静地听别人喊暗号,然后也跟着大喊一声就可以进去了。
- 案例分析:某企业FTP服务动态密码验证模块存在的问题及建议
- 企业HR管理存在的问题分析
- FTP验证慢的问题分析
- 我国执业药师制度存在的问题及建议
- 案例分析企业网站基本SEO优化修改建议
- 数据库安装遇到的问题及密码建议
- 第四代组网模块存在的问题及改进方法
- 土地面积测量存在问题的一些建议
- 测试管理中可能存在的问题及分析
- 构建自己企业的邮箱验证服务
- 关口电能计量装置存在的问题及几点建议
- android ftp案例分析
- python动态加载模块及变量是否存在方法
- 灵活使用shiro的密码服务模块
- 企业中squid+iptables多模块的综合应用案例
- 一个基于Mule的企业服务总线的案例
- 一个基于Mule的企业服务总线的案例
- 一个基于Mule的企业服务总线的案例
- 2017-05-12 华东师范大学网络邀请赛
- Codeforces 782B 二分搜索
- flume-ng安装,应用,几个简单测试例子!
- NYoj 1102 Fibonacci数列
- include指令
- 案例分析:某企业FTP服务动态密码验证模块存在的问题及建议
- 误删appcompat v7后,怎么创建appcompat v7项目。
- 使用SSL加密与Kubernetes apiServer的通信
- Android-Activity-Life
- 欢迎使用CSDN-markdown编辑器
- oracle locked by transaction
- 一个误用snprintf的bug分析
- Android recyclerview 多个布局 item数据错乱
- 如何借鉴电影中的表达方式