`
futeng
  • 浏览: 260596 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

SSHD服务取消DNS反向解析 SSH连接慢

阅读更多

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
 

参考文件

Wiki 反向解析

SSH 连接慢 与 反向解析

DNS中的正向解析与反向解析

What is the point of sshd “UseDNS” option?

由于反向解析引发的访问慢的问题

Disabling reverse dns lookups in ssh

[原]sshd服务取消DNS反向解析及修改超时时间

 

转载请标明作者和原文链接

ifuteng#gmail.com 2014/9/24

1
2
分享到:
评论

相关推荐

    ssh连接慢解决办法(亲测成功)

    ssh连接慢解决办法(成功) 用真机连接虚拟机卡的话: 1.进入虚拟机vim /etc/ssh/sshd_config 2.将 #UseDNS yes改为UseDNS no即可如下: 使用/UseDNS找到地方然后添加 #UseDNS yes UseDNS no #PidFile /var/run/sshd....

    SSH服务端 Apache SSHD

    SSH服务端 Apache SSHD

    ubuntu18.04.2下sshd服务安装包

    ubuntu18.04.2下sshd服务安装包

    Linux运维面试总结

    如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。有个简单的解决办法就是在 sshd 的配置文件(sshd_config)...

    SSH和SFTP服务分离详细文档

    SSH和SFTP服务分离

    ssh 登录很慢该如何解决

    1. DNS反向解析问题 OpenSSH在用户登录的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有域名,或者DNS服务器很慢或不通,那么登录就...

    SSH服务端 Apache SSHD.7z

    SSH服务端 Apache SSHD.7z

    sshd离线安装包

    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的开发源码-SSH服务端 Apache SSHD.zip 基于java的开发源码-...

    sshd服务项目和ssh免密登录详细笔记和文档总结

    sshd服务项目和ssh免密登录详细笔记和文档总结

    centos6分离ssh与sftp并配置不同端口 -.txt

    最近项目要求数据传必须使用sftp,但sftp又不能直接使用22端口,不安全,网上查询的ssh和sftp分离相关的资料都是基于centos7的,于是经过研究尝试,完成了基于centos6版本的服务分离

    ubuntu20.04 sshd离线安装包

    ubuntu20.04 desktop桌面版默认是没有sshd服务的,如果要使用ssh连接又不方便联网,可以用这个离线安装包

    Android 类sshd服务

    Android下类sshd服务,支持Root授权,提供SSH和SFTP服务

    CentOS 7设置ssh服务自动启动

    在CentOS7下,设置ssh自启动,修改ssh监听端口

    ssh-config 希望对你有用!

    ssh_config 希望对你有用!

    sshd_config默认配置

    sshd_config默认配置

    alpine-sshd:高山SSH服务器

    高山SSH服务器指示基于密钥的用法(首选) 将id_rsa.pub从您的工作站复制到dockerhost。... ssh-agentssh-add id_rsa 然后在dockerhost上启动sshd服务(检查标签以获取高山版本) docker run -p 4848:22 --

    Ubuntu14.04离线安装ssh所需安装包deb

    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登录缓慢的解决方法

    这是由于ssh服务和mysql服务默认都会在登录时进行DNS反向解析的过程,而内网通常我们没有配备DNS服务,那么这时就只能等这些服务自己超时,然后才能允许我们的登录通过,解决方案也很简单,只要关闭相应服务的解析就...

    SSH服务器搭建环境步骤

    ssh默认安装在/usr/local/sbin/目录下,使用 /usr/local/sbin/sshd 启动ssh服务,该服务默认侦听22端口。  5、检查ssh服务是否启动: netstat -tnlp|grep :22 最后,ubuntu如果重启后,sshd默认是不会开机启动的...

Global site tag (gtag.js) - Google Analytics