解析域名的奥秘:购买后的配置与管理技巧
一、引言
在互联网时代,域名作为企业在网络世界中的标识,其重要性不言而喻。
购买域名只是第一步,如何合理配置和管理域名,使其发挥最大效用,则是每个企业和个人需要掌握的关键技能。
本文将深入解析域名的奥秘,并分享购买后的配置与管理技巧,帮助读者更好地利用域名。
二、域名的基本概念
域名是互联网上的地址,用于找到特定的网站或服务。
它由一系列符号和字母组成,通常以“.com”、“.cn”等后缀结尾。
域名具有唯一性,一旦注册成功,其他人和组织就不能注册相同的域名。
域名购买后需要进行解析,即将域名指向特定的服务器或网站,用户才能通过域名访问该网站或服务。
三、域名的购买流程
购买域名的步骤通常包括选择域名注册服务商、进行域名查询、选择域名、提交支付信息等。
在选择域名注册服务商时,需要注意其信誉度、服务质量和价格等因素。
一旦购买成功,服务商会提供域名管理后台,方便用户对域名进行管理。
四、域名的配置技巧
1. DNS设置:购买域名后,需要进行DNS设置,即将域名与服务器关联起来。用户需要在域名管理后台进行相应设置,将域名解析到指定的服务器IP地址。DNS设置是域名解析的关键步骤,直接影响用户能否通过域名访问网站。
2. 域名解析:域名解析是将域名转换为IP地址的过程。用户需要在域名管理后台添加解析记录,指定域名与服务器IP的对应关系。在添加解析记录时,需要注意记录类型(如A记录、MX记录等)和IP地址的准确性。
3. 子域名设置:除了主域名外,还可以设置子域名,如www.example.com的子域名blog.example.com。子域名的设置可以在域名管理后台完成,通过添加CNAME或别名记录来实现。子域名常用于搭建不同的网站或服务,如博客、论坛等。
五、域名的管理注意事项
1. 信息安全:管理域名时需要注意信息安全问题,避免账号和密码泄露。建议定期修改密码,并使用安全强度较高的密码组合。
2. 续费提醒:域名需要定期续费,否则到期后会被注销。建议设置提醒功能,确保在到期前及时续费。
3. 监控与备份:定期对域名解析情况进行监控,确保域名解析正常。同时,备份域名管理后台的相关信息,以防万一。
4. 法律法规遵守:在管理域名时,需要遵守相关法律法规和政策规定,不得使用非法或不道德的域名名称。
六、域名的优化策略
1. 关键词优化:在域名中融入关键词有助于提高网站在搜索引擎中的排名。选择关键词时需要考虑网站内容、目标受众和竞争情况等因素。
2. 多渠道推广:通过社交媒体、广告、博客等多种渠道推广域名,提高域名的知名度和访问量。
3. 提高用户体验:优化网站的加载速度、界面设计和用户体验等方面,提高用户对域名的满意度和忠诚度。
七、总结
本文详细解析了域名的奥秘以及购买后的配置与管理技巧。
掌握这些技巧对于企业和个人在互联网上建立自己的品牌和服务至关重要。
通过合理配置和管理域名,可以提高网站的访问量、提高用户体验和忠诚度等方面取得优势。
希望本文能对读者在域名配置和管理方面提供帮助和启示。
5分钟教你搞懂 DNS
DNS也叫网域名称系统,是互联网的一项服务。 它实质上是一个域名和IP相互映射的分布式数据库,有了它,我们就可以通过域名更方便的访问互联网。
DNS特点有分布式的,协议支持TCP和UDP,常用端口是53,每一级域名的长度限制是63,域名总长度限制是253。
最早的时候,DNS的UDP报文上限大小是512字节,所以当某个response大小超过512(返回信息太多),DNS服务就会使用TCP协议来传输。 后来DNS协议扩展了自己的UDP协议,DNS client发出查询请求时,可以指定自己能接收超过512字节的UDP包,这种情况下,DNS还是会使用UDP协议。
分层的数据库结构:
DNS的结构跟Linux文件系统很相似,像一棵倒立的树。 下面用站长之家的域名举例:最上面的.是根域名,接着是顶级域名,再下来是站长之家域名chinaz依次类推。 使用域名时,从下而上。 就是一个完整的域名,也是。
之所以设计这样复杂的树形结构,是为了防止名称冲突。 这样一棵树结构,当然可以存储在一台机器上,但现实世界中完整的域名非常多,并且每天都在新增、删除大量的域名,存在一台机器上,对单机器的存储性能就是不小的挑战。
另外,集中管理还有一个缺点就是管理不够灵活。 可以想象一下,每次新增、删除域名都需要向中央数据库申请是多么麻烦。 所以现实中的DNS都是分布式存储的。
根域名服务器只管理顶级域,同时把每个顶级域的管理委派给各个顶级域,所以当你想要申请下的二级域名时,找域名注册中心就好了。 二级域名,再向下的域名就归你管理了。
当你管理http://chinaz的子域名时,你可以搭建自己的nameserver,在注册中心把//chinaz的管理权委派给自己搭建的nameserver。自建nameserver和不自建的结构图如下:
一般情况下,能不自建就不要自建,因为维护一个高可用的DNS也并非容易。据我所知,有两种情况需要搭建自己的nameserver:
搭建对内的DNS。 公司内部机器众多,通过ip相互访问太过凌乱,这时可以搭建对内的nameserver,允许内部服务器通过域名互通。 公司对域名厂商提供的nameserver性能不满意。
虽然顶级域名注册商都有自己的nameserver,但注册商提供的nameserver并不专业,在性能和稳定性上无法满足企业需求,这时就需要企业搭建自己的高性能nameserver,比如增加智能解析功能,让不同地域的用户访问最近的IP,以此来提高服务质量。
概括一下DNS的分布式管理,当把一个域委派给一个nameserver后,这个域下的管理权都交由此nameserver处理。 这种设计一方面解决了存储压力,另一方面提高了域名管理的灵活性。
顶级域名像这样的顶级域名,由ICANN严格控制,是不允许随便创建的。 顶级域名分两类:通用顶级域名,国家顶级域名。
通用顶级域名常见的如、、等,国家顶级域名如我国的,美国的。 一般公司申请公网域名时,如果是跨国产品,应该选择通用顶级域名。
如果没有跨国业务,看自己喜好(可以对比各家顶级域的服务、稳定性等再做选择)。 这里说一下几个比较热的顶级域,完整的顶级域参见维基百科。
meme顶级域其实是国家域名,是黑山共和国的国家域名,只不过它对个人开发申请,所以很多个人博主就用它作为自己的博客域名。
io很多开源项目常用io做顶级域名,它也是国家域名。 因为io与计算机中的input/output缩写相同,和计算机的二机制10也很像,给人一种geek的感觉。 相较于.域名,下的资源很多,更多选择。
DNS解析流程:
聊完了DNS的基本概念,我们再来聊一聊DNS的解析流程。 当我们通过浏览器或者应用程序访问互联网时,都会先执行一遍DNS解析流程。
标准glibc提供了.2动态库,我们的应用程序就是用它进行域名解析(也叫resolving)的,它还提供了一个配置文件/etc/来控制resolving行为,配置文件中最关键的是这行:
hosts:files dns myhostname。
它决定了resolving的顺序,默认是先查找hosts文件,如果没有匹配到,再进行DNS解析。默认的解析流程如下图:
上图主要描述了client端的解析流程,我们可以看到最主要的是第四步请求本地DNS服务器去执行resolving,它会根据本地DNS服务器配置,发送解析请求到递归解析服务器(稍后介绍什么是递归解析服务器),本地DNS服务器在/etc/中配置。下面我们再来看看服务端的resolving流程:
我们分析一下解析流程:
客户端向本地DNS服务器(递归解析服务器)发出解析//域名的请求,本地dns服务器查看缓存,是否有缓存过//域名,如果有直接返回给客户端;如果没有执行下一步。
本地dns服务器向根域名服务器发送请求,查询顶级域的nameserver地址,拿到域名的IP后,再向 nameserver发送请求,获取chinaz域名的nameserver地址。
继续请求chinaz的nameserver,获取tool域名的地址,最终得到了//的IP,本地dns服务器把这个结果缓存起来,以供下次查询快速返回。
本地dns服务器把把结果返回给客户端,递归解析服务器vs权威域名服务器,我们在解析流程中发现两类DNS服务器,客户端直接访问的是递归解析服务器,它在整个解析过程中也最忙。 它的查询步骤是递归的,从根域名服务器开始,一直询问到目标域名。
递归解析服务器通过请求一级一级的权威域名服务器,获得下一目标的地址,直到找到目标域名的权威域名服务器,简单来说:递归解析服务器是负责解析域名的,权威域名服务器,是负责存储域名记录的。
递归解析服务器一般由ISP提供,除此之外也有一些比较出名的公共递归解析服务器,如谷歌的8.8.8.8,联通的114,BAT也都有推出公共递归解析服务器,但性能最好的应该还是你的ISP提供的,只是可能会有DNS劫持的问题。
缓存,由于整个解析过程非常复杂,所以DNS通过缓存技术来实现服务的鲁棒性。 当递归nameserver解析过//域名后,再次收到//查询时,它不会再走一遍递归解析流程,而是把上一次解析结果的缓存直接返回。
并且它是分级缓存的,也就是说,当下次收到的是//的查询时,由于这台递归解析服务器已经知道//chinaz的权威nameserver,所以它只需要再向//chinaz nameserver发送一个查询www的请求就可以了。
根域名服务器的地址是固定的,目前全球有13个根域名解析服务器,这13条记录持久化在递归解析服务器中:
为什么只有13个根域名服务器呢,不是应该越多越好来做负载均衡吗?之前说过DNS协议使用了UDP查询,由于UDP查询中能保证性能的最大长度是512字节,要让所有根域名服务器数据能包含在512字节的UDP包中,根服务器只能限制在13个,而且每个服务器要使用字母表中单字母名。
智能解析,就是当一个域名对应多个IP时,当你查询这个域名的IP,会返回离你最近的IP。 由于国内不同运营商之间的带宽很低,所以电信用户访问联通的IP就是一个灾难,而智能DNS解析就能解决这个问题。
智能解析依赖EDNS协议,这是google起草的DNS扩展协议,修改比较简单,就是在DNS包里面添加origin client IP,这样nameserver就能根据client IP返回距离client比较近的server IP了。
国内最新支持EDNS的就是DNSPod了,DNSPod是国内比较流行的域名解析厂商,很多公司会把域名利用DNSPod加速。
一般我们要注册域名,都要需要找域名注册商,比如说我想注册//hello,那么我需要找域名注册商注册hello域名。 的域名注册商不止一家,这些域名注册商也是从ICANN拿到的注册权,参见如何申请成为.域名注册商。
域名注册商都会自建权威域名解析服务器,比如你在狗爹上申请一个.下的二级域名,你并不需要搭建nameserver,直接在godaddy控制中心里管理你的域名指向就可以了,原因就是你新域名的权威域名服务器默认由域名注册商提供。
当然你也可以更换,比如从godaddy申请的境外域名,把权威域名服务器改成DNSPod,一方面加快国内解析速度,另一方面还能享受DNSPod提供的智能解析功能。
用bind搭建域名解析服务器,由于网上介绍bind搭建的文章实在太多了,我就不再赘述了,喜欢动手的朋友可以网上搜一搜搭建教程,一步步搭建一个本地的nameserver玩一玩。 这里主要介绍一下bind的配置文件吧。
bind的配置文件分两部分,bind配置文件和zone配置文件,bind配置文件位于/etc/,它主要负责bind功能配置,如zone路径、日志、安全、主从等配置其中最主要的是添加zone的配置以及指定zone配置文件。
开启递归解析功能,这个如果是no,那么此bind服务只能做权威解析服务,当你的bind服务对外时,打开它会有安全风险,如何防御不当,会让你的nameserver被hacker用来做肉鸡zone的配置文件在bind配置文件中指定,下图是一份简单的zone配置:
zone的配置是nameserver的核心配置,它指定了DNS资源记录,如SOA、A、CNAME、AAAA等记录,各种记录的概念网上资料太多,我这里就不重复了。 其中主要讲一下SOA和CNAME的作用。
SOA记录表示此域名的权威解析服务器地址。 上文讲了权威解析服务器和递归解析服务器的差别,当所有递归解析服务器中有没你域名解析的缓存时,它们就会回源来请求此域名的SOA记录,也叫权威解析记录。
CNAME的概念很像别名,它的处理逻辑也如此。 一个server执行resloving时,发现name是一个CNAME,它会转而查询这个CNAME的A记录。 一般来说,能使用CNAME的地方都可以用A记录代替,它是让多个域名指向同一个IP的一种快捷手段。
这样当最低层的CNAME对应的IP换了之后,上层的CNAME不用做任何改动。 就像我们代码中的硬编码,我们总会去掉这些硬编码,用一个变量来表示,这样当这个变量变化时,我们只需要修改一处。
配置完之后可以用named-checkconf和named-checkzone。 两个命令来check我们的配置文件有没有问题,之后就可以启动bind服务了:$>service named start,Redirecting to/bin/systemctl restart 。
我们用netstat-ntlp,来检查一下服务是否启动,53端口已启动,那么我们测试一下效果,用dig解析一下域名,使用127.0.0.1作为递归解析服务器。
我们看到dig的结果跟我们配置文件中配置的一样是1.2.3.4,DNS完成了它的使命,根据域名获取到IP。 用DNS实现负载均衡,一个域名添加多条A记录,解析时使用轮询的方式返回随机一条,流量将会均匀分类到多个A记录。 www IN A1.2.3.4,www IN A1.2.3.5。
其实每次DNS解析请求时,nameserver都会返回全部IP,如上面配置,它会把1.2.3.4和1.2.3.5都返回给client端。 那么它是怎么实现RR的呢?nameserver只是每次返回的IP排序不同,客户端会把response里的第一个IP用来发请求。 DNS负载均衡vs LVS专业负载均衡。
和LVS这种专业负载均衡工具相比,在DNS层做负载均衡有以下特点:实现非常简单,默认只能通过RR方式调度,DNS对后端服务不具备健康检查。
DNS故障恢复时间比较长(DNS服务之间有缓存),可负载的rs数量有限(受DNS response包大小限制),真实场景中,还需要根据需求选择相应的负载均衡策略子域授权。
我们从.域下申请一个二级域名http://hello.后,发展到某一天我们的公司扩大了,需要拆分两个事业部A和B,并且公司给他们都分配了三级.和.,域名结构如下图:
再发展一段时间,A部门和B部门内部业务太多,需要频繁的为新产品申请域名,这个时候他们就想搭建自己的namserver,并且需要上一级把相应的域名管理权交给自己,他们期望的结构如下:
注意第一阶段和第二阶段的区别:第一阶段,A部门想申请//下的子域名,需要向上级申请,整个//域的管理都在总公司;第二阶段,A部门先自己搭建nameserver,然后总公司把http://域管理权转交给自建的nameserver。
A部门自建nameserver,并且在zone配置文件中指定//的权威解析服务器为自己的nameserver地址,总公司在nameserver上增加一条NS记录,把//域授权给A部门的nameserver。
我们在用bind搭建域名解析服务器里讲过,只要在zone配置文件里指定SOA记录就好:@IN SOA . ..(……)。
在http://hello.域的nameserver上添加一条NS记录. IN NS . IN A (自建nameserver的IP)。
这样当解析http://.域名时,//hello. nameserver发现配置中有NS记录,就会继续递归向下解析,DNS调试工具,OPS常用的DNS调试工具有:host,nslookup,dig。
这三个命令都属于bind-utils包,也就是bind工具集,它们的使用复杂度、功能依次递增。 关于它们的使用,man手册和网上有太多教程。 DNS放大攻击属于DoS攻击的一种,是通过大量流量占满目标机带宽,使得目标机对正常用户的请求拒绝连接从而挂掉。
思路正常的流量攻击,hack机向目标机建立大量request-response,但这样存在的问题是需要大量的hack机器。 因为服务器一般的带宽远大于家用网络,如果我们自己的家用机用来做hack机器,还没等目标机的带宽占满,我们的带宽早超载了。
原理DNS递归解析的流程比较特殊,我们可以通过几个字节的query请求,换来几百甚至几千字节的resolving应答(流量放大),并且大部分服务器不会对DNS服务器做防御。
那么hacker们只要可以伪装DNS query包的source IP,从而让DNS服务器发送大量的response到目标机,就可以实现DoS攻击。
但一般常用的DNS服务器都会对攻击请求做过滤,所以找DNS服务器漏洞也是一个问题。 详细的放大攻击方法自行google。
linux高手,请教一个问题啊!!救命,搞了一天了
你给打印出来,再看!在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作,但是这些配置文件大都可以通过配置命令linuxconf(其中网络部分的配置可以通过netconf命令来实现)命令来实现。 下面介绍基本的TCP/IP网络配置文件。 */etc/文件 该配置文件定义了各种需要在启动时加载的模块的参数信息。 这里主要着重讨论关于网卡的配置。 在使用Linux做网关的情况下,Linux服务器至少需要配置两块网卡。 为了减少启动时可能出现的问题,Linux内核不会自动检测多个网卡。 对于没有将网卡的驱动编译到内核而是作为模块动态载入的系统若需要安装多块网卡,应该在“”文件中进行相应的配置。 若设备驱动被编译为模块(内核的模块):对于PCI设备,模块将自动检测到所有已经安装到系统上的设备;对于ISA卡,则需要向模块提供IO地址,以使模块知道在何处寻找该卡,这些信息在“/etc/”中提供。 例如,我们有两块ISA总线的3c509卡,一个IO地址是0x300,另一个是0x320。 编辑“”文件如下: aliaseth03c509 aliaseth13c509 options3c509io=0x300,0x320 这是说明3c509的驱动程序应当分别以eth0或eth1的名称被加载(aliaseth0,eth1),并且它们应该以参数io=0x300,0x320被装载,来通知驱动程序到哪里去寻找网卡,其中0x是不可缺少的。 对于PCI卡,仅仅需要alias命令来使ethN和适当的驱动模块名关联,PCI卡的IO地址将会被自动的检测到。 对于PCI卡,编辑“”文件如下: aliaseth03c905 aliaseth13c905 若驱动已经被编译进了内核:系统启动时的PCI检测程序将会自动找到所有相关的网卡。 ISA卡一般也能够被自动检测到,但是在某些情况下,ISA卡仍然需要做下面的配置工作: 在“/etc/”中增加配置信息,其方法是通过LILO程序将启动参数信息传递给内核。 对于ISA卡,编辑“”文件,增加如下内容: append=ether=0,0,eth0ether=0,0,eth1 注:先不要在“”中加入启动参数,测试一下你的ISA卡,若失败再使用启动参数。 如果用传递启动参数的方法,eth0和eth1将按照启动时被发现的顺序来设置。 */etc/HOSTNAME文件 该文件包含了系统的主机名称,包括完全的域名,如。 */etc/sysconfig/network-scripts/ifcfg-ethN文件 在RedHat中,系统网络设备的配置文件保存在“/etc/sysconfig/network-scripts”目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。 下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例: DEVICE=eth0 IPADDR=208.164.186.1 NETMASK=255.255.255.0 NETWORK=208.164.186.0 BROADCAST=208.164.186.255 ONBOOT=yes BOOTPROTO=none USERCTL=no 若希望手工修改网络地址或在新的接口上增加新的网络界面,可以通过修改对应的文件(ifcfg-ethN)或创建新的文件来实现。 DEVICE=name name表示物理设备的名字 IPADDR=addr addr表示赋给该卡的IP地址 NETMASK=mask mask表示网络掩码 NETWORK=addr addr表示网络地址 BROADCAST=addr addr表示广播地址 ONBOOT=yes/no 启动时是否激活该卡 none:无须启动协议 bootp:使用bootp协议 dhcp:使用dhcp协议 USERCTL=yes/no 是否允许非root用户控制该设*/etc/文 该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件,示例如下: nameserver208.164.186.1 nameserver208.164.186.2 “”表示当提供了一个不包括完全域名的主机名时,在该主机名后添加的后缀;“nameserver”表示解析域名时使用该地址指定的主机为域名服务器。 其中域名服务器是按照文件中出现的顺序来查询的。 */etc/文件 该文件指定如何解析主机名。 Linux通过解析器库来获得主机名对应的IP地址。 下面是一个“/etc/”的示例: orderbind,hosts multion ospoofon “orderbind,hosts”指定主机名查询顺序,这里规定先使用DNS来解析域名,然后再查询“/etc/hosts”文件(也可以相反)。 “multion”指定是否“/etc/hosts”文件中指定的主机可以有多个地址,拥有多个IP地址的主机一般称为多穴主机。 “nospoofon”指不允许对该服务器进行IP地址欺骗。 IP欺骗是一种攻击系统安全的手段,通过把IP地址伪装成别的计算机,来取得其它计算机的信任。 */etc/sysconfig/network文件 该文件用来指定服务器上的网络配置信息,下面是一个示例: NETWORK=yes RORWARD_IPV4=yes HOSTNAME= GAREWAY=0.0.0.0 GATEWAYDEV= NETWORK=yes/no 网络是否被配置; FORWARD_IPV4=yes/no 是否开启IP转发功能 HOSTNAME=hostnamehostname表示服务器的主机名 GAREWAY=gw-ip gw-ip表示网络网关的IP地址 GAREWAYDEV=gw-dev gw-dw表示网关的设备名,如:etho等 注意:为了和老的软件相兼容,“/etc/HOSTNAME”文件应该用和HOSTNAME=hostname相同的主机名。 *etc/hosts文件 当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。 这些匹配信息存放在/etc/hosts文件中。 在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。 下面是一个“/etc/hosts”文件的示例: IPAddress Hostname Alias 127.0.0.1 Localhost 208.164.186.1 ………… ………… ……… 最左边一列是主机IP信息,中间一列是主机名。 任何后面的列都是该主机的别名。 一旦配置完机器的网络配置文件,应该重新启动网络以使修改生效。 使用下面的命令来重新启动网络:/etc/rc.d/init.d/networkrestart */etc/文件 众所周知,作为服务器来说,服务端口开放越多,系统安全稳定性越难以保证。 所以提供特定服务的服务器应该尽可能开放提供服务必不可少的端口,而将与服务器服务无关的服务关闭,比如:一台作为www和ftp服务器的机器,应该只开放80和25端口,而将其他无关的服务如:fingerauth等服务关掉,以减少系统漏洞。 而inetd,也叫作“超级服务器”,就是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。 则是inetd的配置文件。 文件告诉inetd监听哪些网络端口,为每个端口启动哪个服务。 在任何的网络环境中使用Linux系统,第一件要做的事就是了解一下服务器到底要提供哪些服务。 不需要的那些服务应该被禁止掉,最好卸载掉,这样黑客就少了一些攻击系统的机会。 查看“/etc/”文件,了解一下inetd提供哪些服务。 用加上注释的方法(在一行的开头加上#号),禁止任何不需要的服务,再给inetd进程发一个SIGHUP信号。 第一步:把文件的许可权限改成600。 [root@deep]#chmod600/etc/ 第二步:确信文件的所有者是root。 [root@deep]#stat/etc/ 第三步:编辑“”文件(vi/etc/),禁止所有不需要的服务,如:ftp、telnet、shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth,等等。 如果你觉得某些服务有用,可以不禁止这些服务。 但是,把这些服务禁止掉,系统受攻击的可能性就会小很多。 改变后的“”文件的内容如下面所示: #Tore-readthisfileafterchanges,justdoakillall-HUPinetd # #echostreamtcpnowaitrootinternal #echodgramudpwaitrootinternal #discardstreamtcpnowaitrootinternal #discarddgramudpwaitrootinternal #daytimestreamtcpnowaitrootinternal #daytimedgramudpwaitrootinternal #chargenstreamtcpnowaitrootinternal #chargendgramudpwaitrootinternal #timestreamtcpnowaitrootinternal #timedgramudpwaitrootinternal # #Thesearestandardservices. # #ftpstreamtcpnowaitroot/usr/sbin/-l-a #telnetstreamtcpnowaitroot/usr/sbin/ # #Shell,login,exec,comsatandtalkareBSDprotocols. # #shellstreamtcpnowaitroot/usr/sbin/ #loginstreamtcpnowaitroot/usr/sbin/ #execstreamtcpnowaitroot/usr/sbin/ #comsatdgramudpwaitroot/usr/sbin/ #talkdgramudpwaitroot/usr/sbin/ #ntalkdgramudpwaitroot/usr/sbin/ #dtalkstreamtcpwaitnobody/usr/sbin/ # #Popandimapmailservicesetal # #pop-2streamtcpnowaitroot/usr/sbin/tcpdipop2d#pop-3streamtcpnowaitroot/usr/sbin/tcpdipop3d #imapstreamtcpnowaitroot/usr/sbin/tcpdimapd # #TheInternetUUCPservice. # #uucpstreamtcpnowaituucp/usr/sbin/tcpd/usr/lib/uucp/uucico-l # # # #thisunlessyou*need*it. # #tftpdgramudpwaitroot/usr/sbin/ #bootpsdgramudpwaitroot/usr/sbin/tcpdbootpd # #Finger,systatandnetstatgiveoutuserinformationwhichmaybe # #someoralloftheseservicestoimprovesecurity. # #fingerstreamtcpnowaitroot/usr/sbin/ #cfingerstreamtcpnowaitroot/usr/sbin/ #systatstreamtcpnowaitguest/usr/sbin/tcpd/bin/ps-auwwx netstatstreamtcpnowaitguest/usr/sbin/tcpd/bin/netstat-finet # #Authentication # #authstreamtcpnowaitnobody/usr/sbin/-l-e-o # # 注意:改变了“”文件之后,别忘了给inetd进程发一个SIGHUP信号(killall–HUPinetd)。 [root@deep/root]#killall-HUPinetd 第四步: 为了保证“”文件的安全,可以用chattr命令把它设成不可改变。 把文件设成不可改变的只要用下面的命令:[root@deep]#chattr+i/etc/ 这样可以避免“”文件的任何改变(意外或是别的原因)。 一个有“i”属性的文件是不能被改动的:不能删除或重命名,不能创建这个文件的链接,不能往这个文件里写数据。 只有系统管理员才能设置和清除这个属性。 如果要改变文件,你必须先清除这个不允许改变的标志: [root@deep]#chattr-i/etc/ 但是对于诸如sendmail,named,www等服务,由于它们不象finger,telnet等服务,在请求到来时由inet守护进程启动相应的进程提供服务,而是在系统启动时,作为守护进程运行的。 而对于redhatlinux,提供了一个linuxconfig命令,可以通过它在图形界面下交互式地设置是否在启动时运行相关服务。 也可以通过命令来设置是否启动时启动某个服务,如:[root@deep]#chkconfig–level35namedoff 具体命令可以参考manchkconfig的说明。 */etc/文件 但是对于telnet、ftp等服务,如果将其一同关闭,那么对于管理员需要远程管理时,将非常不方便。 Linux提供另外一种更为灵活和有效的方法来实现对服务请求用户的限制,从而可以在保证安全性的基础上,使可信任用户使用各种服务。 Linux提供了一个叫TCPwrapper的程序。 在大多数发布版本中该程序往往是缺省地被安装。 利用TCPwrapper你可以限制访问前面提到的某些服务。 而且TCPwrapper的记录文件记录了所有的企图访问你的系统的行为。 通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接你的系统。 在/etc目录下,有两个文件通过配置这两个文件,你可以指定哪些机器可以使用这些服务,哪些不可以使用这些服务。 当服务请求到达服务器时,TCPwrapper就按照下列顺序查询这两个文件,直到遇到一个匹配为止: 1.当在/etc/里面有一项与请求服务的主机地址项匹配,那么就允许该主机获取该服务 2.否则,如果在/etc/里面有一项与请求服务的主机地址项匹配,就禁止该主机使用该项服务。 3.如果相应的配置文件不存在,访问控制软件就认为是一个空文件,所以可以通过删除或者移走配置文件实现对清除所有设置。 在文件中,空白行或者以#开头的行被忽略,你可以通过在行前加#实现注释功能。 配置这两个文件是通过一种简单的访问控制语言来实现的,访问控制语句的基本格式为: 程序名列表:主机名/IP地址列表。 程序名列表指定一个或者多个提供相应服务的程序的名字,名字之间用逗号或者空格分割,可以在文件里查看提供相应服务的程序名:如上面的文件示例中,telent所在行的最后一项就是所需的程序。 主机名/IP地址列表指定允许或者禁止使用该服务的一个或者多个主机的标识,主机名之间用逗号或空格分隔。 程序名和主机地址都可以使用通配符,实现方便的指定多项服务和多个主机。 Linux提供了下面灵活的方式指定进程或者主机列表: 1.一个以.起始的域名串,如那么就和这一项匹配 2.以.结尾的IP串如202.37.152.那么IP地址包括202.37.152.的主机都与这一项匹配。 3.格式为n.n.n.n/m.m.m.m表示网络/掩码,如果请求服务的主机的IP地址与掩码的位与的结果等于n.n.n.n那么该主机与该项匹配。 表示匹配所有可能性 表示除去后面所定义的主机。 如:list_1EXCEPTlist_2表示list_1主机列表中除去List_2所列出的主机 表示匹配所有主机名中不包含.的主机 上面的几种方式只是Linux提供的方式中的几种,但是对于我们的一般应用来说是足够了。 我们通过举几个例子来说明这个问题: 例一:我们只希望允许同一个局域网的机器使用服务器的ftp功能,而禁止广域网上面的ftp服务请求,本地局域网由202.39.154.、202.39.153.和202.39.152.三个网段组成。 在文件中,我们定义禁止所有机器请求所有服务: ALL:ALL 在文件中,我们定义只允许局域网访问ftp功能: -l–a:202.39..39.153.202.39.152. 这样,当非局域网的机器请求ftp服务时,就会被拒绝。 而局域网的机器可以使用ftp服务。 此外,应该定期检查/var/log目录下的纪录文件,发现对系统安全有威胁的登录事件。 last命令可以有效的查看系统登录事件,发现问题所在。 最后tcpdchk是检查TCP_WAPPERS配置的程序。 它检查TCP_WAPPERS的配置,并报告它可以发现的问题或潜在的问题。 在所有的配置都完成了之后,请运行tcpdchk程序: [root@deep]#tcpdchk */etc/services文件 端口号和标准服务之间的对应关系在RFC1700“AssignedNumbers”中有详细的定义。 “/etc/services”文件使得服务器和客户端的程序能够把服务的名字转成端口号,这张表在每一台主机上都存在,其文件名是“/etc/services”。 只有“root”用户才有权限修改这个文件,而且在通常情况下这个文件是没有必要修改的,因为这个文件中已经包含了常用的服务所对应的端口号。 为了提高安全性,我们可以给这个文件加上保护以避免没有经过授权的删除和改变。 为了保护这个文件可以用下面的命令: [root@deep]#chattr+i/etc/services */etc/securetty文件 “/etc/securetty”文件允许你规定“root”用户可以从那个TTY设备登录。 登录程序(通常是“/bin/login”)需要读取“/etc/securetty”文件。 它的格式是:列出来的tty设备都是允许登录的,注释掉或是在这个文件中不存在的都是不允许root登录的。 注释掉(在这一行的开头加上#号)所有你想不让root登录的tty设备。 编辑securetty文件(vi/etc/securetty)象下面一样,注释掉一些行: tty1 #tty2 #tty3 #tty4 #tty5 #tty6 #tty7 #tty8 *使Control-Alt-Delete关机键无效 把“/etc/inittab”文件中的一行注释掉可以禁止用Control-Alt-Delete关闭计算机。 如果服务器不是放在一个安全的地方,这非常重要。 编辑inittab文件(vi/etc/inittab)把这一行: ca::ctrlaltdel:/sbin/shutdown-t3-rnow 改为: #ca::ctrlaltdel:/sbin/shutdown-t3-rnow 用下面的命令使改变生效: [root@deep]#/sbin/initq *改变“/etc/rc.d/init.d/”目录下的脚本文件的访问许可 /etc/rc.d/init.d/下的脚本主要包含了启动服务的脚本程序。 一般用户没有什么必要知道脚本文件的内容。 所以应该改变这些脚本文件的权限。 [root@deep]#chmod-R700/etc/rc.d/init.d/* 这样只有root可以读、写和执行这个目录下的脚本。 */etc/rc.d/文件 在默认情况下,当登录装有Linux系统的计算机时,系统会告诉你Linux发行版的名字、版本号、内核版本和服务器名称。 这泄露了太多的系统信息。 最好只显示一个“Login:”的提示信息。 第一步: 编辑“/ect/rc.d/”文件,在下面这些行的前面加上“#”: -- #Thiswilloverwrite/etc/,makeanychangesyou #wanttomaketo/etc/issuehereoryouwilllosethemwhenyoureboot. #echo>/etc/issue #echo$R>>/etc/issue #echoKernel$(uname-r)on$a$(uname-m)>>/etc/issue # #cp-f/etc/issue/etc/ #echo>>/etc/issue -- 第二步: 删除“/etc”目录下的“”和“issue”文件: [root@deep]#rm-f/etc/issue [root@deep]#rm-f/etc/ 注意:“/etc/”文件是用户从网络登录计算机时(例如:telnet、SSH),看到的登录提示。 同样在“”目录下还有一个“issue”文件,是用户从本地登录时看到的提示。 这两个文件都是文本文件,可以根据需要改变。 但是,如果想删掉这两个文件,必须向上面介绍的那样把“/etc/rc.d/”脚本中的那些行注释掉,否则每次重新启动的时候,系统又会重新创建这两个文件。 试试!
怎么取消Comodo的DNS解析?
打开网卡的属性——tcp ip设置里面把dns服务器改为自动获取即可。1楼纯属扯淡,把勾掉的一定要点回来