caoz balderdash: How do startups Information Security

Cat Ning! ! !

Reference Links: https://mp.weixin.qq.com/s/gCWjzHBRfbPFhNeg2VtFhA

https://mp.weixin.qq.com/s/bmifCmD2CHV177FSMFs0oQ

 

Other public number: caoz balderdash

 

When IC coffee sharing session, someone asked the question, with regard to start-up companies, the shortage of capital and technology, how to do information security? It's a good question, I feel the need to open a single.

 

I am sorry that, in fact, in this area I do not good enough, or even notorious, many times are relying on friends to help only escaped unharmed. So, I put their lessons into them many times together, finishing as much as possible, welcome criticism expert guidance.

 

In addition, the need to explain in advance that the paper would involve the names of multiple third-party platforms, some of which project from my friend acquaintances, it simply is likely to be considered a copywriter, I can only say do not receive this writing money, (responsible person not to give appreciation to figure it out) and I listed all my opinion of entrepreneurs or helpful. If you think this article is bent on advertising, then you are free of it.

 

Operation and maintenance

 

1, build a platform, it is recommended to choose a reliable cloud service providers

Build their own systems, hosting, operation and maintenance engineer you need to be very safe experience, but also need to keep up with the latest security patches vulnerabilities to play, in fact, start-up companies, the cost is still a little high. The relatively large number of third-party cloud platform, the safety and technical team is certainly much better than most entrepreneurial team.

Basically security on the cloud platform operating system is more assured, of course, words can not say 100%, but as long as there are important security bulletin out patch is still very diligent, but if the new loopholes, better cloud most service providers will help you do a test concurrent email to remind you, this is almost the norm, as long as you pay attention to mail tips are generally not miss major problems. Part of the cloud service providers will also provide additional security detection systems and intrusion prevention selection of some of the features, some time ago Ali cloud out of a larger failure, because of its anti-intrusion system there has been an obvious bug, this thing you divide both sides look, the problem of course is not good, but not when the issue of this feature is that you can save a life.

 

The relatively large domestic cloud platform, Tencent cloud, Ali cloud, amazon also entered the Chinese, of course, I always recommend ucloud cloud. ucloud boss called the Xin Hua quarter, has worked in Huawei, Tencent, Shanda responsible for information security, is well-known information security experts (stakeholders, season always me ten years old). There amazon, linode, digitalocean and so international.

 

Risk cloud platform that penetrate risks, as well as by the impact of the neighbors do not fly, but you do not fly there is also hosting the neighbors because today's theme is start-up companies, how to protect information security, so I recommend embrace cloud hosting is a lower upfront cost situation can better protect the system security options.

 

2. Select the appropriate third-party security services platform

In fact now business platform service providers much better than a decade ago, a dozen years ago, personal websites once a denial of service attack, in addition to die little choice, but now, there are 360 ​​domestic sites guards, speed up music, safe treasure and other free services can help you carry off a low-scale attacks; there cloudflare help you carry internationally. These services are more reliable, of course, if the attack is relatively high magnitude you may need to pay more, which depends on the character of start-up companies, if you just angel round, the hands of the few money, it was people massive DDOS attack, you come to ask me how to do, to be honest, this would really not a solution. But if you took Series A, B round, you have been hit badly, you might still be considered some of the paid service providers. For example, the acceleration also offer paid music services, such as Xiamen Science and Technology also help some of the zero-day business of the website had refused to support the anti-service attacks (stakeholders, this company my little investment)

Furthermore, it must explain, if attacked, it is recommended to the police, can not bow to the evil forces. General attackers have interest demands, based on interest demands it easier to track down the attacker based on technology than the catch.

 

In addition, all domestic entrepreneurs, recommendations should be concerned about cloud platform (stakeholders, dark clouds small party founder Gordon is my good friend), is the most influential cloud of white hat security platform, a lot of first-tier Internet companies in high-risk vulnerabilities Whitecaps took the lead by the dark clouds are found. Domestic Internet there is a particularly bad atmosphere, many Internet companies who feel they burst vulnerability who is bad, abnormal hostility, especially some bosses do not understand the technical and marketing staff, often confuse burst vulnerability to attacks and malicious competition, but in fact, we know that, with a little brain, if there is no white hat burst vulnerability, your vulnerability still exists, if this loophole has been passed in producing black circles, that is your tears. A few days ago my side of the company are clouds white hat burst a super-high risk of terror, I feel very lucky, thanks to the white hat is found, dead or really do not know how to die, you go on to say this case.

 

