소개
시스템 관리자에게 서버 보안을 위한 방화벽 설정 관리 업무는 매우 중요합니다. Red Hat Enterprise Linux(RHEL) 에서는 firewalld가 기본 방화벽 관리 도구로 사용되며, firewall-cmd 명령줄 유틸리티를 통해 설정할 수 있습니다. 이번 챌린지에서는 firewall-cmd를 사용하여 네트워크 트래픽을 제어하는 방화벽 규칙을 직접 구성해 보는 실습을 진행합니다.
방화벽 설정하기
현재 활성화된 방화벽 규칙을 수정하여 웹 트래픽을 허용하는 것이 이번 과제입니다. 실험 환경에는 firewalld 서비스가 이미 실행 중입니다. 표준 웹 트래픽 포트에 대한 규칙을 추가하고, 시스템을 재시작하거나 설정을 다시 불러와도 해당 변경 사항이 유지되도록 영구적으로 적용해야 합니다.
과제
- 과제 1:
firewalld서비스의 현재 상태를 확인하여 정상 작동 여부를 점검합니다. - 과제 2:
http(80 번 포트) 및https(443 번 포트) 서비스를 허용하는 영구 방화벽 규칙을 추가합니다. - 과제 3: 방화벽 설정을 다시 불러와 (Reload) 영구 설정 내용을 현재 실행 중인 환경에 적용합니다.
- 과제 4: 활성화된 방화벽 규칙 목록에
http와https서비스가 포함되어 있는지 확인합니다.
요구 사항
- 모든 방화벽 수정 작업은 반드시
firewall-cmd명령어를 사용해야 합니다. http및https규칙은 재부팅 후에도 유지되도록 영구 (permanent) 설정으로 추가해야 합니다.- 설정을 다시 불러온 후, 활성 구성에서
http와https서비스가 허용된 상태여야 합니다.
예시
모든 과제를 성공적으로 완료한 후 sudo firewall-cmd --list-all 명령을 실행하면, 아래 예시와 같이 서비스 목록에 http와 https가 포함되어야 합니다. 다른 세부 사항은 환경에 따라 다를 수 있습니다.
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client http https ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
힌트
- 방화벽 실행 여부를 확인하려면
sudo firewall-cmd --state를 사용하세요. 만약 방화벽이 실행 중이 아니라면sudo systemctl start firewalld명령으로 시작할 수 있습니다. - 규칙을 영구적으로 적용하려면
--permanent플래그를 사용해야 합니다. - 영구 규칙은
sudo firewall-cmd --reload명령을 통해 방화벽을 다시 불러오기 전까지는 현재 실행 중인 설정에 즉시 반영되지 않습니다.
요약
이 챌린지를 통해 Red Hat Enterprise Linux 시스템에서 firewall-cmd를 사용하여 방화벽 규칙을 관리하는 방법을 학습했습니다. 방화벽 상태 확인, 영구 서비스 규칙 추가, 변경 사항 적용을 위한 방화벽 재로드, 그리고 활성 구성 확인 과정을 실습했습니다. 이러한 기술은 네트워크 보안을 책임지는 시스템 관리자에게 필수적인 기본 역량입니다.



