jjzjj

OneDNS终端网络安全接入服务原理解析

兴趣使然的草帽路飞 2024-06-29 原文

目录

在讲解OneDNS如何发挥网络安全防御效果之前,先了解下什么是DNS

一、互联网中的GPS——DNS

DNS:域名系统(DomainNameSystem)的缩写,因特网的一项核心服务,相当于互联网的GPS。 可以看成一个巨大的通讯录,主机访问域名时,把网址解析为对应IP地址给出终端

我们可以把DNS看做是一个分布式数据库,命名系统采用层次的逻辑结构,如同一颗倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。

DNS域名空间中,树的最大深度不得超过127层,树中每个节点最长可以存储63个字符。,DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。域名空间的每个域的名字,通过域名进行表示。

什么是递归DNS?

我们可以把递归DNS看成一个巨大的通讯录,根据域名查出IP地址,进行网络访问。

为什么要在获取ip地址?

因为计算机并不认识www.aaa.com这样的域名,域名只是人们为了方便阅读和记忆被创造出来的。

如果没有域名,我们每次浏览网页都要输入一串ip地址,这会造成诸多不便。所以递归DNS起到了将域名翻译成IP的作用,使用户完成域名访问。

公网访问互联网解析流程:

DNS安全风险:

DNS是网络威胁流通的主管道,监控、存储、分析DNS数据对企业网络安全建设有着极其重要的意义,然 而几乎所有的企业都允许DNS协议类型数据报文不受限制的传输,DNS覆盖超过91.3%的恶意软件与远控的通信。

  • 针对递归DNS的攻击:Dos&DDos、缓存投毒、服务器劫持、 DNS劫持、DNS欺骗、DNS重绑定…
  • 利用递归DNS的攻击:C&C域名、恶意DGA域名、恶意软件、 钓鱼网址、色情网址、黑产广告网址…

二、OneDNS是什么?

2.1 简介

OneDNS 互联网安全接入服务是北京微步在线科技有限公司提供的具备安全防护能力的 DNS 递归解析服务,该服务可以保护任何一台终端、任何一个办公职场、任何一个家庭均可安全地接 入到互联网,为企业和家庭用户有效防护:恶意软件、勒索病毒、APT 攻击、钓鱼链接、非法站点。并且屏蔽各类广告骚扰和欺诈类网站,净化网络环境,保护数据安全。

2.2 功能概述

阻断软件恶意攻击:

OneDNS可以有效组织恶意软件攻击。

内置的OneDNS WebGuard威胁站点拦截引擎,阻断带有恶意软件、恶意脚本的站点,或者钓鱼站点,防止您中招或用户数据被窃。

机器好像已经中招了该怎么办?阻断已中招的机器与攻击者之间的恶意网络通信,避免机器进一步的数据失窃、系统被破坏,或者被勒索加密等。

为防止DNS解析服务被滥用,OneDNS个人版对来自每个IP地址的解析请求量做了限制,我们保证这一阈值足够家庭及个人用户使用。

减少广告骚扰:

过多的广告骚扰是非常影响我们的浏览体验的,这个困扰OneDNS就可以解决这一问题。

屏蔽广告骚扰,优化页面加载速度,节约流量的同时让上网体验更优。屏蔽获取个人信息用于广告推送的站点,减少个人隐私数据泄漏。

三、基于OneDNS规避网络安全风险

3.1 OneDNS原理解析:在DNS基础上进行改造升级

改造后的,新的网络请求链路如下图所示:


OneDNS拿到请求域名,与云端情报库实时碰撞,安全域名稳定高效解析,返回解析IP给用户进行访问; 检测到恶意域名不做解析,直接拦截,返回拦截页面,实现安全防护。

3.2 OneDNS高性能防御:

OneDNS可以全面防护新型威胁及变种,确保任何一台终端、任何一个办公职场安全地接入到互联网,有效防护恶意软件、勒索病毒、APT攻击、钓鱼链接、非法站 点等多种新型高级威胁,实现检测、拦截、定位、取证闭环。

3.3 核心能力

  • 电脑终端高性能威胁防护:风险网站情报搜集同步至云端,99.9%的情报准确度。全面防护恶意软件、勒索病毒、APT攻击、钓鱼链接、非法站点等。
  • 安全闭环:威胁检测、自动拦截、失陷定位、 进程取证,提升安全运营效率高、 轻松无忧。与杀毒软件及时互补。
  • 远程办公安全防护: 轻松安装上千终端 随时随地、自动接入OneDNS防护 进入办公区自动切换到企业内部网络。