Clouds provide some paid security congregation measured service, but if as a start-up team compared the grassroots, that the higher the cost, then we can consider the issue of the first to open in the clouds a business account, always pay attention to important safety announcements and white hat submitted is useful.

 

Research and development

1, security research and development, operation and maintenance of the environment

I believe many people have been xcode ios The incident shocked the Trojans, the emphasis here, operation and maintenance of the development environment and software environment, especially with particular attention.

The first is the compiler and associated development kit, be sure to download from the official.

The second is a remote maintenance tools, such as putty, sshclient, etc., be sure to download from the official.

If you use a third-party download, such as Thunder, be sure to check the official md5 value.

Third, I found that the current use telnet people have very little, but there are still many developers still accustomed to using ftp! ftp is transmitted in the clear, after all the routers and switches password can be easily intercepted information! Be sure to use encrypted transfer sftp alternative ftp. Use ssh replace telnet!

 

2, Code Share

Many engineers like to share the results of the work, the code to github or other code-sharing site, if it is prohibited from doing so does not respect the work of engineers, but I would like to remind that, if there is no good entrepreneurial team of security architecture development, or lack of experienced engineers, if you want to share the code to github sure to privatization, do not open! Do not open! Do not open!

分享不是说就一定是有问题有隐患的,但是对于一些架构比较简单的开发而言,一些经验匮乏或者疏忽的程序员,很容易把关键密码写到代码里然后分享到github上,这样的案例已经非常非常多了!

 

说来惭愧,前些日子我的公司技术人员就犯了这个错误,将代码分享到github的时候没有注意到里面包含了一个关键密码,幸亏乌云白帽及时发现,这样的问题如果被黑产发现,可导致任意盗号,而且一旦真的发生了,我肯定会找错方向,去追踪代码安全,找SQL注入的可能性,想要快速追查定位真是难上加难。

 

3、是全部独立开发还是选择开源系统?

实际上,如果你的开发工程师水平一般,能力不是非常突出,代码的安全质量通常不会比成熟的开源系统更好,成熟的开源系统大多经历了多重的安全风险,至少不会有过于显而易见的安全漏洞。

 

说一下开发过程中容易犯的安全问题。

第一,SQL注入,第二,跨站脚本,以上两条都是对用户输入和参数传递没有做严格校验导致的。所有通过客户端传递的参数必须做格式校验或强制类型转换才可以使用,这是一个特别特别重要的要求。

第三个常见的安全问题是数据库对用户密码的保存。

不管你认为自己系统多么安全,请相信我,被人扒库的问题永远存在。明文密码保存是一种流氓行为,但如果只做md5也是非常不负责任的,网上早有人把所有常用密码组合的md5全算好了,随便搜一下就可以反解出来。昨天分享的文档提到了随机SALT,但没有具体解释。今天写到这里有点懒了,只说一个结论,使用随机SALT可以让黑客拿到数据库后的破解用户密码的成本极度增加,从而保护用户密码安全。

 

以discuz为例,我面试过很多程序员,很多都说discuz有很多问题,但是很少有程序员认真去分析过discuz的一些细节,一个典型的是ip地址反查的实现机制,另一个典型的就是密码采用了随机salt +md5的方式,说来惭愧,我开始研究discuz的时候也是很长时间不太理解这个salt是干嘛用的。 所以回过头来说,很多开源软件在技术细节上和安全细节的打磨是远超创业团队的开发人员的。

 

使用开源系统当然也存在安全风险,比如开源系统一旦爆出漏洞,传播性会非常快,很快就有扫描工具在网上流行,一旦你疏漏了一下,就会中招,产生严重后果,但即便如此,我认为,如果你不具备足够的安全开发能力,使用开源系统的整体安全性还是会优于自己开发,如果你使用开源系统,然后某天因为这个系统漏洞中招了,你来埋怨我,请想想,你自己开发的话,因为不流行,所以惦记着的人少,但是你确信这样就安全了?一旦你业务起来,如果程序员水平不足,别人稍微别人研究一下(是的,即便不开源,研究你系统漏洞的方式也是成熟的,所有的登录入口,参数传递调用,以及交互输入的地方,都是可以做恶意渗入测试的)就能扒出一堆问题,这一点真的不夸张。

 

