소개
이 랩에서는 firewalld를 사용하여 Linux 에서 네트워크 방화벽 존 (zone) 이 활성화되어 있는지 확인하는 방법을 배웁니다. 먼저, firewall-cmd --get-active-zones 명령을 사용하여 현재 활성 존과 해당 존이 연결된 네트워크 인터페이스를 식별합니다.
그 다음, 존 규칙이 정의된 위치를 이해하기 위해 /etc/firewalld 디렉토리에 있는 firewalld 구성 파일을 살펴봅니다. 마지막으로, firewalld가 존 구성을 실제 패킷 필터링 규칙으로 어떻게 변환하는지 확인하기 위해 기본 iptables 규칙을 검사합니다. 이 랩은 Linux 시스템에서 firewalld가 네트워크 보안을 관리하는 방법에 대한 기본적인 이해를 제공합니다.
firewall-cmd --get-active-zones 로 존 확인
이 단계에서는 Linux 의 동적 방화벽 관리 도구인 firewalld를 살펴봅니다. 방화벽은 네트워크 보안에 매우 중요하며, 시스템 안팎으로 허용되는 트래픽을 제어합니다.
firewalld는 방화벽 규칙을 관리하기 위해 "존 (zone)"이라는 개념을 사용합니다. 존은 네트워크 연결에 대한 신뢰 수준을 정의합니다. 서로 다른 존은 서로 다른 기본 규칙을 갖습니다. 예를 들어, "public" 존은 "trusted" 존보다 더 엄격한 규칙을 가질 수 있습니다.
시스템에서 현재 활성화된 존을 확인해 보겠습니다. --get-active-zones 옵션과 함께 firewall-cmd 명령을 사용합니다.
아직 열려 있지 않다면 터미널을 엽니다. 데스크탑 왼쪽에서 Xfce 터미널 아이콘을 찾을 수 있습니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
firewall-cmd --get-active-zones
다음과 유사한 출력을 볼 수 있습니다.
public
interfaces: eth0
이 출력은 public 존이 현재 활성화되어 있으며 eth0 네트워크 인터페이스와 연결되어 있음을 알려줍니다. eth0 인터페이스는 가상 머신이 네트워크에 연결되는 방식입니다.
활성 존을 이해하는 것은 firewalld로 방화벽을 관리하는 첫 번째 단계입니다. 다음 단계에서는 구성 파일과 규칙이 적용되는 방식을 살펴보겠습니다.
계속을 클릭하여 진행합니다.
cat /etc/firewalld로 firewalld 설정 확인
이전 단계에서 어떤 firewalld 존이 활성화되어 있는지 확인했습니다. 이제 firewalld가 구성 파일을 저장하는 위치를 살펴보겠습니다. 이러한 파일은 각 존에 대한 규칙을 정의합니다.
firewalld의 주요 구성 디렉토리는 /etc/firewalld입니다. 이 디렉토리 내에서 존, 서비스 및 기타 구성 요소에 대한 하위 디렉토리를 찾을 수 있습니다.
cat 명령을 사용하여 파일의 내용을 볼 수 있습니다. /etc/firewalld 디렉토리 내부를 보려면 cat을 시도할 수 있지만, cat은 디렉토리가 아닌 파일용으로 설계되었습니다. 대신, ls 명령을 사용하여 디렉토리의 내용을 나열해 보겠습니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
ls /etc/firewalld/
다음과 유사한 디렉토리 및 파일 목록이 표시됩니다.
icmptypes lockdown-whitelist.xml modules panic-iface.conf services zones
이것은 firewalld 구성의 구조를 보여줍니다. zones 디렉토리는 각 존 (예: public.xml, trusted.xml 등) 에 대한 구성 파일을 포함하므로 특히 중요합니다.
zones 디렉토리 내부를 살펴보겠습니다. 다음을 입력합니다.
ls /etc/firewalld/zones/
각 미리 정의된 존에 대한 XML 파일 목록이 표시됩니다.
block.xml dmz.xml drop.xml external.xml home.xml internal.xml public.xml trusted.xml work.xml
이러한 XML 파일에는 각 존에 대한 특정 규칙이 포함되어 있습니다. 예를 들어, public.xml은 이전 단계에서 활성화된 것을 확인한 public 존에 대한 규칙을 정의합니다.
이 랩에서는 XML 파일의 세부 사항을 자세히 살펴보지는 않지만, 구성이 저장되는 위치를 아는 것은 firewalld를 이해하는 데 중요한 부분입니다.
다음 단계로 이동하려면 계속을 클릭하십시오.
iptables -L 로 iptables 규칙 검사
firewalld는 많은 Linux 배포판에서 방화벽을 관리하는 현대적인 방법이지만, 일반적으로 iptables 명령으로 전통적으로 관리되는 기본 netfilter 프레임워크를 구성하여 작동합니다.
firewalld를 사용하는 경우에도 iptables 명령을 사용하여 firewalld가 netfilter에 생성한 규칙을 검사할 수 있습니다. 이는 firewalld가 존 기반 규칙을 하위 수준의 iptables 규칙으로 변환하는 방식을 이해하는 데 도움이 될 수 있습니다.
현재 iptables 규칙을 나열하려면 -L 옵션과 함께 iptables 명령을 사용합니다. 방화벽 규칙을 보려면 관리자 권한이 필요하므로 sudo를 사용해야 합니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
sudo iptables -L
많은 출력을 보게 될 것입니다! 이 출력은 서로 다른 iptables 체인 (예: INPUT, FORWARD, OUTPUT) 과 그 안의 규칙을 보여줍니다. firewalld는 존 및 서비스를 기반으로 트래픽을 관리하기 위해 FWD, IN_, OUT_ 등으로 시작하는 자체 체인을 생성합니다.
다음은 볼 수 있는 내용의 일부입니다 (정확한 출력은 다를 수 있음).
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
INPUT_direct all -- anywhere anywhere
INPUT_ZONES_SOURCE all -- anywhere anywhere
INPUT_ZONES all -- anywhere anywhere
...
Chain FORWARD (policy ACCEPT)
target prot opt source destination
...
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
...
Chain INPUT_ZONES (1 references)
target prot opt source destination
FWD_public all -- anywhere anywhere [goto] /* zone public */
...
지금 당장 이 출력의 모든 줄을 이해하는 것에 대해 걱정하지 마십시오. 핵심은 firewalld가 이러한 iptables 규칙을 백그라운드에서 적극적으로 관리하고 있다는 것입니다. iptables -L 명령은 커널에서 적용되는 실제 패킷 필터링 규칙을 볼 수 있도록 해줍니다.
이 단계는 firewalld와 iptables의 관계에 대한 간략한 소개를 마무리합니다. 활성 존을 확인하고, 구성 파일을 찾고, 기본 iptables 규칙을 검사하는 방법을 배웠습니다.
랩을 마치려면 계속을 클릭하십시오.
요약
이 랩에서는 Linux 에서 활성 네트워크 방화벽 존을 확인하기 위해 firewalld 탐색을 시작했습니다. firewalld가 방화벽 규칙을 관리하기 위해 존을 사용하고, firewall-cmd --get-active-zones 명령을 사용하여 현재 활성 상태이고 네트워크 인터페이스와 연결된 존을 식별한다는 것을 배웠습니다. public 존이 eth0 인터페이스에서 활성화된 예시를 보았습니다.
그런 다음 firewalld 구성 파일을 검토하기 시작하여 주요 구성 디렉토리가 /etc/firewalld임을 확인했습니다. 디렉토리 내용을 보려고 시도하면서, cat은 디렉토리가 아닌 파일에 사용되고, 존, 서비스 및 기타 요소에 대한 구성 파일을 보려면 디렉토리 내용을 나열하는 것이 적절한 방법임을 이해했습니다.



