zoukankan      html  css  js  c++  java
  • web安全——简介

    简介

    不对外提供服务是最安全的。
    安全是基于信任。如果信任失败了,则没有安全。比如你给一个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安全》
  • 相关阅读:
    Java CompletableFuture:allOf等待所有异步线程任务结束
    多线程分批处理数据
    ListSplitUtil (批量数据处理)
    mysql性能优化相关
    JsonUtil
    批量数据数据处理
    多集合取交集公用方法
    ALSA:Linux下声卡编程
    word
    安卓使用自己导入的db3数据库文件
  • 原文地址:https://www.cnblogs.com/ansn001/p/5613301.html
Copyright © 2011-2022 走看看