欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

网络安全白帽子》第 1 章

最编程 2024-06-16 08:56:27
...

前言

最近对于跨域以及网络安全的问题比较感兴趣,在网上查看了相关资料,理解了一点点,有点隔靴搔痒的感觉,不是特别懂,于是乎找到了这本书,系统的看一下,给自己答疑解惑。既然花时间看书了,那留下点什么证明我曾经来过吧(其实是7s钟的记忆,留下文档以便于后期查看)~

ps:红色/加粗是我认为的重点;绿色是我不清楚的地方,记录下便于后续深入了解。

(1)安全问题的本质是信任的问题

  • 解释:

一切的安全方案设计的基础,都是建立在信任的关系上的。我们必须相信一些东西,必须有一些基本的假设,安全方案才能建立;若否定一切,安全方案则如无源之水,无法设计。

从另一个角度来讲,若我们作为决策一句的条件被打破/绕过,那么就会导致安全假设的前提条件不再可靠,变成一个伪命题。

  • 例子1:

在Flash跨域访问请求中,目标资源服务器端会通过验证  crossdomain.xml  文件决定是否允许客户端发起的请求,crossdomain.xml文件如下图所示:

crossdomain.xml文件 只允许特定域名的Flash对本域发起请求,但是,如果crossdomain.xml文件只的域名变得不可信,那么就会出现问题,例如: 不可信任的crossdomain.xml文件

(2)安全三要素

<1> 机密性

保护数据内容不能泄露,加密是其常见手段。

例如:把文件放在透明盒子中(虽然无法直接获得,但能看到里面的内容);给文件加个封面(隐藏内容)。

<2> 完整性

要求被保护的数据内容是完整的/没有篡改的,数字签名是其常见手段(???什么是数字签名)。

例如:康熙皇帝的遗照写的是“传位十四子”,被四阿哥篡改为“传位于四子”。

<3> 可用性

要求被保护的资源是“随需而得”。

例如:某停车场可停100个车位,但有人搬了100块石头,占用了每一个车位,导致停车场无法提供正常服务。该攻击为:拒绝服务攻击(DoS:Denial of Service)

(3)安全方案(原名:白帽子兵法)

<1> Secure by Default 原则

* 白名单/黑名单

case 1:

【例子1】:客户端跨域请求服务器端的Flash资源时,服务器端使用crossdomain.xml文件验证是否通过该请求。它就是白名单的典型案例。

case 2:

若某网站只提供Web服务,如何对于该网站制定防火墙的网络访问控制策略?

  • 白名单的方式:只允许网站服务器的80,443端口对外提供服务,屏蔽除此之外的其他端口。
  • 黑名单的方式:不允许SSH端口对Internet开放,因此要审计SSH的默认端口(22端口)。但是存在问题:因为在工作中会有工程师私自改变SSH监听端口(例如,把SSH端口从22改为2222),进而绕过安全策略。

* 最小权限原则

最小权限原则要求系统只收于主体必要的权限,不要过度授权。

例子: Linux系统中,使用普通账户登录,在执行需要root权限的操作时,再通过sudo命令完成。