安全攻防技能30讲
何为舟
前微博安全研发负责人
立即订阅
2825 人已学习
课程目录
已更新 8 讲 / 共 30 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 别说你没被安全困扰过
免费
安全基础概念 (5讲)
01 | 安全的本质:数据被窃取后,你能意识到问题来源吗?
02 | 安全原则:我们应该如何上手解决安全问题?
03 | 密码学基础:如何让你的密码变得“不可见”?
04 | 身份认证:除了账号密码,我们还能怎么做身份认证?
05 | 访问控制:如何选取一个合适的数据保护方案?
Web安全 (2讲)
06 | XSS:当你“被发送”了一条微博时,到底发生了什么?
07 | SQL注入:明明设置了强密码,为什么还会被别人登录?
安全攻防技能30讲
登录|注册

02 | 安全原则:我们应该如何上手解决安全问题?

何为舟 2019-12-09
你好,我是何为舟。
上一讲,我们一起拆解学习了 CIA 三元组,也就是机密性、完整性和可用性。它们分别代表了数据的“不可见”“不可改”和“可读”。简单来说,以购买极客时间专栏为例,机密性就是未付费用户无法学习这个专栏,完整性就是这个专栏的内容不会变成别的其他方向的内容,可用性就是你作为付费用户,能够随时学习这个专栏。
理解了 CIA,上一节最后面试官问的“安全是什么”的问题,你现在一定可以回答出来了。面试官点点头,接着说道:“你觉得该怎么去解决安全问题呢?”
毫无疑问,不同的应用、不同的模块会受到不同的安全威胁,当然,我们面对这些威胁也会有不同的解决方案。万变不离其宗。正如安全威胁都是针对 CIA 三元组产生的攻击一样,安全解决方案在根本思路上也都是相通的。
今天,我就从方法原则这个层面上,来给你讲讲安全解决方案的主要思路。这块内容看起来比较偏理论,我尽量多从实践角度来给你讲我的理解,但是你一定要耐心看完,这样可以确保你对后面实践的内容能够理解得更加深入。

什么是“黄金法则”?

