방화벽으로 RHEL7 / CentOS7에서 나가는 연결을 차단 하시겠습니까?


12

RHEL7 / CentOS7은 새로운 firewalld방화벽 서비스를 제공하며,이 방화벽 서비스는 iptables service(두 가지 iptables도구를 사용 하여 아래의 커널 Netfilter와 상호 작용합니다).

firewalld쉽게 들어오는 트래픽을 차단하도록 조정 할 수 있지만, 토마스 Woerner에서 언급 한 바와 같이 1,5 년 전 "나가는 트래픽을 제한하는 순간에 간단한 방법으로 firewalld 불가능합니다." 그리고 내가 볼 수있는 한 그때 이후로 상황은 변하지 않았습니다. 아니면? 발신 트래픽을 차단할 수있는 방법이 firewalld있습니까? iptables도구를 통해 규칙을 수동으로 추가하는 것을 제외하고 나가는 트래픽을 차단하는 다른 "표준"방법 (RHEL7 배포판)이없는 경우 ?

답변:


13

멋진 GUI에서 옵션을 찾지 못했지만 직접 인터페이스를 통해 가능합니다.

발신 포트 80 만 활성화하려면 :

firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp --dport=80 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -j DROP

런타임 규칙이 아닌 영구 규칙에 추가됩니다.
영구 규칙을 다시로드해야 규칙이 런타임 규칙이됩니다.

firewall-cmd --reload

영구적 인 규칙을 표시

firewall-cmd --permanent --direct --get-all-rules

런타임 규칙을 표시하려면

firewall-cmd --direct --get-all-rules

실제 리치 규칙 언어를 사용하여 어떻게 이것을 달성합니까?
Casey

@Casey 내 이해로, 풍부한 규칙은 입력 체인에 엄격하게 사용됩니다.
Rice

위의 규칙은 ipv4(iptables)에 대해서만 작동한다고 가정합니다 . ipv6(ip6tables) 또는 eb( ebtables)에 대해 유사한 규칙을 갖는 것이 바람직 할 수 있습니다 .
mwfearnley

또한 서버로의 SSH 연결이 끊어졌습니다! 설정된 연결을 유지하는 방법은 user253068의 답변을 참조하십시오.
mwfearnley

6

같은 질문을하고 약간의 문제를 겪은 후 나가는 트래픽을 HTTP / HTTPS 및 DNS 쿼리로 제한하는 몇 가지 훌륭한 규칙을 모았습니다.

설정된 연결 허용 :

# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -m state --state ESTABLISHED,RELATED -j ACCEPT

HTTP 허용 :

# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT

HTTPS 허용 :

# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 443 -j ACCEPT

DNS 쿼리 허용 :

# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 53 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p udp --dport 53 -j ACCEPT

다른 모든 것을 거부하십시오 :

# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -j DROP

'-영구적 인'인수를 생략하여 먼저 테스트하는 것이 좋습니다.

나는 결코 전문가가 아니지만 이것은 나에게 잘 작동하는 것 같다 :)


어느 시점에서 규칙을 제거하는 것이 유용 할 수 있습니다. 단일 직접 규칙을 제거하는 것은 까다로울 수 있지만 슬레지 해머 firewall-cmd [--permanent] --direct --remove-rules ipv4 filter OUTPUT에게는 대량 제거를 수행합니다.
mwfearnley

1

GUI에 대하여; 나는 당신이 이것을 " 직접 구성 " 에서 찾을 것이라고 생각합니다 . 액세스하려면 " 보기 " 에서 선택해야합니다 . 내가 틀렸을 수도있다.

사이드 노트

규칙을 삭제하려면 종료 한 다음 다시 입력해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.