웹사이트 검색

FirewallD를 사용하여 네트워크 액세스를 제한하는 방법


Linux 사용자는 CentOS/RHEL 8 및 대부분의 RHEL에 기본으로 제공되는 방화벽을 사용하여 일부 서비스 또는 IP 주소에 대한 네트워크 액세스를 허용하거나 제한하도록 선택할 수 있습니다. Fedora와 같은 기반 배포판.

firewalld 방화벽은 Firewall-cmd 명령줄 유틸리티를 사용하여 방화벽 규칙을 구성합니다.

구성을 수행하기 전에 먼저 다음과 같이 systemctl 유틸리티를 사용하여 firewalld 서비스를 활성화해 보겠습니다.

sudo systemctl enable firewalld

활성화되면 이제 다음을 실행하여 방화벽 서비스를 시작할 수 있습니다.

sudo systemctl start firewalld

다음 명령을 실행하여 방화벽 상태를 확인할 수 있습니다.

sudo systemctl status firewalld

아래 출력은 firewalld 서비스가 실행 중임을 확인합니다.

Firewalld를 사용하여 규칙 구성

이제 방화벽이 실행되었으므로 몇 가지 구성을 바로 진행할 수 있습니다. Firewalld를 사용하면 포트, 블랙리스트, 화이트리스트 IP 주소를 추가하고 차단하여 서버에 대한 액세스를 제공할 수 있습니다. 구성이 완료되면 항상 새 규칙이 적용되도록 방화벽을 다시 로드해야 합니다.

TCP/UDP 포트 추가

포트를 추가하려면 HTTPS에 대해 포트 443을 말하고 아래 구문을 사용하세요. 포트 번호 다음에 포트가 TCP 포트인지 UDP 포트인지 지정해야 합니다.

sudo firewall-cmd --add-port=22/tcp --permanent

마찬가지로 UDP 포트를 추가하려면 다음과 같이 UDP 옵션을 지정합니다.

sudo firewall-cmd --add-port=53/udp --permanent

--permanent 플래그는 재부팅 후에도 규칙이 지속되도록 보장합니다.

TCP/UDP 포트 차단

포트 22와 같은 TCP 포트를 차단하려면 명령을 실행하세요.

sudo firewall-cmd --remove-port=22/tcp --permanent

마찬가지로 UDP 포트를 차단하는 경우에도 동일한 구문을 따릅니다.

sudo firewall-cmd --remove-port=53/udp --permanent

서비스 허용

네트워크 서비스는 /etc/services 파일에 정의됩니다. https와 같은 서비스를 허용하려면 다음 명령을 실행하세요.

sudo firewall-cmd --add-service=https

서비스 차단

예를 들어 FTP와 같은 서비스를 차단하려면 다음을 실행하세요.

sudo firewall-cmd --remove-service=https

IP 주소 화이트리스트

방화벽을 통해 단일 IP 주소를 허용하려면 다음 명령을 실행하십시오.

sudo firewall-cmd --permanent --add-source=192.168.2.50

CIDR(Classless Inter-Domain Routing) 표기법을 사용하여 다양한 IP 또는 전체 서브넷을 허용할 수도 있습니다. 예를 들어 255.255.255.0 서브넷의 전체 서브넷을 허용하려면 다음을 실행합니다.

sudo firewall-cmd --permanent --add-source=192.168.2.0/24

화이트리스트에 있는 IP 주소 제거

방화벽에서 허용된 IP를 제거하려면 다음과 같이 --remove-source 플래그를 사용하십시오.

sudo firewall-cmd --permanent --remove-source=192.168.2.50

전체 서브넷에 대해 다음을 실행합니다.

sudo firewall-cmd --permanent --remove-source=192.168.2.50/24

IP 주소 차단

지금까지 포트와 서비스를 추가 및 제거하는 방법과 화이트리스트에 있는 IP를 화이트리스트에 추가하고 제거하는 방법을 살펴보았습니다. IP 주소를 차단하려면 '풍부한 규칙'이 사용됩니다.

예를 들어 IP 192.168.2.50을 차단하려면 다음 명령을 실행하세요.

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.50' reject"

전체 서브넷을 차단하려면 다음을 실행하세요.

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.0/24' reject"

방화벽 규칙 저장

방화벽 규칙을 변경한 경우 변경 사항이 즉시 적용되도록 아래 명령을 실행해야 합니다.

sudo firewall-cmd --reload

방화벽 규칙 보기

방화벽의 모든 규칙을 살펴보려면 다음 명령을 실행하세요.

sudo firewall-cmd --list-all

이것으로 CentOS/RHEL 8에서 FirewallD를 사용하여 네트워크 액세스를 허용하거나 제한하는 방법에 대한 가이드를 마칩니다. 이 가이드가 도움이 되었기를 바랍니다.