3.4 OneDNS防护实现检测、拦截、定位、取证闭环

  • 检测高级威胁:利用DNS进行网络上的防 护,全面检测各类新型高 级威胁及其变种。
  • 定位恶意进程:定位威胁机器的进程源头, 以及执行的进程链条。
  • 实时拦截阻断:一旦检测到恶意软件运行, 直接阻断恶意软件与远控 端的通信。
  • 定位内网主机:定位到内部失陷终端和员工, 实现进一步的分析、溯源和 清理工作。

OneDNS可以基于自己的Dashboard一览内网威胁情况, 提供多视角、可视化的数据报表 分析,支持自定义生成报告。此外,它还提供了本地态势感知对接API,提供API能力与本地日志平台、 态感平台进行对接,输出 OneDNS全量防护数据。

3.5 SaaS化部署方式和接入流程

  • 部署方式:

方式一:在内部DNS服务器上配 置转发器,将DNS请求 转发到OneDNS;
方式二:在DHCP服务器上配置 DNS地址,将OneDNS 地址下发到每一台终端;
方式三:在具备DNS代理功能的 防火墙或上网行为管理 设备,配置OneDNS作 为目标DNS;
方式四:远程办公的漫游终端 安装OneDNS Agent, 自动配置到OneDNS。

  • 接入流程:
    第一步,首先是验证网络出口,将测试所有出口IP录入OneDNS。第二步设置DNS地址,修改互联网递归DNS地址,指向OneDNS即可实现接入。

3.6 Agent-终端取证定位原理

流程如下图所示:

3.7 OneDNS网络安全防御相比于代理技术或者杀毒软件的优势?

网络代理技术实现网络防护:它不具备恶意软件外联的的检测和防护能力,因为恶意软件通信不一定都走HTTP协议,且对钓鱼、DNS隧道不具备防护能力。

杀毒软件:基于签名的方式对新型威胁、恶意软件的响应速度很慢,容易被攻击者绕过,在对抗中容易被关闭、被禁用,或者自身的机制被恶意软件利用。

所以OneDNS安全防护是对目前现有终端安全防护技术的有效补充

四、下载安装

公益版本接入流程:

下载网络检查工具:

配置企业DNS:


服务接入三步骤结束后,可以继续进行自定义网络拦截策略配置,然后即可使OneDNS发挥效果~

五、个人版配置和使用OneDNS流程

下载完成OneDNS客户端之后,接着开始配置开启OneDNS:

  • 1、在电脑任务栏中右键点击网络图标,选择“打开网络和共享中心
  • 2、在右侧的查看活动网络中,单击当前已连接的网络。(如果你有多个网络连接,请选择当前正在使用的连接)

  • 3、点击属性按钮

  • 4、选择中Internet 协议版本 4 (TCP/IPv4),再单击属性


5、选择“使用下面的 DNS 服务器地址”,首选DNS服务器和备用DNS服务器分别填写117.50.11.1152.80.66.66,点击“确定”


六、测试拦截功能

点击以下链接 http://test.onedns.net(请放心,这只是一个无害的测试页面)。如果看到一个拦截页面,则证明OneDNS已经在你的网络中有效运行。


若显示其他内容,则表明OneDNS配置未生效,建议您进行以下排查:
1、检查DNS配置地址是否填写正确。
2、清除浏览器DNS缓存或打开无痕模式访问测试链接 点击查看如何清除浏览器DNS缓存。
3、清除本机DNS缓存 点击查看如何清除本机DNS缓存。

有关OneDNS终端网络安全接入服务原理解析的更多相关文章

  1. Ruby 解析字符串 - 2

    我有一个字符串input="maybe(thisis|thatwas)some((nice|ugly)(day|night)|(strange(weather|time)))"Ruby中解析该字符串的最佳方法是什么?我的意思是脚本应该能够像这样构建句子:maybethisissomeuglynightmaybethatwassomenicenightmaybethiswassomestrangetime等等,你明白了......我应该一个字符一个字符地读取字符串并构建一个带有堆栈的状态机来存储括号值以供以后计算,还是有更好的方法?也许为此目的准备了一个开箱即用的库?

  2. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  3. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 用逗号、双引号和编码解析 csv - 2

    我正在使用ruby​​1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\

  6. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  7. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  8. ruby-on-rails - s3_direct_upload 在生产服务器中不工作 - 2

    在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo

  9. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  10. ruby-on-rails - 在 Rails 中调试生产服务器 - 2

    您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除

随机推荐