简介

不对外提供服务是最安全的。
安全是基于信任。如果信任失败了,则没有安全。比如你给一个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安全》

web安全——简介的更多相关文章

  1. J2EE基础之Web服务简介

    J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...

  2. Web Api 简介

    ASP.NET Web API 简介  ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP. ...

  3. Spring Web Flow 简介

    Spring Web Flow 简介 博客分类: 转载 SSH 最近在TSS上看到了一片介绍Spring Web Flow的文章,顺便就翻译了下来,SWF的正式版估计要到6月份才能看到了,目前的例子都 ...

  4. 第一章 Web MVC简介

    Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问hao123主页 2.  Web服务器(如Tomcat)接收请 ...

  5. Spring - Web MVC简介

    Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问http://www.cnblogs.com 2.  Web服 ...

  6. web worker 简介

    web worker 简介 通常,浏览器执行某段程序的时候会阻塞直到运行结束后在恢复到正常状态,而HTML5的Web Worker就是为了解决这个问题.通过worker线程完成密集计算,避免程序的阻塞 ...

  7. web API简介(四):客户端储存之IndexedDB API

    概述 前篇:web API简介(三):客户端储存之Web Storage API 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据. Index ...

  8. web API简介(三):客户端储存之Web Storage API

    概述 前篇:web API简介(二):客户端储存之document.cookie API 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据. W ...

  9. web API简介(二):客户端储存之document.cookie API

    概述 前篇:web API简介(一):API,Ajax和Fetch 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据.document.cook ...

  10. web API简介(一):API,Ajax和Fetch

    概述 今天逛MDN,无意中看到了web API简介,觉得挺有意思的,就认真读了一下. 下面是我在读的时候对感兴趣的东西的总结,供自己开发时参考,相信对其他人也有用. 什么是API API (Appli ...

随机推荐

  1. 深入PHP内核之ZVAL

    一.PHP的变量类型 PHP的变量类型有8种: 标准类型:布尔boolen,整型integer,浮点float,字符string 复杂类型:数组array,对象object 特殊类型:资源resour ...

  2. Cocos2d-x解析XML文件,解决中文乱码

    身处大天朝,必须学会的一项技能就是解决中文显示问题.这个字符问题还搞了我一天,以下是个人解决乱码问题的实践结果,希望可以给其他人一些帮助 读取xml文件代码: CCDictionary* messag ...

  3. 运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory

    运行编译后的程序报错  error while loading shared libraries: lib*.so: cannot open shared object file: No such f ...

  4. php类型转换以及类型转换的判别

    部分摘自PHP: 类型 - Manual 相关链接 PHP 在变量定义中不需要(或不支持)明确的类型定义:变量类型是根据使用该变量的上下文所决定的.也就是说,如果把一个 string 值赋给变量 $v ...

  5. Swift 学习笔记 enum 枚举类型

    异端,异端啊,我感觉这是map吧? enum ATMStatus { case Success(Int) case Error(String) } func withdraw(amount: Int) ...

  6. zabbix_server 已死,但是 subsys 被锁

    一开始 grant all privileges on zabbix.*  to zabbix@localhost identified by 'password'; 将localhost改为ip后恢 ...

  7. 边工作边刷题:70天一遍leetcode: day 85-3

    Zigzag Iterator 要点: 实际不是zigzag而是纵向访问 这题可以扩展到k个list,也可以扩展到只给iterator而不给list.结构上没什么区别,iterator的hasNext ...

  8. python中thread模块中join函数

    http://www.cnblogs.com/vingi/articles/2657790.html for i in range(10): t = ThreadTest(i) thread_arr. ...

  9. HDU 5105 Math Problem --数学,求导

    官方题解: f(x)=|a∗x3+b∗x2+c∗x+d|, 求最大值.令g(x)=a∗x3+b∗x2+c∗x+d,f(x)的最大值即为g(x)的正最大值,或者是负最小值.a!=0时, g′(x)=3∗ ...

  10. a 标签中调用js的几种方法

    我们常用的在a标签中有点击事件: 1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问 ...