rich rule 등록 시에, 아래처럼 service name =”…” 와 같은 조건을 줄 수 있다. ssh를 예시로 어떤 차이가 있는지 비교해 보자.
# 조건 O
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="IP주소" service name="ssh" accept'
# 조건 X
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="IP주소" accept'
service name = "ssh" 조건 비교
service name=”ssh” 있음
- 해당 ip에서 SSH 서비스만 허용한다는 의미
- 제한적이므로 보안상 안전하다.
- 특정 IP에서 SSH 접속만 허용하고 싶을 때 사용한다.
service name=”ssh” 없음
- 해당 IP에서 모든 포트, 모든 서비스 허용한다는 의미
- 전면 허용하다보니 보안적으로 위험하다.
- 내부망 등에서 특정 IP를 완전히 신뢰할 때 사용한다.
예시
#1
rule family="ipv4" source address="192.0.2.1" service name="ssh" accept
- 192.0.2.1에서 오는 트래픽 중에서 SSH트래픽(22 포트)만 허용한다는 의미.
#2
rule family="ipv4" source address="192.0.2.1" service name="http" accept'
- 192.0.2.1에서 오는 트래픽 중에서 HTTP 트래픽(80포트)만 허용한다는 의미.
firewalld에서 rich rule은 XML 스타일 구조이고, rule이라는 하나의 규칙 블록 안에 여러 속성들이 들어간다고 한다. 각각 어떤 속성이 있는지도 찾아보고 정리해야겠다.
'Today I Learned > Linux' 카테고리의 다른 글
[Security] HttpFirewall (1) | 2025.07.11 |
---|---|
[Linux] Rich Rules (1) | 2025.06.17 |
[Linux] Linux에서 사용되는 대표적인 방화벽 종류 (0) | 2025.02.27 |