扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
架构师不可能做到全知全能,但是仍然担负着成功交付可用的解决方案的任务。满足安全需求常常是其中不可或缺的一环,而且这一点常常没有明确指出。本演讲从整体上讨论架构的安全性,比如如何撰写安全的代码、部署中的安全、架构层的物理隔离、加密、证书的使用等等方面。
以下是精彩演讲:
随着互联网安全形势的日益严峻,对于架构师们来讲,为什么需要一个安全的架构以及怎么建设安全架构成为了迫在眉睫的重要任务。为什么来这里讲安全,很多人没听过泽西岛,在英国的南部,是一个离岸的辖区,金融机构在岛上非常盛行,对安全很重要,要安全维护,要有系统享受低税,很多做JAVA的项目,大部分泽西的工作,离岸的银行小公司对安全特别关注的。
纠正系统架构的安全认识
肯定是重要的。特别泽西岛有自己交易的信息、银行的信息、养老金的信息,所有的资料在泽西岛里面安全保护起来。离开泽西岛也要保障安全,如果不把安全做好,肯定要有糟糕的事情发生。
我讲一些最近大家都知道的一些安全的漏洞,比如说Linkedln,有一些密码泄露了。也是最近轰动的事情。
安全适用于方方面面,我们讲软件架构的时候,并不只是看一个地方来求安全,安全应该在整个完整的软件系统当中,都能渗透在安全中,包括所有的级别层所有的元件都需要做到安全。很多人认为安全是人份认证、授权,很多人认为安全是两个问题,但是安全还有其他的问题,比如说防黑客、防攻击、加密等。
安全这个问题很难对现有的代码进行安全的加装或改装。如果安全出现问题,要解决安全问题,从架构的基础上来解决的。如果架构的问题一开始没做好,事后补相当困难。跟性能、扩展性都是很重要的,一开始没有照顾好的话,未来提升就很难了。
安全在整个软件架构的角色当中是怎样的位置
我们需要在整个软件开发过程中都要进行考虑的问题。我曾经讲过一个故事,一个面向公众的互联网网站。这个网站是一个针对当地泽西岛的一个听众,泽西岛10万人,是很小的用户群,是一个全新的互联网系统软件服务。这个互联网服务,可以去登陆获得一个用户名,之后获得这些权限。他们请我去看软件系统,我去看软件系统的时候,假装用户去体验一番。
我很快发现我可以做跨站的脚本攻击。比如说创造账户,有名字、地址、电邮、电子卡信息。而在地址这一栏,可以写Java脚本,可以注入Java脚本。这个例子是很小的例子,可以对网站做的攻击远远不止这一点,有很多东西可以做。
我只用了五分钟、十分钟就发现了这些漏洞。当然,这个网站还没有完全上线,只是进行前期的测试,在这个时候发现问题算是万幸。其实在登陆面可以创建自己的密码,很多网站可以是1位到20位需要多少的标点。有些网站需要密码的强度。这个网站也是一样,列出网站应该这样。登陆账户的时候,我说密码太烦了。前台认证并没有很复杂,随便一个词就可以接受了,有些比较弱,有攻击密码。
我在做银行互联网的时候,有做一个双重认证。在页面看十分钟,HTTP的对话就超时了,为什么超时?这是安全的功能。比如说共享一个电脑,在网吧、咖啡店上网的话,有超时的保护。有不同的安全要求。回到我刚才讲的网站,这个网站肯定不是登陆之后一直在线的,对话的时段是非常短的,因为里面有一些非常机密的个人信息。但是,你登陆了网站之后,登陆永远不超时。把游览器关掉再打开,永远不会中断,就算点登出,不会登出,管理有问题的。我们要做安全的策略性平台,如果有这么多的漏洞,是非常危险的。
这个项目正在进行用户的接受度检测的过程,还没有上线,他们请我去做了检查。经过了各方面的检查,他们说我们只有四个星期就上线了,找了很多问题,项目四个月之后才能上线,很多顾客对这个问题根本就不敏感。
架构师是“T”型人才 是一个建筑师
要有知识的深度,同时也有不同方案的广度,我们面临的软件架构师是一个建筑师,这种解决方案必须要知道不同的解决方案不同的软件开发都需要通才的能力。我们从安全的角度来说,软件架构师的工作非常复杂的,特别是windows的环境有很多学习的地方。广度也很重要,有各种各样的安全问题,在整个架构、编码的过程中,不同地方都会出现漏洞。如果没有足够的经验,甚至不知道哪个地方有可能出问题。比如说我们项目的架构师可能是一个通才,有一定的深度,有技术的专长,必须要知道在哪些地方有可能出现问题。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者