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

필요한 유일한 수신 연결은 웹 서버와 SSH입니다. 기존 iptables 규칙을 전면적으로 점검해야 한다고 생각합니다. 감사의 예를 들어보세요.

답변1

당신이 찾고있는다중 포트 iptables 확장그래서:

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

방화벽 스크립트의 규칙 3 다음 어딘가에 있습니다.

논평:규칙 2(localhost에 대한 패킷 거부)가 이상합니다. 많은 로컬 프로세스가 인터페이스를 통해 통신합니다 lo. 일반적으로 반대 규칙을 사용합니다.

iptables -A INPUT -i lo -j ACCEPT

관련 정보