简介

不对外提供服务是最安全的。
安全是基于信任。如果信任失败了,则没有安全。比如你给一个ip加白名单,结果这个ip对你发动了安全攻击。
在非常明确需要提供服务的时候才对外提供服务,即白名单。其他的全部禁止。
对外提供服务要在控制和管理下。

思路

防御的过程是一个链条,任何一个节点上都要防御,否则都会出问题,防御也就失败了。
每个节点上都包含这几个方面

  • 定位。定位这个节点是否有存在安全问题。
  • 监控。监控这个节点的安全状态,即当前是否处在安全的状态。
  • 自动处理机制。自动解决安全问题,减少人为的干预。
  • 解决问题的办法(文档)。减少人为解决问题的成本。

后面的文章也是根据流程,一个节点一个节点来组织

安全类型

包括但不仅限于下面的几种类型。下面的这些,仅仅是基于我们团队使用的技术而言。如果有使用更多的技术可以往里面补充,比如说:防ddos的第三方服务。

网络

  • 硬件防火墙
  • 路由
  • 软件防火墙

系统

  • 用户
  • 权限

应用

软件

能独立对用户提供服务。

  • 代理(nginx)
  • web容器(tomcat)
  • 缓存(redis)
  • 数据库(mysql)

框架

只是解决重复的问题,但是不能独立对用户提供服务。

  • javaweb框架(nutz)
  • 数据源(druid)

语言

解析真实现象的手段

  • java
  • php

浏览器

现在是互联网时代,服务器的防御手段越来越完善,反而很多攻击手段转向了对浏览器。所以浏览器的安全是很重要的。

防御流程


这个流程,根据不同的关注度是不一样的,而且有一些其他的节点没有标明。这里暂时没有画出其他的网络设置。
只是根据现在的架构画的防御图。不同架构防御图也不同。
只体现防御关注的流程,并不代表所有的流程。比如有可能在代理后面直接使用缓存。
暂时也没有考虑分布和集群的问题。

重复问题

如果有重复的问题,交给更高层节点(流程里的前一个节点)去解决。比如说对ip的限制,优先交给防火墙解决,只有防火墙解决不了的问题(http浏览器的ua判断),才从nginx代理级别去处理。

文档的统一结构

  1. 场景。就是这个技术想解决的问题。
  2. 方案。具体解决这个问题的思路
  3. 验证方法。通过什么办法验证这些场景已经生效并且是安全的。

更高目标畅想

通过自动化运维来解决绝大部分的安全问题。其实就是现在阿里云做的事情。。。。。

  1. 统一的服务器自动化安全环境搭建
  2. 统一的软件自动化安全搭建
  3. 统一的安全监控及恢复服务

参考资料

  1. 《白帽子讲Web安全》

最新文章

  1. 去他的效应(what-the-hell effect)与自我放纵
  2. NoSQL 35 个非主流数据库
  3. delphi的socket通讯 多个客户端 (转)
  4. 如何使用VSTS做压力测试
  5. 九度OJ 1084 整数拆分
  6. 怎么样删除eclipse已经记录svn的地址
  7. jQuery deferred学习笔记
  8. css 10 款非常棒的CSS代码格式化工具推荐
  9. git ssh 配置
  10. Linux如何查找某个时间点后生成的空文件
  11. File初识和练习
  12. 利用顶点位移进行VR畸变校正
  13. Python之路-文件操作(py3)
  14. 复制文件到U盘错误0x80071AC3,请运行chkdsk并重试
  15. Python调用sqlAlchemy
  16. Apktool源码解析——第二篇
  17. mybatis 3 -枚举
  18. PHP读取excel表格,和导出表格
  19. 【基础练习】【区间DP】codevs2102 石子归并2(环形)题解
  20. 集合之四:List接口

热门文章

  1. 问题解决——在STL的queue中使用自定义类
  2. JRE与JDK的区别
  3. Eclipse和MyEclipse 手动设置 Java代码 注释模板
  4. javascript 特效实现(3)—— 鼠标滑过显示二级菜单效果
  5. Codeforces Round #254 DZY Loves Colors
  6. 百度地图Api进阶教程-点击生成和拖动标注4.html
  7. 最小的k个数
  8. hdu 5833 Zhu and 772002 ccpc网络赛 高斯消元法
  9. [3D跑酷] DataManager
  10. Linux下安装使用NMON监控、分析系统性能