简介

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

    一In cases where the last record in a block is incomplete, the input split includes location informat ...

  2. ssis trainning

    1. 防止包打开后hang住,可以使用delay validation=false. 2.2008R2 configuration 起作用的优先级? 一是des ign time. 二是运行的时候指定 ...

  3. Hadoop step by step _ install and configuration environment

    1.安装centos linux系统. 2.配置静态IP 3.配置防火墙 4.添加hadoop用户 5.检查并安装jdk 配置环境变量 6.配置sshd服务 7.配置ssh免密码登录 8.格式化nam ...

  4. hadoop入门:hadoop使用shell命令总结

    第一部分:Hadoop Bin后面根据项目的实际需要Hadoop Bin  包括:Hadoop  hadoop的Shellhadoop-config.sh 它的作用是对一些变量进行赋值     HAD ...

  5. codeforces 477A A. Dreamoon and Sums(数学)

    题目链接: A. Dreamoon and Sums time limit per test 1.5 seconds memory limit per test 256 megabytes input ...

  6. 关于jQuery的一些实用代码

    (1)修改默认编码:(将默认的utf-8,修改为GB2312) $.ajaxSetup({ ajaxSettings:{contentType:"application/x-www-from ...

  7. Blend Tree Type

    1D 只有一个参数,用于控制状态之间的切换 2D Simple Directional 2D Simple Directional   :具有方向性的动画片段,同一方向上最好不要有多个动画片段 2D ...

  8. Java Executor并发框架(三)ThreadPoolExecutor 队列缓存策略

    前面两篇讲解了线程池中线程创建后的运行情况,其中有一系列的策略来保证线程正常运行.但是我们知道线程池是可以设置容量的,而且这容量的设置也是至关重要的,如果容量设置的太小,那么将会影响系统的运行效率,如 ...

  9. 一些MEL命令

    这几天写maya脚本,发现一些新命令:   动画命令 cutKey 剪切某段动画曲线 simplify 简化某段曲线   基本命令 getAttr -size 数组属性名    获得数组属性的元素个数 ...

  10. 使用EXISTS语句注意点

    1.使用EXISTS语句,其目标列一般用“*”,因为带EXISTS的子查询只返回真值或假值,给出列名无实际意义. 2.使用EXISTS语句一定要注意上下两个表之间要建立联系. 例如,查询所有选修了1号 ...