对于安全解决方案来说,不同的教材会有不同的解释。就我个人而言,我比较喜欢“黄金法则”这种理解方式。下面我就用这种方式来具体给你讲讲。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《安全攻防技能30讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(17)

  • 西西弗与卡夫卡
    我们是SSO加权限控制,再加事后审计。
    2019-12-11
    2
  • 攻城狮Ra
    目前公司主要是通过加密服务器进行进行认证和授权,通过企业微信在网上办公,工作文档也都是上锁的,由于职务限制审计目前还没接触到,可以说句题外话,公司今天正好停电了,发电机发电之后服务器还是一直连接不上,运维修了半小时才好,可能是服务器老式。
      我觉得应该由部门BOSS跟上级反应,最好跟员工再简单培训下,公司现在纯IT的其实就2-3人,我实习进来的希望可以好好补补这方面知识

    作者回复: 断电恢复其实挺考验运维能力的,也是可用性需要考量的范围。除了引入断电保护的一些设备(如ups,发电机),最好还能够定期进行演练,来验证这些设备是不是真的有效,以及有哪些点是疏漏的。

    2019-12-11
    2
  • fgdgtz
    你好老师,关于APP与服务器沟通安全我有个问题,望老师能解答。

    api请求认证或加密一般都有key等,硬编码在APP,而APP有被反编译的风险,放c++ 编译成SO库,虽加大了安全系数,但黑客可直接用这SO库即可,而调用的逻辑,反编译代码里也有,如何安全存储?

    作者回复: 你好,感谢你的留言。如果是加密数据的话,用非对称加密即可,公钥可以公开,直接存储到前端即可。如果是第三方api请求认证的key,一般是不在前端调用,而是后端去进行封装。

    2019-12-15
    2
    1
  • 一步
    任何领域都没有银弹的
    2019-12-10
    1
  • 飞翔
    1 https
    2 不要用户使用弱密码
    3 所有用户提交的数据的过滤和校验
    4 rbac用户授权控制
    5 访问错误,关键事务做好日记记录,汇集到日志集群
    6 及时更新安全组件和安全框架
    7 引入waf+ddos防御
    8 数据库部分信息的加密
    9 web目录访问的权限控制

    2 首先上面得重视,才愿意做这个投入,其次工程师也要不断学习,真正从心里重视安全,了解和学习安全,从项目的业务角度可列出一个高性价比的安全的清单,作为开发计划一部分,最终形成一个安全体系。
    2019-12-20
  • 一命赌快乐
    安全工作确实需要自上而下。我司(某国企)这两年先是成立领导小组,再完善全套规章制度,设立专门干活的办公室,年底安全会包含网络安全议题,评选先进个人.……然后才逐步重视起来。

    作者回复: 赞!能重视起来,安全工作才能顺利开展

    2019-12-19
  • 二马
    安全遵循“木桶理论”,这个在实践中有时候会被误解,安全涉及的领域很多,是无法做到每个场景都要把短板提高,有些做到基本防护已经可以解决安全问题。所以,安全加固,先做好安全威胁建模,把影响最大,最可能被利用的威胁降低,即把这些威胁的安全防护之板做到极致,而不是纠结于短板不够好。
    2019-12-18
  • niuniu
    为什么说“我知道什么”是强度最弱的认证手段?有些书认为这是最强的认证手段,而“我是什么”是最弱的。我觉得还是有道理的,因为“我是什么”是无法改变的,而我知道什么是变化莫测的,只要有共产党员钢铁般的意志,即使是严刑拷打也无法得到他知道的。

    作者回复: 你好,感谢你的留言。从个人角度来说,这么理解是没问题的。但对于普通应用来说,更多的是需要考虑普遍现象,即大多数用户不会设置强密码,也不会有较强的安全意识和坚定意志,对于这部分用户来说,“我是什么”是成本最低,安全性最高的解决方案。
    对于比较专用的系统来说,比如军方系统,肯定还是会以“我知道什么”为准,因为军人安全意识高,不会泄漏密码。而“我是什么”作为一种半公开的信息,泄漏的可能性对于军人来说,更高一些。

    2019-12-17
  • Cy23
    安全原则,如何入手去解决安全问题,安全是相对安全没有银弹。
    2019-12-11
  • 追风筝的人
    SSL VPN用户在访问虚拟站点的时候会被radius服务器进行AAA认证 授权 审计。radius认证方式有2种 PAP认证即用户名密码认证,用户名是明文保存的,密码是MD5加密的,第2种是challenge认证 会有2次认证第一次用户名密码认证,第2次challenge动态密码认证。2次认证的比只有1次的radius认证安全级别高。1812端口负责认证授权,1813端口负责审计,radius客户端充当NAS网络接入服务器和radius Server交互 对用户行为做出响应的响应 响应有Access-accept,Access-reject 等。 有个问题是radius服务器关键有2个核心配置文件clients.conf(保存客户端配置文件 有client IP,sharesecret:testing123支持自定义修改 还可以设置ACL), users保存用户信息。 老师问题关于这2个配置文件有最简单的配置方法没,我看虚拟机里的配置文件里信息很多 还有本地配置的radius Server进行radtest测试返回了Access accept但是把radius Server IP配置在web UI虚拟站点认证没生效 但是1812端口是开启的,远程北京radius Server环境是可以的。看了配置本地环境没有数据库,远程环境有MySQL和其他一些配置环境。是不是raddb目录下配置文件不全导致web端认证没生效但测试radtest 返回的响应确实Access accept 为什么呢 本地环境参考博客radtest后accept 但是web端认证相同的user 认证不通过

    作者回复: 不好意思,Radius认证只是学习过,并没有在工作中接触过。所以没办法回答你关于最佳实践的问题了。。。

    2019-12-10
    1
  • 张诚
    为了遵循CIA的安全原则,我们可以从哪些方面去做,认证,授权,审计这三样是对机密性,完整性的实现。在认证模块,我们系统采用的统一的鉴权中心做系统间调用的鉴权操作,在开发的项目中,授权采用的是开通产品很渠道,是数据库内进行的配置,审计是在系统的整个功能调用中加入日志记录

    作者回复: 赞

    2019-12-10
    1
  • link
    银弹效应:妄图创造某种便捷的开发技术,从而使某个项目的实施提高效率。又或者指摆脱该项目的本质或核心,而达到超乎想象的成功。银弹在现实生活中是指能够解决棘手项目或者一件不可能的事情的方法或者技术手段。

    作者回复: 你好,感谢你的留言。帮我解释了一下什么是银弹。首先,银弹是国外的说法,我知道的大概起源就是银弹可以打死所有吸血鬼,所以人们用银弹来比喻解决一切问题的方法。

    2019-12-10
    1
  • 米小亮
    安全问题从三个层面:
    1.国家立法,建立标准
    2.企业根据法律和标准,实现自己的安全目标和政策
    3.个人首先遵守标准和制度,其次是培养安全意识

    作者回复: 嗯嗯,这是比较宏观的安全层面了。

    2019-12-10
  • 小晏子
    对于安全建设的问题的一些考虑:
    1,首先保证公司基础设施的安全性,做白名单访问机制,密码认证等
    2,其次是对公司成员的权限做细化,分出权限等级,比如哪个group的用户可以做添加删除操作,哪些group只有访问权限等
    3,对于所有的web访问强制使用https
    4,记录访问用户的行为,甚至可以使用大数据和ML算法对登录用户的行为进行风险分析,并定期给出分析报告.
    5,对于用户登陆密码有限制,可以强制使用高的难度密码,如必须包含大小写字母,数字,符号等。
    6,定期扫描互联网上是否有公司源代码泄露的情况。
    7,监控所有公司电脑, 不允许安装非法软件等。

    作者回复: 这是一些细节点,可以根据课程进度,一步步梳理,成体系化

    2019-12-10
  • 许童童
    老师讲得很不错,安全中的黄金法则,大多数系统都是按照这个法则在执行的,一些安全问题最后的原因也可以归纳为黄金法则的这三个阶段之一,另外,一定要注意安全是遵循木桶原理的,不要一味的专注某一个方向。最后,安全没有银弹,加油。
    2019-12-09
  • 星亦辰
    大佬解释下,双因子认证是什么意思 ?解决的是什么问题。 认证,授权,审计除了依靠日志还有没有别的办法?

    作者回复: 双因子认证,就是通过两种不同的方式来共同认证。比如之前网银交易的时候,既需要支付密码,也要u盾的一次性口令。现在可能这种显性的双因子可能不多了,因为都把手机这个设备当作可信环境来作认证了。

    2019-12-09
  • Chocolate
    我们采用 SSO 的登录方式,SSO 登录时对用户名和密码进行校验,SSO 通过在用户多次输入错误密码进行处理、每三个月更换一次密码(后台系统)等方式来加强认证的安全性;在业务系统中,用户的大部分操作都会对具体的权限进行验证;操作会以日志的形式进行记录。这样基本保证了用户和数据的安全,而且有些操作需要回溯的时候也能查到谁操作的、在哪个时间点操作的、操作了什么。

    大部分情况下,事前防御属于认证,事中防御属于授权,事后防御属于审计。这句话很直观,很受益。
    2019-12-09
收起评论
17
返回
顶部