一个安全检查的悖论

一方面代码审核要求有审计日志,需要记录操作者的IP,那我加上获取当前用户ip的逻辑,然后呢Fortify扫描又说获取IP的容易被欺骗,使用ip是个高风险漏洞,Fortify扫描的高风险漏洞必须整改,不整改不给验收。体制太僵硬了,Fortify扫描的规则这么死,有些问题根本不符合实际,你还得按它的结果改。没得法,全注掉好了,你要ip,我给你随便写吧

Abstract
攻击者可以欺骗 DNS 条目。勿将 DNS 名称作为安全性的依据。
Explanation
许多 DNS 服务器都很容易被攻击者欺骗,所以应考虑到某天软件有可能会在有问题的 DNS 服务器环境下运
行。 如果允许攻击者进行 DNS 更新(有时称为 DNS 缓存中毒),则他们会通过自己的机器路由您的网络流
量, 或者让他们的 IP 地址看上去就在您的域中。勿将系统安全寄托在 DNS 名称上。 示例: 以下代码使用
DNS 查找,以确定输入请求是否来自可信赖的主机。如果攻击者可以攻击 DNS 缓存,那么他们就会获得信
任。
String ip = request.getRemoteAddr();
InetAddress addr = InetAddress.getByName(ip);
if (addr.getCanonicalHostName().endsWith("trustme.com")) {
trusted = true;
}
IP 地址相比 DNS 名称而言更为可靠,但也还是可以被欺骗的。攻击者可以轻易修改要发送的数据包的源 IP
地址,但是响应数据包会返回到修改后的 IP 地址。为了看到响应的数据包,攻击者需要在受害者机器与修改
的 IP 地址之间截取网络数据流。为实现这个目的,攻击者通常会尝试把自己的机器和受害者的机器部署在同
一子网内。攻击者可能会巧妙地采取源地址路由的方法来回避这一要求,但是在今天的互联网上通常会禁止
源地址路由。总而言之,核实 IP 地址是一种有用的 authentication 方式,但不应仅使用这一种方法进行
authentication。
Recommendation
如果通过域名检查的方式可以确保主机接受和发送的 DNS 记录的一致性,您可以更加信任这一方式。攻击者
如若不能控制目标域的域名服务器,就无法同时欺骗接受和发送的 DNS 记录。虽然这种方法并不简单,但
是: 攻击者也许可以说服域注册者把域移交给一个恶意的域名服务器。依赖于 DNS 记录的 authentication 是
有风险的。 虽然没有十分简单的 authentication 机制,但是还有比基于主机的 authentication 更好的方法。密
码系统提供了比较不错的安全性,但是这种安全性却易受密码选择不当、不安全的密码传送和 password
management 失误的影响。类似于 SSL 的方法值得考虑,但是通常这样的方法过于复杂,以至于使用时会有
运行出错的风险,而关键资源也随时面临着被窃取的危险。在大多数情况下,包括一个物理标记的多重
authentication 可以在合理的代价范围内提供最大程度的安全保障。

Often Misused: Authentication 一个ip日志你还要我怎样相关推荐

  1. WINXP内PING一个IP地址时电脑会发出很响的一声“滴”声

    今天遇到一个问题,说上不了网了,因为搞iphone卸载神马玩意给出问题了...此处省略N字,具体的咱就不研究了,一句话"上不了网了" 首先,看看吧,不能自动获得IP地址,好,先pi ...

  2. Go开发中配置一个Logger日志的功能实现(结合zap日志库)

    为什么需要Logger 一般在开发项目的时候我们都是需要一个存储日志的文件,因为在部署项目以后,我们只能通过去筛查日志进行检索问题,这时候日志是否可以呈现清晰这个对于我们进行排查工作是十分重要的,所以 ...

  3. 新来个技术总监要我做一个 IP 属地功能~

    Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记! 文章来源:juejin.cn/post/7118954784853327903 目录 背景 HttpServletRequest 获 ...

  4. IP门禁:手把手教你用PHP实现一个IP防火墙

    最近我遇到一个需求,我的一台服务器总是遭到端口扫描和恶意登录攻击,对此可以怎么办呢?似乎除了内网隔离.增强密码认证.证书登录.设置防火墙iptables,网上找不到什么别的方案,对了,还用堡垒机的方案 ...

  5. 老板要我做一个 IP 属地功能,要求准确率99.9%!

    大家好,我是老赵! 老板要我做一个 IP 属地功能!我摸索了 1 天,搞定了.♥️ 细心的朋友应该会发现,最近,继新浪微博之后,头条.腾讯.抖音.知乎.快手.小红书等各大平台陆陆续续都上线了" ...

  6. 判断一个IP区间(或IP)是否被另一个IP区间所包含

    以下方法实现判断一个IP是否被一个IP区间所包含 有一些静态方法可能引用了同名空间的自定义的类, 至于合并两个相临的IP段,可对其中的最大或最小IP+1 using System; using Sys ...

  7. 【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?

    怎么正确的计算一个ip地址的subnet id? 来源于: How to calculate the correct subnet for an interface (文档 ID 1059759.1) ...

  8. 算法题:实现一个IP白名单过滤器

    最近看到一则招聘的JD,附了一个算法题的链接,原题如下: 请实现一个IP白名单过滤算法,实现以下接口boolean addWhiteIpAddress(String ip);boolean isWhi ...

  9. Apache实现一个ip(如:127.0.0.1)和多个域名(虚拟主机)绑定

    今天在学习PHP时,有这样的一个需求:一个ip(如:127.0.0.1)和多个域名(虚拟主机)绑定,以下是我的解决方案:对Apache进行相关的配置 解决方案一:通过端口来区分不同的虚拟主机 ①按照绑 ...

最新文章

  1. C# WinForm只允许运行一个窗体实例
  2. MySQL列转行sql语句
  3. C++11 - sizeof用于类成员
  4. ACL 2010-2020研究趋势总结
  5. jQuery-input输入框下拉提示层
  6. 《软件需求》学习笔记
  7. D - 迷宫游戏 (最短路径)
  8. 企业直播活动策划方案怎么做
  9. 【翻译】PDF格式详解
  10. 使用Cadence的PCB editor画元器件的封装
  11. python编写移动平均_如何在Python中编写不同类型的移动平均线。
  12. 微众税银首席风险官许卫 :AI在金融风控领域的实践应用
  13. Android中拍照完就给图片加水印,Android调用相机拍照并添加水印
  14. Kafka 控制器的作用(Controller)
  15. 通过InputStreamResource下载上传图片
  16. 小程序开发:小程序的底部弹窗(半屏弹窗)
  17. make问题:make[1] entering directory
  18. 万般皆是命,半点不由人
  19. 4.11、socket地址
  20. python exe程序注册为window系统服务

热门文章

  1. 严寒冰 国家计算机网络,北京航空航天大学计算机学院——严寒冰
  2. powerbuilder的dw中使用graph风格,当横轴是日期时,如何显示才能完整显示日期?
  3. 有的放矢,Liferay进军数字体验市场
  4. 分布式系统(微服务架构)的一致性和幂等性和相关概念解析
  5. 卷积神经网络实现图像分类
  6. php发邮件附件,PHP使用PHPMailer发送邮件和附件的方法
  7. 体验godaddy域名转入,添加A记录,及使用dnspod的NS
  8. 快递管理系统 v2.0
  9. 缺陷管理工具--Mantis
  10. Python编程之读取Excel csv格式文件内容