【上网安全基础知识系列帖(八)】域名及域名系统(DNS)常识
信息安全技术频道🔎本帖主要介绍了:
1.什么是域名及域名系统(DNS)?
2.域名的组成规则
3.学习域名知识有什么用处?
4.DNS解析、DNS泄漏
一、什么是域名?域名系统(DNS)?
上网时,我们通常都需要在浏览器软件的地址栏输入类似“www.google.com”(谷歌搜索网站)的网址,其中“google.com”这部分字母组合的网址就称为“域名”。那么域名是干什么用的呢?
前面的教程中我们已经介绍过,在互联网中每一台计算机(包括网络服务器)都要有自己的IP地址,IP地址类似邮政地址,用于指明某台计算机/服务器在计算机网络中的具体位置。IP地址通常是以类似23..(IP隐藏了)这样的数字表示的,这样的数字地址是设计给计算机或者说计算机软件“阅读”的,但对于人类而言,很难记得住某个网站服务器的具体IP地址。全世界互联网有数以千万计的网站,哪怕其中常用网站只有百十个,要记住这些常用网站的IP地址也是非常困难的。为了便于人们记忆、使用、指称某个网站的具体地址,互联网中使用了一种英文字母组合的方法来命名某个网站的计算机或服务器,这种名称就叫做域名(DomainName),比如google.com就是我们熟悉的谷歌搜索引擎的域名。互联网中的这种计算机命名机制被称为“域名系统”(英文简称“DNS”)。
有了域名系统,当我们想访问某个网站时,我们就无需去查找该网站的IP地址,而只需在浏览器地址栏输入该网站的“域名”(如“www.google.com”),然后在键盘上“回车”键确定就可以访问到相应网站了。用域名替代以一串数字表现的IP地址,减轻了人们对网站的记忆难度,也便于人们识别、登录使用不同网站。简而言之,在互联网中我们同时用IP和域名来标识某个网站,IP便于计算机(或其软件)识别,域名便于人类识别。
有些人可能好奇,那么“google.com”前面的“www”代表什么?这里的“www”表示google.com这个网站中提供网页浏览服务的那台计算机。有些大型网站提供多种互联网信息服务,比如FTP、邮件、网页浏览等,不同服务可能是由该网站的不同计算机/服务器提供的。输入某网站域名时,加上www,是为了指明登录该网站提供网页浏览服务的计算机/服务器。但对于我们使用浏览器浏览网页的普通用户而言,您在浏览器地址栏输入网址时,也可以省略掉“www”,比如只输入“google.com”,浏览器通常也会自动识别并登录该网站的网页浏览服务。
二、域名的组成
域名的组成也是遵循一定规范的。首先,域名由多个部分组成,每个部分用圆点分隔。其次,域名只能由英文字母、数字和“-”符号这三种字符中的某一种或几种组成,不能使用诸如“*”、“+”等其他符号,使用英文字母时不区分大小写。
以谷歌网站的域名为例:google.com,google是这个网站的域名主体,您也可以把它理解为您要访问的这个IP地址的计算机的“英文名”,它是完全由英文字母组成的;而com是英文单词“商业”的缩写,是顶层域名,表示这个网站是商业性质组织的网站。
现在我们可能清楚了,域名中最左边的部分通常是要访问的计算机的名称,最右边则是粗略描述该网站性质分类的顶层域名。目前用于顶层的域名主要有下表所示的这些,下面另一个表格列出了部分国家和地区的域名代码。
当某个新网站希望申请一个域名时,可以向相应的域名主管部门提出申请注册。比如如果需要注册com、org这样的顶级域名,就要向美国的顶级域名管理机构提出申请。如果需要注册cn这样的中国域名,就需要向中国的域名管理机构提出申请。
在申请域名时,申请者首先决定自己希望使用哪种顶级域名(但象gov、edu这样的顶级域名只有相应的政府机构、教育机构才能申请,其他人不能申请)。其次,申请者需要选定域名的主体部分,比如google或者tiandixing,但这个名称不能与同一顶层域名下的其他网站重名,比如如果我们要命名我们的论坛为tiandixing,并选择在org这一顶级域名下使用,我们申请前就必须查询一下,确认在org这个类别中现有的网站没有已经使用“tiandixing”这个名称的,否则就无法注册该域名。只能换一个域名主体名称,或试着看其他顶级域名类别(如net等)“tiandixing”这个名称是否尚未被占用。
总之,整个互联网的域名系统在逻辑上是一个树状的层次结构,
特别需要强调的,要使用某个国家的国家域名(如×××.uk或×××.cn),都需在向该国的域名管理组织申请注册。比如:www.sina.com.cn这个新浪的国内门户网站域名,就需要向中国国内的域名管理机构申请注册。
三、学习域名知识有什么用处?
学习域名的知识有两个好处,一是便于我们记忆域名;二是便于我们快速识别某网站的所属国家或网站性质。
比如,以后您看见凡是以“com”为名称结尾的网站,应该都是商业网站;凡是以“.gov.uk”为名称结尾网站,您应该意识到这是英国的政府网站。依此类推,凡是“.gov.cn”为名称结尾的网站,都是中国的政府网站。
再比如,当您上网时看见以“.cn”为结尾的网站,您应该有这个意识,这是一个在国内注册,受中共邪恶监控、控制的网站。当然,这并不是说其他网站就肯定不在中共邪恶的监控、控制之下,因为中国公司也可以注册顶级域名。比如“baidu.com”是百度搜索的域名,这个域名显然使用的是“com”这个顶级域名,这个域名需要向美国的域名管理组织申请,但这个域名背后的百度公司显然是被中共邪恶高度监控、控制的。当然,凡是使用“cn”作为域名结尾的网站无一例外都是被中共监控、控制的。
应当注意,类似cn.bing.com或者******.com/cn/***这样的网址,不属上面所说的“.cn”作为域名名称结尾的情况。
cn.bing.com中的cn是在域名“bing.com”之前(而非在域名的末尾),这是指“bing.com”这个网站中负责中文网页内容的那台计算机或服务器。
而“******.com/cn/***”这样的网址中,cn虽然位于“.com”之后,但cn与com之间是用“/”符隔开的,而不是“.”隔开的。我们前面在“域名的组成”中说过域名组成的规则,域名组成部分之间是用“.”隔开的,且域名中唯一可以使用的符号是“-”。一个网址中,凡是用“-”以外的其他符号隔开的(如“/”隔开的),被隔开的后面部分一定不是域名的组成部分。因此,“******.com/cn/***”的真正域名应该是“******.com”,而第一个“/”符号后面的“cn”,表示这个网站中一个名叫“cn”内容目录,一般提供多语言或多国别服务的国际网站会出现这样的网址,大家要注意不要误解这个“/”符号后的cn是域名的一部分,从而误认这个网站是国内网站。
【提示】注意假域名的风险
上网时,学会识别域名及其组成对于防范假网站、恶意网站有好处。
比如,我们如果用百度搜索下载火狐浏览器的官网,百度会直接给出一个网址为“www.firefox.com.cn”的“官网”。如果您还记得上面我们说过的内容,您应该第一时间意识到,火狐官网怎么会是一个以“.cn”为结尾的域名?这意味着火狐官网是在中国的域名管理机构管理下的网站,其必然受中共邪恶的监控和控制。然而火狐是一家叫“Mozilla”国际组织啊,它怎么会使用“.cn”的网站作为官网呢?答案是这是一个中共邪恶控制下的国内公司所开设的假火狐官网,其提供的火狐浏览器也是所谓为中国国内用户定制的浏览器。大家都知道,这类所谓“为国内用户定制”的国际产品往往都是为方便中共邪恶控制民众而设计的。而真正的火狐官网应当是www.mozilla.org。下载官方版本的火狐应当使用网址https://www.mozilla.org/en-US/firefox/all/。
有一些网络攻击是借助相似域名的假网站来实施的。攻击者会注册一个与真网站有着近似拼写的假网站,通过邮件/手机/二维码连接等方式诱骗我们登录这个假网站,如果不认真识别这个假网站域名,很可能会上当受骗。攻击者模仿真网站域名的手法有:
1)近似的拼写:比如tiandlxing.org,或者tlandixing.org等。
2)用不同的顶级域名:比如tiandixing.com,或者tiandixing.org.cn。
3)使用“-”符号:比如tiandixing-org.cn,或者www-tiandixing.org。
上面这些都是可能出现的假网站名称方式。我们人如果不熟悉域名的组成知识,就很容易上当受骗,遭受网络安全风险。
四、电脑是如何把域名转换为具体IP地址?(即DNS解析)
前面我们说过了,我们浏览一个网站时,在浏览器中输入的通常都是类似www.google.com这样的网址,但计算机都是识别类似23..(IP隐藏了)这样的数字IP。那么,电脑是如何把域名转换为该网站对应的IP地址的呢?学习这方面知识对于我们以后理解一些有关DNS(域名系统)的安全问题很重要。下面我们就来说说。
当我们在浏览器地址栏键入www.google.com网站域名并使用“回车”键确定后(点击浏览器中已保存的书签也是同样效果),电脑就得到访问这个域名的指令。电脑首先会去连接互联网上一个名叫“DNS服务器”的服务器,要求DNS服务器把上面这个域名翻译成该域名所对应的“IP地址”,DNS服务器就是专为翻译域名这个工作任务而设置的,它会向我们的电脑反馈翻译的结果,我们的电脑得到DNS服务器反馈的IP地址后就会使用这个便于机器阅读的IP地址去连接互联网上拥有该IP地址的主机。上面这个将域名翻译为对应网站的IP地址的过程,术语叫“域名解析或DNS解析”,而负责做这个翻译工作的服务器,就是DNS服务器。打一个比方,DNS服务器就好像各国的电话查号台,我们记不清楚某单位的电话号码时,就可以告诉查号台:我想找某某单位的电话号码,查号台就能帮您查到该单位的具体电话号码是什么,然后反馈给您。DNS服务器所干的工作就跟电话查号台一样,无非DNS服务器不是人工服务,而是电脑自动工作,DNS服务器反馈回来的是IP地址,而不是电话号码。
需要说明的是,世界各国有很多商业公司、非营利组织都建有DNS服务器,提供DNS服务,在中国大陆也是如此。在电脑中,电脑默认的设置是使用我们的ISP(比如联通、电信)所提供的DNS服务器,比如中国电信的用户,除非您特别更改默认DNS设置,您所使用的DNS服务器就是中国电信设置的DNS服务器。
五、DNS泄露
我们需要注意:如果我们访问敏感网站,就必须避免让国内的DNS服务器来解析我们要访问敏感网站。比如我们要访问“明慧网”,在浏览器地址栏键入“www.minghui.org”这个网址然后确定,电脑首先就会向网络上的DNS服务器请求解析该网址为具体IP地址,此时如果这个DNS服务器是国内的服务器,显然就会暴露我们访问明慧网的这个意图。这就好象我们打电话给国内114电话查号台,查询“美国明慧网”的电话号码是什么一样,是会直接暴露我们的人身份的。技术上称这种使用国内DNS服务器解析国外敏感网站域名的现象为DNS泄露。
发生这种DNS泄露后,国内“114查号台”会有两种反应,一是向恶警报警,二是故意给我们错的电话号码,这样我们既可能打不通电话,也可能暴露身份。因此,我们在试图访问国外敏感网站时,还需要注意防范DNS泄露的风险。
六、如何防范DNS泄露的风险?
要防范DNS泄露的风险,一般的方法是更改破网电脑的DNS为国外可靠的DNS服务器(更改方法如上图所示)。之所以强调必须是“可靠”的,是因为一旦使用的是恶意的DNS服务器或不负责任的DNS服务器,您请求访问甲网站时,它可能故意给您反馈乙网站的IP,导致您登录一个假网站或者恶意网站。所以必须查证这个DNS服务器是由可靠的组织或机构管理的才能使用。目前,最可靠的国外DNS服务器是谷歌公司的DNS服务器(IP:8..(IP隐藏了))。但遗憾的是该DNS服务已被中共邪恶长城防火墙所干扰、阻断,无法在国内正常使用。
通常来说,当我们使用破网软件时,破网软件能帮助我们防止DNS泄露,但有些破网软件则无此功能,会导致我们的DNS泄露。因此使用破网软件破网时,应当事先登录一些测试IP泄露的测试网站(具体网站名称可以破网后google搜索),测试一下您目前使用的这款破网软件是否存在泄露DNS的情况。
使用火狐浏览器的人,可以强制设定火狐浏览器“远程DNS”,也就是说在破网时使用破网软件出口端的DNS服务器进行DNS解析,这可以帮助我们防范在使用火狐浏览器时的DNS泄露。设定方法是:打开火狐浏览器,“工具”--“选项”--“高级”---“网络”,选第一项“连接”后面的“设置…”,在打开的页面中勾选“远程DNS”前面的方框,点击“确定”退出。
应当注意的是,做完上面的“远程DNS”设置,仅对您电脑上的火狐浏览器有效,对您电脑上的IE浏览器、chrome浏览器等其他浏览器无效。此外,DNS泄露还可能出现在电脑中已安装java、flash插件的情形下。这是因为java、flash插件本质上是一个独立运行的软件,其有自己的网络连接功能,而我们针对浏览器的DNS防泄露设置,通常对其无效。所以个人建议在破网电脑中不要安装使用java、flash插件。
此外,我们人还要注意避免在无意中触发敏感的DNS解析。比如说,我们破网时保存下来的一个敏感网站的网页,由于该网页上可能存在一些连接,当我们打开这个另存的网页时,计算机会误以为我们需要同时连接这个网页上的那些连接,这是电脑就会主动发起DNS查询。如果此时我们没有使用破网软件,DNS查询时询问的服务器很可能就是国内DNS服务器,从而造成DNS泄露。防范这个风险的方法:
1)凡是我们想打开这类保存下来的敏感网站的网页时,事先拔掉我们的网线。
2)使用截图替代保存网页的方法,因为截图只是截取网页表面展现,不会识别、关联网页上面的网址,所以以后打开截图时,不会触发截图中的任何链接。
3)使用防直连host文件。