过去一段时间来, 众多的网站遭遇用户密码数据库泄露事件, 这甚至包括顶级的互联网企业–NASDQ上市的商务社交网络Linkedin, 国内的就更多了。
层出不穷的类似事件对用户会造成巨大的影响,因为人们往往习惯在不同网站使用相同的密码,一家“暴库”,全部遭殃。
那么在选择密码存储方案时, 容易掉入哪些陷阱, 以及如何避免这些陷阱? 坚果云,作为一个用于同步、备份文件的云存储服务提供者,在安全方面有一些心得,记录于此,与大家分享。 继续阅读
北京时间今天早上7:59:59,坚果云的所有Linux 操作系统 (CentOS 6.2)都出现CPU利用率暴涨的现象,主要影响的进程包括Java,MySQL等。直接重启Java和MySQL不能解决问题。后得知,该现象不仅发生在坚果云的服务器,很多互联网公司的服务器都在这一刻出现了不同程度的CPU利用率增长!
经过我们紧急的分析和调试,发现是因为操作系统内核在处理闰秒的时候,导致部分试图获取当前系统时间的进程出现Live Lock,也就是说,某个进程/线程在查询系统时间的时候,进入了一种类似死循环的状态,CPU利用率很高,同时不能完成时间查询。
我们猜测JVM和MySQL试图通过CPU硬件晶振的数据获得当前精确的时间,由于闰秒的关系,这个时间和操作系统维持的墙上时间(Wall Time,也就是显示给用户看的时间)不一致,导致了这个问题。
系统时间对于各种服务器程序尤为重要,例如在坚果云的系统中,很多节点都定期收集和报告系统状态,如果系统时间无法获取,可能导致部分节点被误判为故障,自动引起一系列不必要的故障恢复动作。
通过twitter, 邮件列表,论坛等其他媒体,我们发现很多互联网服务商都碰到类似问题,并且给出的方法多是重启服务器。坚果云团队戏称这是互联网全网统一重启服务器的日子。
与大家一样,我们首先选择的方式是按照顺序重启所有服务器,重新启动服务器确实能够解决这个问题。不过这个过程耗时长,而且容易出错。
幸运的是,谢谢Mozilla的一篇blog, 也谢谢Google快速灵活的实时索引,我们在重启服务器的过程中,发现了如下更简单的解决办法:
$ cat files/bin/leap-second.sh
# this is a quick-fix to the 6/30/12 leap second bug
if [ ! -f /tmp/leapsecond_2012_06_30 ]
then
/etc/init.d/ntpd stop; date `date +"%m%d%H%M%C%y.%S"` && /bin/touch /tmp/leapsecond_2012_06_30
fi
这个脚本只是简单的强制重置系统时间,从而让系统中所有时间回到同步的状态。完成后,你可以确认所有服务的状态回到正常,然后手动重启ntp服务。类似mozilla, 我们也使用puppet将该脚本在所有服务器上执行。
或许碰到问题的管理员都可以用这个办法解决。这是使用这个方法后的CPU利用率变化。
最后,希望航空航天,医疗等等重要系统不会受到这个问题的影响。在这些领域,重启系统很可能会造成巨大的伤害。
出现文件冲突通常是由于本地的文件和云端文件数据内容不一致,为了不让数据丢失,客户端在同步时会在本地保存云端的文件,并将本地的文件命名为冲突文件,其内容为另一份修改的版本,冲突文件和源文件会同步到到所有电脑上。
以下情况可能引发冲突:
坚果云重命名的冲突文件的文件名在windows上带有“-冲突”字样,在linux和mac上带有“-NSConflict”字样。如果该同步文件夹还会和用户同步,那么冲突文件名字中会加上产生该冲突文件的用户昵称。
具体如下图所示:
文件冲突发生后,你可以在本地搜索所有带有“-冲突”(Windows)字样或”-NSConflict”(Mac OS X或Linux)的文件,采取以下措施:
文件发生冲突给同步带来了不便,因此需要尽量避免冲突发生。以下是一些避免发生冲突的建议:
坚果云一直将”安全”做为最重要的目标之一. 不幸的是, “安全”二字标榜起来容易, 真要做到, 颇为艰难. 最近的一件工作就反映了这个情况.
百度对于大部分使用”https”访问的安全页面都不收录, 造成我们的主页迟迟不能出现在搜索引擎的首页结果上. 我们想了各种办法, 包括 “为百度爬虫指定单独的HTTP页面”, “通过百度的各个工具提交页面”, “比对同类型网站的主页”, “咨询认识的百度的朋友”, 得出的结论是最好将主页制定为http版本, “见效快, 疗效好”, 同时主页打开的速度还够快.
不过我们仍在坚持使用https版本做为登录主页. 否则, 登录后的用户一旦直接在浏览器中输入”jianguoyun.com”, 用户身份信息(cookie)将直接明文传输. 如果用户处在不安全的网络环境, 例如咖啡店, 星巴克, 机场, 或者其他使用代理上网的场合, 只需一个简单工具, 用户数据将瞬间可以被其他人访问.
甭管用了什么本地加密, 也甭管用了多复杂的密码, 只要一个链条松动, 用户放在”云存储”中的数据将瞬间暴露. 这是做一个”安全云存储”困难的地方, 也是我们为什么将”安全”做为最重要的目标之一.
坚果云是一款企业网盘产品,为用户提供文件共享、同步、备份服务。自2012年 3 月正式开放注册以来,已累计了数百万个人用户及上万家付费企业用户,其中包括中石油、中海油、银河证券、兴业银行、上海通用、东风雷诺、郑州日产、阿里巴巴、腾讯、中科院、清华大学、绿地集团等大型企业客户,同时也是微软、IBM、中国电信的合作伙伴,成为目前国内企业级市场占有率最高的企业网盘产品。
说起当初为何选择创业,“当时做的时候没想太多,做着做着才发现竞争这么激烈。”坚果云的项目发起人韩竹如是说到。作为创始人,韩竹此前就职于 IBM 研究院,从事企业级数据中心基础研究方面的工作。由于具备良好的技术背景,当云计算的概念甚嚣尘上的时候,韩竹意识到云计算不能总纸上谈兵,需要有实在的产品落地,受 Dropbox 启发,2011 年下半年,没有任何互联网从业背景的他果断地放弃了相对安稳的工作,走上了前途未卜的创业之路。
创业的过程总是举步维艰。成立之初,公司只有三个人,另外两位创始人杨剑和蔺皓同样是技术出身, 创业之初的大半年的时间里,三个人分处于北京上海两地,基本依赖邮件和 Skype 语音进行协作。即便如此,三人却以极致的高效率完成了包括服务器后端搭建、Windows、Mac 和 Linux 3 个平台的客户端开发等工作。凭借着笃定的创业理想和超高的执行力,坚果云正式上线时,Windows、Linux、iOS、Android、Windows Phone 全平台的覆盖已经完成。团队在2011底年拿到了天使投资,韩竹称很重要的一部分原因就在于投资人认为他们“技术很好,很短的时间就完成了全平台。”
坚果云产品的前身是“坚果铺子”,问及坚果云为什么选用“坚果”这个词,韩竹笑称,一次他一边嗑瓜子一遍写代码,于是就想到了坚果,由于 Nuts 太短,在英文中又略带贬义,索性将 code name 命名为 Nutstore。基于宏观的考虑,最终将产品命名为“坚果云”,而坚果寓意着存储文件的坚固、稳定、不易损坏。
直至今日,坚果云优秀的产品技术和产品体验为其累计了许多良好口碑,几乎所有的用户都反映坚果云满足了他们几乎所有文件管理需求,那这个产品的特点究竟是什么?其背后的精神和团队究竟有着怎样有趣的故事呢?让我们一起跟着以下几个问题一窥坚果云企业发展历程:
1.坚果云决定创业的契机是什么?创始人都有什么背景?
(创始人)韩竹:我是从上海交通大学毕业的,团队里面杨剑也是从上海交通大学毕业的,蔺皓是北京邮电大学毕业的。我们都是硕士学历,大学的专业都和计算机相关。
创业是工作以后才萌生的念头。我们有在一些顶级的研究机构研发和云计算相关技术的经历,觉得可以创造更好更易于使用的云存储服务,这大概是创业的初衷。
2.能不能分享一下您当初创业时的一些故事或者回忆?
韩竹:我们一直都是勤俭节约的创业方式。刚开始创业的时候,三个伙伴都主动表示先不从公司领取工资,我们都住在我的家里,每天一起吃饭,一起工作,一起锻炼,一起头脑风暴定义还未成型的产品。那种感觉真棒,有在一个战壕里面战斗的感觉。 直到现在所有的公司成员仍然保持了这个习惯,我们除了一起工作外,也会一起吃饭,一起娱乐。
3.坚果云产品的精神是什么?
蔺皓:它背后的精神有两点,一个是简约的气质,还有一个是效率。我们把功能做得很简约,打一个比方,我们更多的时候是在提供积木,用户想怎么用都行,而国内大多数同类产品是把这个积木打好成为特定的风格,然后再呈现于用户。我们在初期设计产品的时候就觉得更应该把如何使用的权利留一些给用户。我们没有把文件夹的功能定死,比如说我们不会特别指定一个文件夹要放照片,另一个一定要放代码,或者要放日志。因为在我们看来,每个人的个性不一样、需求不一样,所以我们仅仅提供能够同步的多个文件夹(积木),而不会去指定它应该搭成什么样子。第二点杨剑可以介绍一下。
杨剑:好的,因为我们最想帮助的是那些需要存储工作文件的个人或者团队,所以我们建立了跨平台(ios、Android、wp、windows、mac、linux等)多个客户端,另外还有网页版,此外,还通过智能增量备份、局域网同步、压缩等技术手段加快了文件的同步速度,这些都能够大大提高人们工作效率。我们更想做一样东西给工作带来帮助的,而不只是上传一些照片、手机通讯录、歌曲这类大众化、娱乐化的产品。作为技术出身的人,我们更崇尚效率。
4.团队在做产品的过程当中会用自己的产品吗?
蔺皓:这个是必须的,我们有一个原则,叫做“吃自己的狗食”,创业初期由于资金和精力的有限很难获取大量的市场数据来反馈用户的想法,所以之前在早期的时候我们就尽快做出原型,然后把自己作为这个产品的铁杆用户,在使用的过程当中去发现有什么问题,然后再改进。所以我们的迭代是很频繁的,这样的开发更加敏捷。
国内少有支持全平台的企业网盘服务,而坚果云从一开始就囊括了 Linux 这样比较小众的平台。也是因为我、杨剑和韩竹三个人恰好使用不同的平台,有 Windows,有 Mac OS,有 Linux。我们相信,团队对产品的理解一定是建立在自己使用它的基础上,如果自己都无法使用,又怎么能将产品做好?
现在产品相对成熟了,我们内部也在稳定扩张中,所以在团队协同工作方面,反而用自己的产品用得更多。比如我们的销售部门,平时因为经常出门拜访客户,所以随时需要查阅最新版的产品资料,利用坚果云多平台、多设备同步打开文件就可以很方便的帮助我们提高自己的工作效率。
5.与其他产品相比,坚果云最差异化的优势和核心竞争力是什么?
韩竹:我们这个行业最成功的就是Dropbox了,它开创了一种新的文件存储应用模式,从创新性上来说,Dropbox也是非常值得尊敬的对手。国内也有其他的一些同类服务,不过他们彼此之间非常相似。 作为坚果云,我们对自己的定位是“做专注的不断创新者”。我们专注于提供办公用途的企业网盘服务,因此数据的安全性,同步的可靠性始终是我们最大的特点。值得骄傲的是,我们在这两个方面确实做得不错,我们的付费用户比例接近1%就是这一点的最好说明,相对于而言,竞争对手普遍采用大量免费赠送的方式。 另外,我们在产品形态和产品功能上也在不断创新,与以Dropbox为代表的服务已经有了很大的区分。例如,我们是第一个提出让用户可保存的文件随着时间增加逐步增多的服务;第一个推出电脑上任意文件夹都可同步的服务;我们也推出了面向企业内部的私有云存储服务,除了便捷易用外,企业还可以将数据完全掌握在自己手中,最大程度提高安全性。
我们的核心竞争力目前主要还是在同步的可靠性和大规模云存储系统的运营上。如上面提到的,大部分的用户都是因为我们的同步更可靠而选择付费使用坚果云。 我们目前采用的云存储技术使用了先进的编码技术,和竞争对手相比,可以在将成本降低一半的同时,将可靠性提高一倍,这是一个非常突出的技术成就。
6.既然你说到了安全那我想问,坚果云他是怎么保护用户的数据的?
蔺皓:这个问题比较专业,我尽量简化问题,从三个容易出现安全问题的环节讲: 1.数据传输安全:坚果云的所有网络通信都使用了和网银相同的数据加密传输方式,甚至包括局域网同步。这样做虽然会加重服务器的运算负载,略微减慢传输速度,但我们坚持认为这是有必要的。 2.存储加密:文件在离开电脑前,就会被切成多个文件块,传输到云端的不同服务器中。服务器收到文件块后,会根据文件的数据特征和用户身份,自动生成密钥,将不同的文件块利用AES算法加密存储。这些文件块加密密钥是通过不可恢复的单向哈希计算得来,只有获取用户身份后才可以再次计算获得该密钥,从而保证其他人无法访问用户数据。AES算法是目前获得普遍认可的最安全的加密算法,被军方和金融行业广泛使用。 3.冗余备份:每一个文件块传输到服务器上后,经过算术编码存储在多个不同的故障单元中。不同的故障单元彼此隔离,即使一两个出现故障也不会让用户的数据丢失,最大程度保证该数据的可靠性。
7.你们的商业模式是什么?
杨剑:为了打造一个安全的环境,我们坚持不打广告(打广告是需要分析用户数据的,但我们不想这样做),所以目前只有提供付费高级版本的商业模式。我们会有免费个人版本、付费专业版和团队版。专业版、团队版会收取一定的费用,主要是考虑用户体验,所以先让用户来决定好不好需不需要付费。说到这个我们的用户反馈来看有一个很有意思的现象,有很多用户不会管你专业版多了什么功能,他们认准你的品牌觉得你靠谱的时候就会想:“这个公司的产品还可以,支持一下,买了。”所以还是那句话,我们把更多的经历花在产品上就是想让用户觉得坚果云给他们存储文件方面带来更高的效率了。 而效率决定了一个团队能否走得更远,所以目前阶段,我们的重心也放在了更强调效率的高端办公人士和企业用户上。
8.为什么选择从个人转型到主打企业市场?
韩竹:过去几年来,因为有了个人用户的累计,产品成熟后用户们自发口碑推荐了很多企业客户,也让我们发现企业的文件管理需求很大,并且是各行各业都需要。2B市场的规模很大,而一个公司或者说团队的效率最终会成为它的竞争力,坚果云恰好能很好的帮助这些企业实现这一点。今年2B市场也开始热起来,坚果云实际已经在这条路上实践了几年了,并且发展的很不错。
9.公司目前状态如何?
韩竹:我们已经开始盈利了,并且销售额增长很快,我们认为能够创造利润是一个创业企业健康的标志,同时也是客户对产品认可的表现。现在坚果云在各个行业都有众多客户,很多是行业领袖和企业标杆,比如东风雷诺,郑州日产,银河证券,兴业银行,中石油,中海油,高德等等。
团队也在扩张,刚开始创业时很难招聘到具有光鲜背景,有丰富经验的人士。我们一开始没认识到这点,因此在招聘上碰了不少钉子。
后来我们调整了策略,更关注候选人的学习能力和激情,然后在逐步的利用工作中的项目来培养新入职的同事。事实说明这个策略很管用。现在我们的团队成员都是多面手,每个人可以负责好几个方向,大家都得到了极大的成长。
10.坚果云是现在为数不多的依然坚持收费的云盘,有考虑过免费吗?
韩竹:短期内暂时不考虑,目前付费个人用户中高端用户居多,他们利用坚果云配合其他一些优质软件来提高自己的工作效率;企业也更看重数据安全和服务,所以目前坚果云团队版和企业版都需要付费,我们还是更希望将重心放在产品和服务的安全性和稳定性上。
11.据我了解,坚果云论坛还是几年前的样式,创始人自己每天还在亲自回复用户问题,这么做的原因是?为什么不放权给下面的人去做呢?
韩竹:因为这是最快获得用户建议的途径。之前说过了,我们希望坚果云是一款不会让用户感觉到“不爽”的产品,所以不管是创始人还是普通的产品开发工程师,我们都会要求大家去倾听用户的声音,从用户的角度去做产品才是最重要的,而且用户也认可你做出来的东西,我们想要持久的发展下去,一定需要良好的口碑,其他什么都没有这个重要。
12.你认为坚果云未来可以改变人们的办公习惯吗?为什么?
韩竹:一定会,长远来看,我们认为云端文件管理服务在办公领域将变成和邮件一样的必需品。而且不管对个人还是企业来说,效率也将是未来提升竞争力的关键因素。坚果云支持全平台,所以任何人都可以随时随地进行办公,而且因为我们提供的其他特色服务,可以帮助人们大大提升办公效率。因此我们将专注这个领域,在企业办公市场建设具有领导力的企业网盘品牌。
13.坚果云未来的发展方向是?
韩竹:我们的发展方向很确定,就是我们一开始所坚持的安全和便捷,更好的服务企业和办公人群,帮助提升办公效率。要更好地做到这些,我们会在产品开发和迭代中把握好关键理念,并不断创新和优化,不过度沉溺于同类产品的跟随、抄袭中。坚果云团队时时刻刻都在产生这样那样的idea,但最终被采纳的,都是以便捷和安全为目的的创意。目前并没有什么创意让坚果云跑偏,因为都在迎合用户的需要。我相信只要这样坚持下去,坚果云一定可以在企业文件管理领域保持领先的地位。
这是一个用户告诉我们的真实故事:
“前两天不慎将钥匙锁在家里, 连开锁王都没办法打开. 无奈之中, 只好让出差中的家人将钥匙寄回上海.
剩下的一个大问题就是, 正在审核中的合同报价明天一早就要交给客户, 笔记本锁在了家里, 而且好像忘记了把这个编辑中的文档放进坚果云, 怎么办?
到了朋友家, 发愁的我用手机上坚果云试试看, 果然没有最近这份合同. 不过同事分享的报价资料却在里面. 当时真觉得“柳暗花明又一村”, 虽然麻烦点,明天早上总算能交差了.
现在算是真正体会到云存储的意义了, 以前只是用坚果云来做分享. 现在觉得随时随地访问确实很有用. 以后的文件干脆统统扔进去. 不过, 坚果云要更给力啊, 安全可靠我们才能更放心.”
很高兴坚果云能帮助到我们的用户. 也谢谢这位用户的分享. 如果你也有类似的故事和我们分享,新浪微博@坚果云,或扫描下方二维码关注坚果云微信公众号联系我们:
我们推出了新的Android版本, 主要包括如下更新(AppMarket下载):
当然, 我们也修正了一些bug, 增加了稳定性和用户友好. 来试试吧? 你可以到AppMarket下载, 也可以用手机拍摄如下的QR Code:
坚果铺子的目标是为用户提供简单灵活的文件同步和备份功能. 我们一直希望能为用户提供多文件夹同步, 因为它可以帮助用户:
很长时间以来, 我们一直在反复推敲和思考这个功能. 因为, 我们担心多文件夹同步会让交互流程更复杂, 用户体验反而变差, 正如这篇著名的讨论.
不过这次, 我想我们找到了解决的办法, 交互流程仍然很简单, 多文件夹同步的功能却依旧强大. 就像这样, 右键点击文件夹, 选择”同步”, 剩下的一切交给我们, 当然, 必要时还得记住不同文件夹的用途, 对不同的伙伴赋予不同的权限, “别让老板看到您在外面潇洒的照片”.
据我们所知, 竞争对手中, 我们应该是第一个用这种方式来提供多文件夹同步.
我们不只是也不愿单纯模仿, 我们在不断创新.
有一些用户反映, 升级到Ubuntu11.10后, 开启Unity桌面无法自动启动坚果铺子. 这是因为Unity桌面对配置文件的格式改变造成. 可以通过如下方式手动解决这个问题(重新安装新版本也能解决这个问题)
~/.local/share/applications/nutstore-menu.desktop
~/.config/autostart/nutstore-daemon.desktop
OnlyShowIn=GNOME;
OnlyShowIn=GNOME;Unity;
主要是解决了Lion更新到10.7.1后, Finder Plugin存在的一些问题.
该更新将在晚一点的时间推送给所有用户. 如果您在Lion下碰到了Finder Plugin的问题并希望及早测试该版本能否解决问题, 可以打开获取最近更新的开关.
如果您有任何关于Mac客户端的问题和建议, 欢迎发送邮件到osx.feedback#nutstore.net (请将其中的#替换成@)