100===Dev Ops/Firewalld

Firewalld - Linux 방화벽 관리의 새로운 표준 🔥

블로글러 2024. 11. 17. 09:05

안녕하세요! 오늘은 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

장점 👍

  1. 동적 설정 변경

    • 서비스 중단 없이 규칙 변경 가능
  2. 직관적인 구조

    • Zone 기반의 쉬운 네트워크 분리
  3. 영구 설정과 런타임 설정 분리

    • --permanent 옵션으로 구분

주의사항 ⚠️

  1. 영구 설정 적용

    • --permanent 옵션을 사용했다면 반드시 --reload 필요
  2. 기본 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 기반의 관리와 동적 설정 변경은 현대 네트워크 환경에 매우 적합합니다.


참고 자료 📚

728x90

'100===Dev Ops > Firewalld' 카테고리의 다른 글

Firewalld Introduced  (0) 2024.06.12
Firewalld에서 포트 구성 방법  (0) 2024.06.12