如果使用开源系统,又想减少中招的风险,建议将默认配置的目录修改掉,特别是后台管理的目录,以及管理的进入程序名,略微调整一下目录和文件命名规则就能躲避扫描器的跟踪,而且多关注该系统的官方公告和最新安全新闻,也会防止中招,请相信一点,如果知名开源系统出现严重风险,乌云第一时间一定会爆出来,如果是你自己开发的系统,一旦被黑产先发现,真没人知道,你自己想去修补,真的很难找到问题点。

 

4、防撞库,防暴力破解的验证码

这里只是提醒一下,验证码是对机器访问,撞库攻击,暴力破解(特别是找回密码环节)非常好的一种抵御方式,但验证码其实也是伤害用户体验的,所以要有所取舍,此外,如果采用容易识别的验证码,网上已经有识别验证码的程序流传了,我都用过的,这样作用基本就不存在了。

个人建议,用户第一次输入不出现验证码,输入错误或者同一个ip多次尝试不同的帐号登录,再出现验证码,验证码也要先易后难,防止程序破解,这样兼顾了用户体验以及防止机器人扫描和撞库。

 

说道这里,介绍一个第三方平台,洋葱网。 利益相关,创始人吴洪声是我的好朋友,也是挂名徒弟。(但其实人家比我厉害很多的) 洋葱网试图通过第三方的一种登录机制管理将传统的密码方式彻底淘汰,当然目前很多应用都将洋葱网作为第三方登录的一种选择,而没有作为自己网站或应用登录的完全替代,但是有兴趣的创业者确实可以了解一下。

 

今天先到这里,未完待续

 

后续我会写下篇,关于数据安全和员工管理所涉及的安全问题。

 

更新一下:根据多个网友的各种反馈,阿里云目前抗DDOS能力较强,但可能存在对部分正常请求的误杀,嗯,对国内的现状我确实不是特别了解了。

 

继续昨天的话题

数据

 

这又是一个我特别惭愧的话题,因为就在前几天,amazon的一台云主机崩溃,居然无法恢复,导致我们线上的一个游戏服务出现故障,原本是做了数据备份的,但是由于是一款长期没有维护的游戏,数据备份的机制不合理,恢复起来特别慢,而且,更加崩溃的是,由于开发商原团队多人离职,程序和资源备份已经非常难找了,以至于恢复周期极长。。。

 

今天先说一下关于备份的话题,前几天冯大辉也特别提过这个话题。

数据备份也存在一个悖论,因为创业者其实有两个担心,第一个担心,数据泄露怎么办?第二个担心,数据损坏怎么办? 而这两个担心在备份策略上是互斥的,如果你想防止泄露,理论上你要尽可能减少数据在不同地区存储的机会,尽可能让数据只存储在你完全信任的环境里,但,如果你担心数据损坏,那么你可能需要把数据更多放在不同地方保存备份。 防止比如说,机房失火,或者地震等重大事故,你可能一个地方的数据全部损坏,你仍然可以异地恢复起来。

 

此外,数据备份又分为热备和冷备一说,前者是保持实时有效性,一旦线上数据库出现访问故障或硬件故障,甚至可以自动切换完成故障转移,但热备也有显著的缺点,就是万一线上数据出现了严重的误操作,或者被SQL注入者执行了一条drop table,对不起,秒秒钟的事情你的热备就完蛋了! 这时候就只能靠冷备来救命,冷备往往存在一个时间差,会有丢失最新的数据,游戏行业常说的就是,回档。

所以,二者都存在风险,但也都有意义,因此正常情况下建议冷备热备最少各要保留一份,冷备务必要留一些时间差,并且最好要保留多个时间节点备份,防止出现重大的误操作或恶意操作后没有足够发现的时间冷备就被干掉了。

 

如果热备被误操作或攻击者干掉,最理想的恢复方法是基于最新的冷备先恢复,再用冷备后的数据库日志文件,手工摘除掉最后的错误操作命令然后执行增量恢复。

 

