您的位置:首页 > 职场人生

程序员在家开发,如果保证代码不泄漏?

2015-06-28 17:37 405 查看
前两天和朋友喝茶,聊到现在有公司已经允许程序员采用灵活的开发方式,包括在家开发,来吸引程序员加盟。现在企业管理员面临的一个问题是:如何让在家开发、外出的程序员不能拿走公司的代码?

一、用户现状

某公司为一家科技型研发企业,现在研发部门存在如下问题:

1、 公司设有成都、北京两个研发中心。

2、 部分员工、兼职人员在家里或其他非办公区域办公。

3、 出差人员需要进行调试时,无法使用到办公区域的研发环境和测试环境。

4、 暂时使用teamviewer进行远程访问操作。

5、 拓扑结构如下图所示。



二、需求分析

研发数据存储于SVN服务器,每次研发人员在研发区PC上或远程登录研发区PC后,可以进行编程及上传到SVN。

2、 PC为Windows桌面系统,在PC上部署的有Windows应用系统和liunx应用的客户端。

3、 PC客户端不能通过QQ、 邮件、FTP等方式将研发数据通过互联网发出给其他人。

4、 teamviewer的安全性问题:teamviewer是非常强大的远程桌面访问工具,可以完全的控制远程桌面,能够将本地存储资源带入远程桌面,访问方便,能够穿透NAT;然而,由此带来的安全隐患为:

4.1 远程桌面被完全控制,本地存储资源带入远程,可方便的进行数据的复制,不受任何限制,源代码非常容易通过此渠道下载到程序员笔记本上;

4.2 为了实现穿透NAT,远程桌面首先连接到teamviewer.com,本地桌面也需要连接到teamviewer.com,由teamviewer.com实现转发,从而导致数据泄露风险。

三、解决方案

1、拓扑结构。解决方案拓扑结果如下图所示。主要方案为:将以前的研发用PC机虚拟化。由于研发用PC的性能较好,因此,可以使用裸金属架构的桌面虚拟化产品,一台PC机能够虚拟化出2~4个研发用虚拟桌面。当出现增加员工时,不需要临时采购PC,直接使用虚拟桌面系统,提高工作效率。在研发区接入点部署防火墙或上网行为管理设备。



2、安全性分析:利用桌面虚拟化管理系统的设备管理功能,禁止访问远程存储资源,防止源代码等数据通过远程控制协议泄露;另一方面,通过防火墙或上网行为管理,只允许远程接入虚拟机来宾操作系统,而不允许通过虚拟机访问互联网,防止通过网络访问泄露源代码。

3、适用性分析:虚拟桌面只向远端发布桌面图像、接收远程的输入指令,而不将数据传输到远端,安全性更高;另外,对于研发或日常办公来说,每个虚拟桌面连接大约需要2Mb/s的上行带宽,对于现在的100Mb/s的企业网来说,带宽和成本的压力不大。远程只需要安装相应软件即可。

4、管理分析:系统管理员可以统一配置每个虚拟机来宾操作系统的资源管理权限、安装的软件,在PC机故障时可以快速的迁移到另外的PC机。同时,当外出员工或外协员工减少时,还可以关闭部分暂时不需要的PC机,节约能源,减少PC机能耗和空调能耗。

如需要更详细的方案,请加群,并联系我。

欢迎探讨备份/恢复、容灾、虚拟化相关的各种技术、产品、方案。加QQ群:185466074

或扫描二维码加入。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: