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 / 问题 / 477110
Accepted
Tiffany Walker
Tiffany Walker
Asked: 2013-02-09 20:12:17 +0800 CST2013-02-09 20:12:17 +0800 CST 2013-02-09 20:12:17 +0800 CST

IPTables 允许然后阻止活动连接

  • 772

我有一个备份服务器,我想知道我是否设置了一个 cron 作业以允许从 IPTables 中的服务器连接,然后一旦它与 rsync 连接,我可以使用 IPTables 然后关闭端口以防止连接吗?

这个想法是为了阻止主服务器被破坏时备份被擦除的机会(是的,它是安全的,但我不冒险。)

编辑:在尝试了东西之后并且因为事情是如何工作的。我决定最好的主意是设置第二台服务器,它只会从第一台服务器中提取数据。

linux
  • 3 3 个回答
  • 467 Views

3 个回答

  • Voted
  1. Best Answer
    Olipro
    2013-02-09T20:35:21+08:002013-02-09T20:35:21+08:00

    假设它通过 ssh 而不是 rsyncd 连接,您可以使用这样的规则来处理这个问题

    iptables -A INPUT -s <server> -p tcp --dport ssh -m connlimit --connlimit-saddr --connlimit-upto 1 -j ACCEPT

    如果没有其他规则允许它并且 INPUT 的策略是 REJECT 或 DROP,这将起作用。

    如果您还想将此限制为特定时间,请另外使用-m time --timestart 01:00:00 --timestop 01:02:00- 每天从凌晨 1 点开始提供两分钟的窗口

    • 2
  2. EEAA
    2013-02-09T20:19:20+08:002013-02-09T20:19:20+08:00

    首先,直接回答你的问题:是的,这当然是可能的,而且非常简单。

    您只需要一个 cron 作业允许来自该服务器的流量:

    -A Firewall-1-INPUT -p tcp -m state --state NEW -s 1.2.3.4 -j ACCEPT
    

    然后另一个 cron 作业删除该规则:

    -D Firewall-1-INPUT -p tcp -m state --state NEW -s 1.2.3.4 -j ACCEPT
    

    但...

    您是否使用本机 rsync 协议进行连接?如果是这样,你真的不应该这样做,因为它是弱认证和未加密的。相反,通过 SSH 使用 rsync,关闭密钥身份验证和密码身份验证(无论如何你应该已经在你的服务器上这样做了)。通过使用 rsync+ssh,所有流量都将被加密,并且使用密钥身份验证,也没有必要进行 iptables 歌舞,因为有人暴力破解您的用户名和密钥对的可能性微乎其微。

    此外,正如 Skaperen 在下面提到的,您的备份服务器应该是启动与其备份系统的连接的服务器,而不是相反。

    • 1
  3. Skaperen
    2013-02-09T20:38:26+08:002013-02-09T20:38:26+08:00

    为了实现您的目标,我会考虑将备份服务器隔离在防火墙后面的私有 IP 子网上的替代想法,它通过私有 IP 和基于 ssh 密钥(而非密码)的连接发起互联网连接服务器的备份。这样,可以执行强大操作的密钥与互联网更加隔离。

    • 0

相关问题

  • 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