안녕하세요! 오늘은 Linux 시스템의 방화벽 관리 도구인 Firewalld에 대해 알아보겠습니다.
Firewalld가 뭔가요? 🤔
집의 현관문과 창문을 관리하는 것처럼, Firewalld는 여러분의 Linux 시스템에서 네트워크 트래픽을 관리하는 동적 방화벽 관리 도구입니다.
- iptables의 후속 프로그램으로 개발
- Red Hat/CentOS 7 이후 버전의 기본 방화벽
- 실시간으로 설정 변경 가능 (서비스 재시작 불필요)
주요 개념 💡
1. Zone
여러분의 집에 있는 각각의 방처럼, 각기 다른 신뢰 수준을 가진 네트워크 영역입니다.
기본 제공 Zone들:
- public: 기본 Zone, 가장 낮은 신뢰도
- trusted: 모든 트래픽 허용
- home: 가정 네트워크용
- internal: 내부 네트워크용
- work: 회사 네트워크용
- dmz: 외부 접근이 제한적으로 허용된 구역
- block: 모든 연결 거부
- drop: 모든 패킷 폐기
2. 서비스
특정 포트와 프로토콜의 조합을 미리 정의해놓은 것입니다.
# HTTP 서비스 허용 예시
firewall-cmd --zone=public --add-service=http --permanent
기본 사용법 📚
1. 상태 확인
# 방화벽 상태 확인
firewall-cmd --state
# 활성화된 Zone 목록
firewall-cmd --get-active-zones
# 특정 Zone의 상세 정보
firewall-cmd --zone=public --list-all
2. 포트 관리
# 포트 추가
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 포트 제거
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
# 변경사항 적용
firewall-cmd --reload
3. 서비스 관리
# 사용 가능한 서비스 목록
firewall-cmd --get-services
# 서비스 추가
firewall-cmd --add-service=https --permanent
# 서비스 제거
firewall-cmd --remove-service=https --permanent
고급 기능 🚀
1. 포트 포워딩
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
2. 리치룰(Rich Rules)
복잡한 규칙을 정의할 수 있습니다:
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="http" accept' --permanent
장점 👍
동적 설정 변경
- 서비스 중단 없이 규칙 변경 가능
직관적인 구조
- Zone 기반의 쉬운 네트워크 분리
영구 설정과 런타임 설정 분리
--permanent
옵션으로 구분
주의사항 ⚠️
영구 설정 적용
--permanent
옵션을 사용했다면 반드시--reload
필요
기본 Zone 확인
- 새로운 인터페이스는 기본적으로 public zone에 할당
실제 활용 사례 💼
웹 서버 설정
# 웹 서비스 허용
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
# 특정 IP만 SSH 허용
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept' --permanent
firewall-cmd --reload
마치며 🎁
Firewalld는 Linux 시스템에서 방화벽 관리를 훨씬 쉽고 체계적으로 만들어주는 도구입니다. Zone 기반의 관리와 동적 설정 변경은 현대 네트워크 환경에 매우 적합합니다.
참고 자료 📚
- Red Hat 공식 문서: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls
- Firewalld 공식 웹사이트: http://www.firewalld.org/
- CentOS Wiki: https://wiki.centos.org/HowTos/Network/FirewallD
728x90
'100===Dev Ops > Firewalld' 카테고리의 다른 글
Firewalld Introduced (0) | 2024.06.12 |
---|---|
Firewalld에서 포트 구성 방법 (0) | 2024.06.12 |