当前位置: 首页 > news >正文

Teamviewer原理和阻止方法

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

TeamViewer 是一个非常简单、好用的远程工具。是一个在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案。为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可而不需要进行一个安装的过程。该软件第一次启动在两台计算机上自动生成伙伴 ID。只需要输入你的伙伴的 ID 到 TeamViewer,然后就会立即建立起连接。

TeamViewer的原理其实很简单,假设A B两个站点要远程,B要登录到A,那么首先在A上的TeamViewer软件要先运行,根据自身主机情况生成一个唯一ID,然后向官方网站登录。官网根据这个ID记录A站点的信息,然后站点B上的TeamViewer软件运行,输入A站点的ID号,然后也向官网登录,官网根据这个ID与A站点匹配,于是就建立起一个B到A的直接通道。这样,A站点对于B站点来说就是可见的了。

当然,作为企业信息网维护人员来说,Teamviewer虽然是一个好东西,但是也存在一定的安全隐患,很多木马其实就是远程操控个人PC,修改或窃取私人数据等。就这一点来说,除了隐蔽性之外,木马和Teamviewer没有什么区别;另外,既然要建立VPN通道是通过第三方(Teamviewer官网),这就必须完全信任这个官网才行,如果有人恶意攻击官网,也就可以获取到与之通信的企业内部PC的信息,并且可以利用这些信息来进行攻击。所以,对于成熟的企业来说,还是有必要对这类的小工具进行阻止。

方法很简单,因为Teamviewer登录时要和服务器(官网)通信,所以只要在出口处(代理或防火墙)将这个官网网址禁掉就可以了,TeamViewer登录的网址是master.dyngate.com,只要把这个网址禁掉,Teamviewer就不能用了。
---------------------------------------------

 

问题描述:
FAQ-外网到内网安全策略禁止后,teamviewer为何仍然能够建立连接
解决方案:
teamviewer软件连接过程: 运行 TeamViewer 之后,电脑会先连接到TV的服务器,然后服务器对这台电脑根据MAC分配一个唯一的ID。
当一个 TeamViewer 连接另一个的时候,会先连接到服务器,通过ID与电脑的对应关系找到这台要连接的电脑
1、如果连接的其中任一方是有公网IP的网络环境,由内网IP方向公网IP方发起P2P连接此时会话发起方向为trust到untrust
2、双方是内网的情况, TeamViewer数据就会通过 TeamViewer 自己的服务器进行中转此时会话发起方向也为trust到untrust

仅禁止外网到内网的安全策略,是禁止不了teamviewer的 ,teamviewer可以使用80、443、5938这三个端口中的任何一个与中转服务器建立连接,需配置应用过滤,禁止trust到untrust方向teamviewer程序。

------------------------------------------------------

转贴之后试了下,发现禁用master.dyngate.com无法阻止登录,再继续禁用teamviewer.com后可以。

转载于:https://my.oschina.net/renyuansoft/blog/1616902

相关文章:

  • 【BIEE】11_根据显示指标展示不同报表
  • 流程(上)
  • 好领导:提升领导威信力的110个管理奥秘
  • 我的重构第二步
  • 部署eolinker开源版接口管理
  • 基于django的生成二维码的接口
  • 09-移动端开发教程-Sass入门
  • while循环按行读文件的方式总结
  • ElasticSearch「1」本地安裝Elasticsearch 6.0.1 + Elasticsearch-head插件
  • 2018/02/09
  • PhysicsBasedAnimation学习
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • Mybatis分页插件PageHelper简单使用
  • 企业IM-2技术选型
  • 干货分享微服务spring-cloud(1.初探)
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • django开发-定时任务的使用
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Vim Clutch | 面向脚踏板编程……
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • vue数据传递--我有特殊的实现技巧
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 高性能JavaScript阅读简记(三)
  • 解决iview多表头动态更改列元素发生的错误
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 我有几个粽子,和一个故事
  • 阿里云ACE认证之理解CDN技术
  • # 达梦数据库知识点
  • #14vue3生成表单并跳转到外部地址的方式
  • $().each和$.each的区别
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (rabbitmq的高级特性)消息可靠性
  • (搬运以学习)flask 上下文的实现
  • (动态规划)5. 最长回文子串 java解决
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (论文阅读30/100)Convolutional Pose Machines
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)VirtualBox安装增强功能
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .Net Web项目创建比较不错的参考文章
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET开发不可不知、不可不用的辅助类(一)
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • @property括号内属性讲解
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [android学习笔记]学习jni编程
  • [ARM]ldr 和 adr 伪指令的区别
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [CSS] - 修正IE6不支持position:fixed的bug
  • [Java] 什么是IoC?什么是DI?它们的区别是什么?
  • [Nuget]使用Nuget管理工具包
  • [Oh My C++ Diary]函数重载