웹사이트 검색

Linux에서 방화벽을 구성하고 관리하는 데 유용한 'FirewallD' 규칙


Firewalld는 방화벽을 다시 시작할 필요 없이 즉시 적용할 수 있는 동적 방화벽 규칙을 Linux에서 구성하는 방법을 제공하며 구성을 쉽게 만드는 D-BUS 및 영역 개념도 지원합니다.

Firewalld는 기존 Fedora의 방화벽(Fedora 18 이상) 메커니즘, RHEL/CentOS 7 및 기타 최신 배포판을 대체했습니다. 이 새로운 메커니즘. 새로운 방화벽 시스템을 도입하는 가장 큰 동기 중 하나는 기존 방화벽을 변경할 때마다 다시 시작해야 하므로 모든 활성 연결이 끊어진다는 것입니다. 위에서 말했듯이 최신 방화벽은 명령줄이나 GUI 방법을 사용하여 사무실이나 홈 네트워크에 대한 다양한 영역 및 규칙 집합을 구성하는 데 유용한 동적 영역을 지원합니다.

처음에는 방화벽 개념을 구성하기가 매우 어려워 보이지만 서비스와 영역을 이 문서에서 다루는 대로 함께 유지하면 구성이 더 쉬워집니다.

이전 기사에서는 방화벽과 해당 영역을 사용하는 방법을 살펴봤고, 이제 이 기사에서는 명령줄 방식을 사용하여 현재 Linux 시스템을 구성하는 데 유용한 몇 가지 방화벽 규칙을 살펴보겠습니다.

  1. RHEL/CentOS 7의 방화벽 구성

이 문서에서 다루는 모든 예는 CentOS 7 배포판에서 실제로 테스트되었으며 RHEL 및 Fedora 배포판에서도 작동합니다.

방화벽 규칙을 구현하기 전에 먼저 방화벽 서비스가 활성화되어 실행 중인지 확인하세요.

systemctl status firewalld

위 그림은 방화벽이 활성화되어 실행 중임을 보여줍니다. 이제 모든 활성 영역과 활성 서비스를 확인할 차례입니다.

firewall-cmd --get-active-zones
firewall-cmd --get-services

명령줄에 익숙하지 않은 경우 GUI에서 방화벽을 관리할 수도 있습니다. 이를 위해서는 시스템에 GUI 패키지가 설치되어 있어야 하며, 그렇지 않은 경우 다음 명령을 사용하여 설치해야 합니다.

yum install firewalld firewall-config

위에서 말했듯이 이 기사는 명령줄 애호가를 위해 특별히 작성되었으며 우리가 다룰 모든 예제는 GUI 방식이 아닌 명령줄만을 기반으로 합니다..죄송합니다…

더 진행하기 전에 먼저 Linux 방화벽을 구성할 공개 영역을 확인하고 다음 명령을 사용하여 공개 영역에 대한 모든 활성 서비스, 포트, 풍부한 규칙을 나열하십시오.

firewall-cmd --zone=public --list-all

위 그림에서는 아직 활성 규칙이 추가되지 않았습니다. 이 기사의 나머지 부분에서 규칙을 추가, 제거 및 수정하는 방법을 살펴보겠습니다…

1. Firewalld에서 포트 추가 및 제거

공개 영역에 대한 포트를 열려면 다음 명령을 사용하십시오. 예를 들어 다음 명령은 공개 영역에 대해 포트 80을 엽니다.

firewall-cmd --permanent --zone=public --add-port=80/tcp

마찬가지로 추가된 포트를 제거하려면 아래와 같이 Firewalld 명령과 함께 '–remove' 옵션을 사용하면 됩니다.

firewall-cmd --zone=public --remove-port=80/tcp

특정 포트를 추가하거나 제거한 후에는 '–list-ports' 옵션을 사용하여 해당 포트의 추가 또는 제거 여부를 확인하세요.

firewall-cmd --zone=public --list-ports

2. Firewalld에서 서비스 추가 및 제거

기본적으로 방화벽은 미리 정의된 서비스와 함께 제공됩니다. 특정 서비스 목록을 추가하려면 파일에 포함된 모든 서비스가 포함된 새 xml 파일을 만들어야 합니다. 그렇지 않으면 다음을 실행하여 각 서비스를 수동으로 정의하거나 제거할 수도 있습니다. 명령.

예를 들어, 다음 명령은 이 예에서 FTP에 대해 했던 것처럼 특정 서비스를 추가하거나 제거하는 데 도움이 됩니다.

firewall-cmd --zone=public --add-service=ftp
firewall-cmd --zone=public --remove-service=ftp
firewall-cmd --zone=public --list-services

3. 들어오고 나가는 패킷 차단(패닉 모드)

들어오거나 나가는 연결을 차단하려면 '패닉 온' 모드를 사용하여 해당 요청을 차단해야 합니다. 예를 들어, 다음 규칙은 시스템에 기존에 설정된 연결을 모두 삭제합니다.

firewall-cmd --panic-on

패닉 모드를 활성화한 후 도메인(예: google.com)을 핑하고 '–query-panic을 사용하여 패닉 모드가 ON인지 확인하세요. >' 옵션은 아래와 같습니다.

ping google.com -c 1
firewall-cmd --query-panic

위 그림에서 패닉 쿼리에 "알 수 없는 호스트 google.com"이 표시됩니다. 이제 패닉 모드를 비활성화한 다음 다시 한 번 ping을 실행하고 확인해 보십시오.

firewall-cmd --query-panic
firewall-cmd --panic-off
ping google.com -c 1

이제 이번에는 google.com에서 ping 요청이 옵니다..