Firewalld: 특정 IP 범위의 특정 포트를 블랙리스트에 추가

Firewalld: 특정 IP 범위의 특정 포트를 블랙리스트에 추가

문제의 특정 서버는 CentOS 7을 실행하며 포트 22(SSH) 및 포트 범위 11224-12224(주로 역방향 SSH 터널링)에서 제공됩니다. 서버는 공용 IP에서 접근 가능하며, SSH를 사용한 인증서를 통해서만 로그인을 허용하고, Fail2ban이 설정되어 있습니다.

  1. 포트 22: 공개 액세스를 위해 열려 있습니다. (원격 서버가 이에 접속하여 접속을 위해 다음 범위의 포트를 바인딩한 경우)

  2. 포트 범위 11224-12224 - 비공개 IP 범위(10.0.0.0 – 10.255.255.255, 172.16.0.0 – 172.31.255.255, 192.168.0.0 – 192.168.255.255)에서만 액세스를 허용하도록 열어 둡니다.

  3. ICMP: 열어두고 개인 IP 범위(10.0.0.0 – 10.255.255.255, 172.16.0.0 – 172.31.255.255, 192.168.0.0 – 192.168.255.255)에서만 액세스를 허용합니다.

나는 괜찮지만 이것은 iptablesfirewalld에게 새로운 일이고 원격으로 직접 연결하고 있으므로 ssh시행착오를 겪고 스스로를 잠그는 대신 권위 있는 답변을 찾고 있습니다. Firewalld아무런 수정 없이 재고 상태입니다.

답변1

포트 22:

firewall-cmd --permanent --zone=public --add-service=ssh # persistent setting
firewall-cmd --reload

포트 범위 11224-12224:

firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.0/8" port port="11224-12224" protocol="tcp" accept'
firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.16.0.0/12" port port="11224-12224" protocol="tcp" accept'
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.0.0/16" port port="11224-12224" protocol="tcp" accept'
firewall-cmd --reload

바라보다:https://fedoraproject.org/wiki/Features/FirewalldRichLanguage

ICMP:

모든 ICMP를 맹목적으로 차단하지 마십시오. 경로 MTU 검색이 중단되어 모든 연결에 대한 MTU 값을 낮추지 않으면 VPN, IPv6 게이트웨이, 다양한 유형의 클라우드 서비스 등을 통해 최대 크기 패킷을 전달하는 모든 연결이 작동하지 않게 됩니다. 운영 체제에서는 ICMP 응답 전송을 우선 순위가 낮은 작업으로 처리했으며 과도한 작업 부하가 발생하는 경우 이를 무시할 수 있습니다.

누군가 존재하지 않는 호스트에 ping을 시도하면 누락된 호스트의 업스트림 라우터는 ICMP "호스트에 연결할 수 없음" 메시지를 pinger에 다시 보냅니다. ping 응답을 차단하는 경우 pinger는 다음과 같이 호스트가 존재하는지 여부를 계속 확인할 수 있습니다.

  • 핑 응답 수신 = 호스트가 존재함
  • 핑 응답이 없지만 대상 호스트에 가장 가까운 라우터에서 ICMP "호스트에 연결할 수 없음" = 호스트가 존재하지 않습니다.
  • 핑 응답 없음그리고ICMP 없음 = 호스트가 존재하고 핑을 차단할 가능성이 높습니다.

이것은 상당히 간단한 문제입니다.

관련 정보