방화벽의 풍부한 규칙

방화벽의 풍부한 규칙

DMZ 영역에 CentOS7 서버가 있고 2개의 스트림만 열려고 합니다.

  1. 포트 2222에서 192.168.1.10으로부터 들어오는 트래픽을 허용합니다.
  2. 192.168.1.20 포트 4444로 나가는 트래픽 허용
  3. 다른 건 다 차단해

방화벽이 풍부한 규칙을 사용하여 이 작업을 수행하고 싶지만 이는 들어오는 트래픽에만 작동하는 것 같습니다(확인 필요). 적용할 올바른 규칙을 찾는 데 도움이 필요합니다.

미리 감사드립니다.

답변1

RedHat 문서에는 다음 섹션이 있습니다.풍부한 규칙.

여기에서 두 가지 allow규칙과 하나 drop/ reject그 밖의 모든 것이 필요합니다(protocol을 통한 연결을 허용한다고 가정 tcp하고 다른 모든 것이 필요 drop하지만 사용법에 더 적합하면 drop다음으로 대체하십시오).reject

firewall-cmd --zone=dmz --add-rich-rule='rule family="ipv4" source address="192.168.1.10" port port="2222" protocol="tcp" accept'
firewall-cmd --zone=dmz --add-rich-rule='rule family="ipv4" destination address="192.168.1.20" port port="4444" protocol="tcp" accept
firewall-cmd --zone=dmz --add-rich-rule='rule family="ipv4" source address="192.168.1.10" invert="true" destination address="192.168.1.20" invert="true" drop'

이렇게 하면 대부분의 결과를 얻을 수 있으며 허용된 두 주소 모두에서 다른 포트를 명시적으로 차단하지는 않지만 이미 찾고 있는 것일 수도 있습니다.

firewalld실행 중인 버전이 지원하는 경우priority속성, 다른 두 규칙 뒤에 우선순위가 높은 포괄적인 drop/를 간단히 추가할 수 있습니다.reject

firewall-cmd --zone=dmz --add-rich-rule='priority=999 drop'

관련 정보