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 / 问题 / 551827
Accepted
Anatol
Anatol
Asked: 2013-11-10 03:35:38 +0800 CST2013-11-10 03:35:38 +0800 CST 2013-11-10 03:35:38 +0800 CST

通过 iptables 或 /etc/hosts.allow 限制 ubuntu 12.04 上的 ssh、sftp 访问

  • 772

我试图限制对 ubuntu 服务器的访问,但我仍然不确定该走哪条路。情况:我们想在 ubuntu 12.04 服务器上将 ssh 和 sftp 的访问限制为 4 个没有静态 IP 的客户端。因此每个客户都有一个 dyndns 帐户。服务器将使用共享防火墙,遗憾的是它不能使用 dyndns 帐户作为允许规则。

想法:允许访问共享防火墙中的 ssh 和 sftp,但阻止所有服务器端的 4 个 dyndns 帐户。

但是实现这一目标的最简单方法是什么?

第一个解决方案是在此脚本中使用 iptabels :由 cronjob 运行,它检查 dyndns ips 并使用以下内容更新 iptable 规则:

# All connectsion from address 1.2.3.4 to SSH (port 22)
iptables -A INPUT -p tcp -m state --state NEW --source DYNDNS_IP --dport 22 -j ACCEPT

# Deny all other SSH connections
iptables -A INPUT -p tcp --dport 22 -j DROP

第二种解决方案是通过拒绝主机 fe 进行限制:

# /etc/hosts.allow
sshd: client.dyndns.org

# /etc/hosts.deny
sshd: ALL

但我不确定denyhosts 是否也能够限制ftp 访问。如果是这样,这个解决方案看起来会更容易管理。

感谢每一个想法,

亲切的问候,

托尼

ssh
  • 2 2 个回答
  • 1013 Views

2 个回答

  • Voted
  1. nandoP
    2013-11-10T09:23:17+08:002013-11-10T09:23:17+08:00

    imo,越靠近堆栈底部,实现安全性就越好。如果您在 iptables 处阻塞,则数据包甚至不会超过第 3 层/第 4 层,这样会更好。然而,最好的是分层洋葱安全模型,具有基于网络和主机的防火墙,以及拒绝主机/tcpwrappers,以及特定于协议的安全性(即 apache 上的 htaccess 规则)。

    服务器将使用共享防火墙,遗憾的是它不能使用 dyndns 帐户作为允许规则。

    你总是可以用 iptables 或 pfsense 替换你的外围防火墙。

    • 0
  2. Best Answer
    Giacomo1968
    2013-11-10T09:37:15+08:002013-11-10T09:37:15+08:00

    如果客户端没有静态 IP,那么下一个最佳解决方案是使用带有或不带有密码短语和禁用密码的 SSH 密钥。 这是 SSH 密钥的一个很好的入门。

    在服务器上,您可以将 SSH 调整为仅publickey通过调整PreferredAuthenticationsin /etc/ssh/ssh_config(在 Ubuntu 12.04 中)来接受。在这里 SSH 服务器端选项的一个很好的解释。

    过去,我仍然会使用它iptables来进一步限制端口以使事情更加安全。

    • 0

相关问题

  • 如何最好地设置 ssh 隧道以访问远程网络 (Linux)

  • SSH 和重定向

  • 通过 SSH 会话使用 NET USER 命令拒绝访问

  • SSH 服务器零日漏洞利用 - 保护自己的建议

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

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