下面推荐一个平台,叫做多备份,www.dbfen.com,(利益相关,暂时还没利益相关,不知道他们会不会给我赞赏)。 想想连amazon都会有不可恢复的损坏,所以这种备份机制还是有必要的,当然,使用多备份,你必须想清楚,数据泄露的风险毕竟存在,备份越多,泄露风险越大。 所以再次强烈建议,用户密码的处理非常重要,明文保存是流氓行径,md5或md5+md5都保护不了绝大部分用户密码,随机salt是成本最低的高效密码保护策略。

其实,我一直觉得,如果是创业公司,我是不是要用户在我的平台有帐号密码呢?现在QQ,微博,乃至微信一键登录都那么成熟,国外更成熟,facebook, google一键登录什么的,多兼容第三方一键登录,自己不用管密码,就不用担心用户密码丢失了,至少丢了也找不到你这边来。 (当然,也要考虑用户的顾虑,很多用户怕你到他社交网络的时间线乱发消息,所以不希望用自己的社交网络帐号登录,特别是游戏,这个也是一种用户需求吧)

对你认为机密的数据做一些简单的加密存储,然后使用这种多备份平台,可能会极大减少数据泄露的风险。因为黑客也是有成本考虑的。

普通的数据库主从是一种常见备份方法,但主从其实并不能彻底保证数据的一致性,另外一种是通过原始的数据库日志文件,比如mysql的binlog恢复数据,一致性较好,但恢复效率极差。 所以很多时候,并没有绝对正确的方案,你必须评估自己的需求,选择适合自己的就好。

代码备份也是一种数据备份,其意义也非常重大,代码备份同时要兼顾版本管理,有些产品,比如游戏,发布到不同国家不同地区的版本都不一样,这个管理就更加复杂了,这一块我们目前做的也不是很好,所以这次灾难备份恢复的周期格外漫长。而且这里还涉及一个问题,开发商和运营商彼此如果配合不到位,开发商也担心运营商会获得原始代码,然后自己甩开开发商开私服,所以如何协调和保障双方的诉求就特别重要。

 

chuan奇私服为啥会起来呢?就是因为当时有一个遥远的国度的发行版本被泄露了,代码迅速在地下黑市扩散普及。。。 所以涉及代码版本备份的工作也相当具有挑战性,因为开发商对泄露的敏感度极高。这一块我只能说,目前我们也没有太好的办法来做到大家都能满意,只能说是尽量把这个问题先让双方都清楚,一旦代码服务器发生不可逆转的损坏,备份恢复机制如何进行。

 

到这里插播一个本应昨天的话题,作为创业公司,如果开发是外包的,务必要求源代码。我见过这样的案例,有个公司外包开发了一套系统,这个系统是php开发的,代码做了加密,后来他们要修改的时候找不到开发者了,来求助我,我帮他们解开了源代码。不看不知道,里面赤果果的留着一个非常显眼的远程控制的炸弹,就是从地址栏输入一个参数可以直接删除数据库,这种后门主要是开发者防止发包商拖欠尾款的,但是这样的后门性质还是相当恶劣的。虽然没有被引爆,但当时他们的技术人员也震惊了。 在这里推荐一个对php加密代码能做解密的工具,利益关联,这个真的一点关联都没有关联了,http://zendecode.com/ 不同加密方式的解密途径不同,这个是一个比较好用的工具。

 

员工管理

 

1、电脑严禁裸奔,不管自称多么懂电脑懂互联网,必须装杀毒软件和安全工具,而且必须装主流的杀毒软件和安全工具。 你说你就不花钱你用360可以,你说你不信360你装卡巴斯基也可以,但必须保持不断更新病毒库和保持付费可用状态。

 

2、保持公司的邮件帐号密码和其他第三方网站的不一致,这也是硬性规定,防止撞库,有些人在第三方网站也就是普通用户,密码丢了也没啥影响,他自己也不知道,黑客也不去改他密码,但是可能在公司里是个管理员,黑客借用第三方网站的盗号撞库杀入你公司系统,可能就有大麻烦。

 

3、对外合作方式和一些第三方帐号管理

公司员工对外合作经常留有QQ,或者微信,邮件地址。

QQ,微信这个如果让员工换掉有些强人所难,创业毕竟也要人性化。 (部分有条件的公司可以使用企业QQ服务,便于公司统一管理,而对外合作微信可以考虑使用企业公众号来处理,将在职员工设置为公众号客服,这样企业对外合作可以不用因员工变化而改变微信联系方式,但目前这种配置也不是很流行,所以不做硬性推荐),但是邮件务必要用公司的企业邮箱,大公司这一点都不会觉得有问题,有些创业公司会觉得我搞企业邮箱好麻烦,干脆大家用私人邮件干活吧,但如果存在人员流失和离职这个麻烦就很大,有些重要的业务合作邮件可能就无法追溯了。企业邮箱其实有很多免费和廉价的方式,QQ企业邮局,网易企业邮局,google企业邮局,等等。管理员把权限设置好,后续可以省很多麻烦。

 

我以前助理经常要跟各个业务伙伴进行邮件沟通,该助理离职后,我直接设置将旧邮件地址所有收到的邮件转发给新助理,这样一些合作伙伴的问询和沟通就完全没障碍的转了过来,我甚至没有通知他们联系人发生了变更。

 

一些重要的邮件账户也要做好备份,管理员应该可以有设置的能力,这样防止主要员工离职后会删除重要资料。 目前我身边听到多个案例有员工遭辞退后删除所有信息的情况。

公司发展业务时,经常需要设置和安排一些第三方的帐号,比如google 开发者帐号,苹果开发者帐号,域名管理的帐号,很多帐号里还要设置多个权限角色,因为不同目标的员工需要上去做一些设置和调整的工作,这里之强调一点,这些帐号务必使用公司邮箱来注册,而不是个人邮箱,这样才能保证公司在人员流动的时候不会突然出现某些第三方平台你需要重新申请重新配置的麻烦。

 

这种问题对于大公司来说似乎都是理所当然的,但是对于很多刚开始起步的创业团队,他们一开始很可能疏忽了这些,你一个帐号,我一个帐号就开干了,中间一旦产生人员变化,这麻烦折腾的就大了。

 

4、关于公司的一些机密的维护

 

其实从我角度讲,我不喜欢防备员工,公司收入,支出,几乎都是公开的,大部分人都可以看得到,只要业务需要,申请一些第三方平台的权限我也基本上都给开,那么,这里是否存在数据及业务泄露的风险呢?其实肯定会有,不过我觉得对于创业公司,你还真别太在意这个,真正有价值的一定不是冷冰冰的信息和数据,而是人对信息的思考和反馈的能力,我不喜欢那种公司里面各种藏着掖着的作风,如果公司规模大了,竞争环境复杂了,我觉得这个当然还是重要的,但是现在我就琢磨,我们这点小破生意,腾讯这样的肯定懒得看吧,我把我数据给他估计他都懒得瞅一眼,同行?和我们差不多的?大家合一起连腾讯的零头都比不上,我们彼此叫啥劲呢。

 

但不排除有些企业有些领域有核心竞争力的信息是需要保密的,这一点我也没太好的办法,以前朋友的公司做了款产品叫做铁卷,是干这个的,但是,实话说,不是创业公司玩的。

 

这里多说一点,安全性和便利性肯定是矛盾的存在,如果你过于刻意强调安全,可能很多工作的复杂度就会增加很多,大家也看到我的介绍里,更多推荐使用第三方平台的产品和服务,也是为了创业团队能专心打磨自己的竞争力,没有必要在安全上投入太大精力,实际上,有个安全大牛说过这样一句话,其实除了极少数安全公司的范例,虽然你看每年互联网安全事故那么多,死于安全事故的公司还真不太能找出来。所以,注意安全是必要的,但是,我们也不是说为了安全,弄得人人自危,大家都不安生,那就有点过犹不及了。

 

好吧,坦白说,死于私服+外挂的大作游戏还是有几款的,要说如何彻底解决这种问题,我真没办法。我只能说,如果你担心这种事情会发生,你只能尽量让你的竞争力不依赖于这个了,比如快速调整的能力,快速应变的能力,即便出现了比较严重的版本外泄,你升级更快,性能调优更强,版本迭代更迅猛,总还是有机会的,之前那些案例,主要还是因为开发商和运营平台不齐心,遇到问题的应对缓慢,策略保守。

 

