程序员在家开发,如果保证代码不泄漏?
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
或扫描二维码加入。
一、用户现状
某公司为一家科技型研发企业,现在研发部门存在如下问题:
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
或扫描二维码加入。
相关文章推荐
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- 马士兵教你如何面试(记录原话)
- 剑指offer--面试题28:字符串的排列--Java实现
- 剑指offer--面试题28:字符串的排列--Java实现
- #面试题--找出数组中的唯一值
- 黑马程序员——java的集合类
- 蒋宇捷——程序员的进化 - 在拉勾1024程序员节上的演讲
- 剑指offer面试题7——用两个栈实现队列
- 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
- 冒泡排序——面试会经常被问到
- 何为码农?
- 程序员第一次软件实习需掌握的5大技巧
- 对新手程序员的唠叨
- 黑马程序员——基础知识总结_反射
- 面试题整理:C#(二)
- 新浪面试
- 99 位职业设计师 99 个设计谏言
- 黑马程序员——Java基础——内部类
- 面试题7:用两个栈实现队列
- 面试题21:包含min函数的栈