黑客攻防技术宝典-Web实战篇——第二章、核心防御机制(二)

第二章、核心防御机制(二)

书接上文,处理完用户的访问与输入,下面来处理攻击者,管理应用程序。

2.3、处理攻击者

常言道:居安思危,思则有备,有备无患
在进行防御时,开发人员必须假设自己开发的应用程序一定会遭到攻击,并且会被攻破。所以需要一系列的防御与攻击措施尽可能阻止攻击者。
以下是处理攻击者采取的措施:

  • 处理错误
  • 维护审计日志
  • 向管理员发出警报
  • 应对攻击

处理错误

用户无意的输入错误、攻击者的攻击输入都会导致错误产生,这些是开发人员预料不到的情况。web应用程序要么纠正这些错误,要么向用户反悔错误信息。

应用程序不应返回任何系统生成的消息或者其他调试消息

因为有些情况下,攻击者会利用返回的错误消息中的敏感信息进行攻击。
多数web开发语言使用try-catch块(也就异常处理) 提供错误处理支持,此外通过配置服务器以自定义方式处理错误。后面会具体讲解错误消息的处理。
返回网页的错误代码详细参考:https://blog.csdn.net/admin_8888/article/details/75270112

维护审计日志

审计日志是用来记录所有重要的事件,这些记录下来的信息会对web程序所有者了解实际情况有所帮助。

重要事件包括:

  • 任何身份验证有关的事件(登录成功或失败,密码修改)
  • 关键交易(信用卡转账)
  • 被访问控制阻止的事件(访问权限拒绝)
  • 包含攻击字符串的恶意请求

记录的事件包含事件发生时间发出请求的ip地址会话令牌,和用户账户(已通过验证)
日志必须受到严格保护,否则这些敏感信息泄露会造成严重后果。
 老图了,像这种属实不安全
老图了,像这种属实不安全

向管理员发出警报

警报的设置必须合理,过多警报会导致管理员忽略攻击。过少又会给攻击者可乘之机。
现在有专门的应用程序防火墙与入侵检测程序来管理发出警报。但是由于每个程序不同又有一定限制。

应对攻击

当发现攻击时,web应用程序应当采取自动化的反应措施来阻止攻击者的探查。例如对攻击者提交的响应速度越来越慢。

2.4、管理应用程序

一般web应用程序在web界面管理应用程序(就是后台)。这种管理机制容易吸引攻击者,因为它能提升权限。

管理用户往往被视为信任用户,所以管理功能没有经过严格的安全测试,而且需要执行相当危险的安全操作。如果被攻破,整个服务器都将沦陷。

下一章将会介绍渗透时的基础概念(HTTP,web功能,编码方案)

发布了3 篇原创文章 · 获赞 3 · 访问量 1373

猜你喜欢

转载自blog.csdn.net/wwwmeymar/article/details/103935882