5、辞退及离职

 

创业公司遇到骨干离职会很头大,如果他手里有一些重要的帐号资源,那真是非常紧张和危险的事情。

这就是之前提到的,全部使用公司邮件地址,辞退离职的时候,只要邮件权限拿回,所有帐号都可以通过密码找回重设。

 

但问题是,你确认你知道他有多少账户么?很可能不知道的。

这需要平时做好记录。谁在什么系统拥有什么帐号,拥有什么权限,平时需要有个记录,当员工辞退或离职时,应明确这些帐号已经被收回。

 

当然,这里还有一个重点,缘聚缘散都是缘分,大家同事一场,一起创业,尽可能不要出现不愉快的收场,作为公司创始人或者管理者,即便你认为有人不适合这个公司,请他离开,也应尊重和善待每一个伙伴,这样可能比你加很多条安全策略还要重要。你就想一下,就算员工有不对的,当你决定招聘他进来的时候,首先是你看走眼了对不对,所以第一个责任肯定在你身上,这样去思考,就会减少很多冲突的可能,事实上,非常高比例的企业内部安全事件,是由心存报复的离职员工发起的。

 

6、办公软件和工具

前文提到,员工应使用正版或来源有保障的软件,包括但不限于

编译器,远程管理工具,邮件客户端,办公软件,图形制作软件。 并且,应及时跟进最新安全补丁。

 

在家办公或远程办公,涉及帐号密码操作,以及登录操作,应尽可能使用加密传输协议,有条件的建立vpn线路。

 

最后一个话题

 

应急处理及响应

 

这是特别难的一个话题。

涉及很多领域

数据损坏

数据泄露

遭受拒绝服务攻击

域名劫持

服务器被入侵

网站被挂马

等等等等

你跑来问我,对不起,我也没招,找专业安全人士处理。

那么你说,你去哪里找啊?

下面,我告诉你一个大绝招,这是我这样低水平的人还能横行的一个重要原因,一般人绝不外传的!

做好信息安全,三分靠技术,七分靠人脉!

别笑,别笑,真的。

 

遇到好多次险情,危急时刻,都是我还毫不知情的时候被朋友发来消息,“你们服务器出大篓子了,赶紧处理!” 嗯,这事遇到过,还不止一次呢。

这就是几次死里逃生的真相。

这里我必须再度强调一次,如果你选择了一些巨头的云服务,遇到紧急情况可以请他们支援,无论是ucloud,还是阿里云,或腾讯云,几个比较大牌的云服务商背后,都有业内非常顶级的安全专家镇守,或者与非常专业的安全公司有深度合作。第二是可以去找乌云求助,让他们帮你做一次紧急的评测和加固服务,那,上一篇文章评论里,乌云的朋友给了一个福利:

报caoz的名字过来的乌云众测,免3个高危漏洞的奖金。微信id:2036234

有兴趣的自行联系勾兑。


留个彩蛋吧,名词解释,云服务穿透。

云服务其实也是一种虚拟空间,每个人认为自己获得了一台独立的服务器,但是很多是彼此共存在同一个系统中的,这就存在一个风险,如果这个虚拟机系统出现一些安全漏洞,就可能被人利用漏洞穿透虚拟机,进入上层的实际系统,然后再进入其他虚拟机,我猜你一定想到了,没错,就跟黑客帝国一样,穿透了自己的世界,进入zion,另一台虚拟机。这是云服务目前最大的风险之一。

不过还好,这样的风险出现过,但是大规模的破坏还没发生过。

 

另外,任何云服务商的数据存储和系统都不是100%安全的,选择时要知道这一点,不能完全信任任何一个平台,个人建议在其他云平台搭建一个同样的系统,数据完成热备,但不用启用,这样成本其实也不高,最低成本运作就好,在dns服务上做好一个备份的域名,也不启用,一旦主力云平台出现非常重大的事故的时候,可以dns直接cname到备份域名上,然后快速增加资源,启动完整的备份平台。尽可能减少运营损失。

 

当然,实话说,我自己还没完全实现这个,只是部分做了一点。

 

Guess you like

Origin www.cnblogs.com/landesk/p/11286189.html