AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 444431
Accepted
Michael H.
Michael H.
Asked: 2012-11-02 08:19:46 +0800 CST2012-11-02 08:19:46 +0800 CST 2012-11-02 08:19:46 +0800 CST

/etc/hosts.deny 不应该在它到达 ssh 日志之前拦截它吗?

  • 772

我在我的 ubuntu 10.04.04 服务器上使用 /etc/hosts.deny 和 ufw 的组合。大多数时候,我看到来自 .com.cn 域中的机器的 ssh 尝试失败,报告如下:

Failed logins from:
112.114.63.139 (139.63.114.112.broad.km.yn.dynamic.163data.com.cn): 1 time

但是,在 /etc/hosts.deny 中,我有这条规则:

ALL: .com.cn

这不应该在连接到 ssh 之前就阻止连接吗?我已经通过阻止我的家用机器对其进行了测试,它肯定会在我收到登录提示之前立即拒绝我的连接(是的,我已经将我的 ssh 密钥移开,因此不涉及这些)。

这是按预期工作吗?

编辑: James Sneeringer 提示我更仔细地查看日志,也许我明白了为什么会这样。来自 auth.log:

Nov  5 09:38:40 mymachine sshd[22864]: warning: /etc/hosts.deny, line 21: can't verify hostname: getaddrinfo(139.63.114.112.broad.km.yn.dynamic.163data.com.cn, AF_INET) failed
Nov  5 09:38:44 mymachine sshd[22864]: reverse mapping checking getaddrinfo for 139.63.114.112.broad.km.yn.dynamic.163data.com.cn [112.114.63.139] failed - POSSIBLE BREAK-IN ATTEMPT!
Nov  5 09:38:45 mymachine sshd[22864]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=112.114.63.139  user=root
Nov  5 09:38:47 mymachine sshd[22864]: Failed password for root from 112.114.63.139 port 37245 ssh2
Nov  5 09:38:47 mymachine sshd[22866]: Connection closed by 112.114.63.139

这对我来说意味着如果 sshd 不确定 IP-> 名称查找,那么它会谨慎行事并且不会阻止该主机。那正确吗?

linux
  • 1 1 个回答
  • 2297 Views

1 个回答

  • Voted
  1. Best Answer
    James Sneeringer
    2012-11-02T09:29:15+08:002012-11-02T09:29:15+08:00

    这对于 sshd 是预期的,因为它直接链接到 libwrap,所以 sshd 实际上是执行主机检查的。如果你想在调用 sshd 之前阻止连接,你需要在它前面放置一些东西来处理连接尝试,然后再将它传递给 sshd。几个选择是:

    • 在 inetd(或 xinetd)下运行 sshd。这将允许您调用 sshd 作为 tcpd 的参数,而 tcpd 最终执行实际的主机检查。

    • 在 xinetd 下运行 sshd,它具有提供类似于 /etc/hosts.allow 和 /etc/hosts.deny 功能的服务选项only_from。no_access

    但是,sshd 联机帮助页不鼓励使用这些方法:

     -i      Specifies that sshd is being run from inetd(8).  sshd is normally
             not run from inetd because it needs to generate the server key
             before it can respond to the client, and this may take tens of
             seconds.  Clients would have to wait too long if the key was
             regenerated every time.  However, with small key sizes (e.g. 512)
             using sshd from inetd may be feasible.
    

    使用 iptables 或在服务器前面放置防火墙似乎是一个不错的选择,但大多数都不执行任何名称解析,因此您只能通过 IP 地址控制访问。这不一定是坏事,但对您要实现的目标没有帮助。

    • 4

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve