iptables:DPT 范围内的所有 SSH 连接

iptables:DPT 范围内的所有 SSH 连接

iptables 规则拒绝我的服务器上的连接,这些连接应该被允许。它们是应该允许连接的 SSH 客户端。

系统日志显示:

Dec  3 16:22:49 server kernel: [4125974.777012] iptables denied: IN=eth0 OUT= MAC=<...> SRC=<...> DST=11.22.33.44 LEN=60 TOS=0x00 PREC=0x00 TTL=56 ID=327 DF PROTO=TCP SPT=42962 DPT=CLIENTPORT WINDOW=64240 RES=0x00 SYN URGP=0
  • DST=11.22.33.44 是服务器的IP地址
  • MAC=<...> 是服务器的 eth0 MAC 地址(已编辑)
  • SRC=<...> 可以是客户端位置的任何 IP 地址(已编辑)
  • DPT=CLIENTPORT 来自我指定的一系列端口。每个客户端都有一个他们使用的端口号。当然,实际的端口号显示在系统日志中。

提供给客户端的端口号并不是为了安全。sshd_config进行了加固,不允许密码登录等。客户端使用密钥对进行连接。

我需要有关允许这些连接的 iptables 规则的帮助。是否可以为 DPT 指定允许的端口范围?

目前的规则是:

    # iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere
    REJECT     all  --  anywhere             127.0.0.0/8         reject-with icmp-port-unreachable
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:80
    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:443
    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:22
    ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
    LOG        all  --  anywhere             anywhere            limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '
    REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere

唯一需要的传入连接是 Web 服务器和 SSH。我认为现有的 iptables 规则需要彻底修改。举一个例子表示赞赏。

答案1

您正在寻找多端口 iptables 扩展所以说:

iptables -A INPUT -p tcp -m multiport --dports <port1>:<portn> -j ACCEPT

防火墙脚本中规则 3 之后的某处。

评论:规则 2(拒绝发往本地主机的数据包)很奇怪:许多本地进程通过接口进行通信lo。通常你使用相反的规则:

iptables -A INPUT -i lo -j ACCEPT

相关内容