基于弹性计算平台构建高可用、可扩展的应用(1)
阿里云弹性计算服务在平台层面就屏蔽了一些影响范围很大的恶意攻击,例如篡改MAC、伪造IP、发送ARP欺骗包等,但用户的系统还是要遵循一些安全最佳实践,才能让自己的系统更加稳固:
1、关闭不必要的系统服务 越多的服务意味着越多的漏洞,特别是Windows共享文件夹、远程修改注册表项等服务都存在巨大的风险,如果你的工作不需要这些服务,请马上关闭。 2、及时升级系统补丁 前段时间爆出的微软高危RDP漏洞让很多用户深受其害,通过一个简单的Python脚本,黑客就可以直接获取系统管理员权限或者直接把服务器打至蓝屏。不要忽略操作系统厂商的安全警告,一旦遭遇攻击,将造成不可挽回的损失。 3、开启系统防火墙 采用白名单控制策略,只开放最小集合的端口。对于数据库服务器,更要设置IP白名单,仅允许前端的Web服务器访问;对于Web服务器,只对外开放80端口。 4、修改常见服务的端口 从刚才的攻击示例看出,黑客虽然漫无目的地扫描同一网段的IP,但攻击的目标端口只有一个1433,这是SQLServer的默认配置。为了减少这类攻击,最有效的方式就是修改数据库、FTP这类常见服务的默认端口,增加黑客扫描的难度。 5、加密数据传输 笔者曾经遇到过一个很奇怪的现象,在一台Windows 2003服务器上,应用的负载很低,但CPU利用率达到了99%,从任务管理器中看到,有无数个winlogon.exe进程疯狂消耗CPU,当时百思不得其解。一天之后,这台服务器就沦陷了,我才恍然大悟,一定是攻击者在尝试破解密码。对于这类攻击,即使调整密码长度增加破解难度也收效不大,因为攻击过程会消耗大量的系统资源,正常的业务根本无法进行。何况,现在的服务器计算能力越来越强,一个密码的安全性实在太低了。 一些加密传输方式能够有效地抵御这类攻击,也减少传输过程中的敏感信息泄露问题。Windows可以配置远程桌面服务使用SSL传输,要求客户端必须持有证书登录。Linux则可以使用SSH登录密钥对。结合修改默认端口的方式,将使你的系统安全性提高一个层次。 友情提醒:如果你开启了防火墙,又修改了默认的远程桌面或者SSH端口,请务必在防火墙中设置这些服务的白名单,否则就悲剧了。 应用架构 要支持上述高可用、可扩展的部署架构,应用程序也要做相应的调整。例如: •Web应用的无状态设计 Web应用的诸多因素可能造成系统无法扩展:本地存放的上传文件、进程内的Session等。以上传文件为例,假设使用了本地存储,用户第一个请求上传了一个头像文件,存放在Web-A服务器上,接着刷新页面,但这个请求被发送到Web-B服务器上,他惊奇地发现:上传的头像文件不见了!要解决这个问题,必须把上传文件存放到共享的文件夹,Web服务器不能保留任何自己的数据(即无状态)。而对于Session数据,一般的建议是用Cookie代替,或者存放到共享的Session服务器或者数据库中。 •用分布式服务代替单点的服务 (编辑:广州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |