DNS反向解析(Reverse DNS)
正向解析:通过域名查找ip;
反向解析:通过ip查找域名;
DNS反向解析用来屏蔽非法的IP访问请求;常见于邮件屏蔽系统,而apache,ssh,mysql等服务器端程序也会默认携带;
例如:邮件头包含域名和邮箱服务器的IP地址,一般邮件系统会检测发送来的域名是否合法(比对黑白名单),如果合法则接收该邮件,不合法则丢弃;对于自架邮件系统专门发送垃圾邮件的人,为了能逃避目标邮件系统的审核,此时可以通过将自己的邮件头域名篡改为常用的如Gmail邮件域名来逃脱检查。
大量动态IP的非法请求催生了DNS反向解析技术的发展。
本例中,邮件系统增加了审查功能,即通过邮件头中的IP来向DNS服务器对应的查询域名是否与邮件头中的域名相符合来判断邮件请求的合法性;
目前DNS的反向解析已经作为常规安全手段被大多数应用所使用。
在Windows CMD下可通过nslookup命令来观察正向和逆向解析:
C:\Users\teng>nslookup g.cn 服务器: google-public-dns-a.google.com Address: 8.8.8.8 非权威应答: 名称: g.cn Addresses: 2404:6800:4008:c04::a0 203.208.48.147 203.208.48.146 203.208.48.145 203.208.48.144 203.208.48.148 C:\Users\teng>nslookup -qt=ptr 203.208.48.148 服务器: google-public-dns-a.google.com Address: 8.8.8.8 *** google-public-dns-a.google.com 找不到 148.48.208.203.in-addr.arpa.: Non-existent domain
示例中先通过 g.cn查询Google的对外IP地址群,再通过其中一个IP地址逆向查询是否属于Google。
去除SSH服务中的DNS反向解析
SSH服务中的反向解析同样的也是为了通过审查请求来的IP和其IP存放在DNS服务器上面的域名是否能对应起来,来提高安全性。
但由于反向解析的存在,每个IP请求都会消耗一定时间来审查其合法性。对于局域网内服务器群、不直接连接外网的服务器或者已知访问的IP都是合法的地址等情况,其审查显得多余且长时间的查询会极大的影响SSH连接速度。
以下通过关闭SSH反向解析服务和在hosts文件中配置可信的访问地址来解决该问题。
A. 关闭SSH反向解析服务
# 1. 备份sshd配置文件 cp /etc/ssh/sshd_config /etc/ssh/sshd_config .bak.20150323.UseDNSYes2No # 2. 修改配置文件,取消sshd服务的dns反向解析 vim /etc/ssh/sshd_config # 3. 找到选项UseDNS ,取消注释,改为 UseDNS no # 4. 重启sshd服务 /etc/init.d/sshd restart
B. hosts文件中配置可信的访问地址
# 1. 备份hosts文件 cp /etc/hosts /etc/hosts.bak.20150323.addTrustedIPandName # 2. 修改hosts文件 vim /etc/hosts # 3. 增加可信的IP及其服务名,示例IP为10.60.9.7,名称为CRXJ-COLL 10.60.9.7 CRXJ-COLL
参考文件
What is the point of sshd “UseDNS” option?
Disabling reverse dns lookups in ssh
转载请标明作者和原文链接
ifuteng#gmail.com 2014/9/24
相关推荐
ssh连接慢解决办法(成功) 用真机连接虚拟机卡的话: 1.进入虚拟机vim /etc/ssh/sshd_config 2.将 #UseDNS yes改为UseDNS no即可如下: 使用/UseDNS找到地方然后添加 #UseDNS yes UseDNS no #PidFile /var/run/sshd....
SSH服务端 Apache SSHD
ubuntu18.04.2下sshd服务安装包
如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。有个简单的解决办法就是在 sshd 的配置文件(sshd_config)...
SSH和SFTP服务分离
1. DNS反向解析问题 OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就...
SSH服务端 Apache SSHD.7z
ssh服务离线安装包,ubuntu 离线安装,一定要按顺序启动 sudo dpkg -i openssh-client_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i libck-connector0_0.4.5-...
基于java的开发源码-SSH服务端 Apache SSHD.zip 基于java的开发源码-SSH服务端 Apache SSHD.zip 基于java的开发源码-SSH服务端 Apache SSHD.zip 基于java的开发源码-SSH服务端 Apache SSHD.zip 基于java的开发源码-...
sshd服务项目和ssh免密登录详细笔记和文档总结
最近项目要求数据传必须使用sftp,但sftp又不能直接使用22端口,不安全,网上查询的ssh和sftp分离相关的资料都是基于centos7的,于是经过研究尝试,完成了基于centos6版本的服务分离
ubuntu20.04 desktop桌面版默认是没有sshd服务的,如果要使用ssh连接又不方便联网,可以用这个离线安装包
Android下类sshd服务,支持Root授权,提供SSH和SFTP服务
在CentOS7下,设置ssh自启动,修改ssh监听端口
ssh_config 希望对你有用!
sshd_config默认配置
高山SSH服务器指示基于密钥的用法(首选) 将id_rsa.pub从您的工作站复制到dockerhost。... ssh-agentssh-add id_rsa 然后在dockerhost上启动sshd服务(检查标签以获取高山版本) docker run -p 4848:22 --
1.按以下顺序执行安装 sudo dpkg -i openssh-client_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_6.6p1-2...若看到sshd,就说明ssh-server已经启动了。 若未启动,尝试以下命令:/etc/init.d/ssh start
这是由于ssh服务和mysql服务默认都会在登录时进行DNS反向解析的过程,而内网通常我们没有配备DNS服务,那么这时就只能等这些服务自己超时,然后才能允许我们的登录通过,解决方案也很简单,只要关闭相应服务的解析就...
ssh默认安装在/usr/local/sbin/目录下,使用 /usr/local/sbin/sshd 启动ssh服务,该服务默认侦听22端口。 5、检查ssh服务是否启动: netstat -tnlp|grep :22 最后,ubuntu如果重启后,sshd默认是不会开机启动的...