👉🏻 폐쇄망으로 설정하지 않더라도 지정된 규칙에 의해 패킷의 송/수신을 허용하거나 차단하는 필터링이 가능해짐
📍 방화벽 관리 도구
👉🏻 CentOS 6.x 버전까지는 Netfilter의 관리 인터페이스가 iptables로 사용됨 👉🏻 CentOS 7.x 버전부터는 Netfilter의 관리 인터페이스가 firewalld 로 변경
iptables
firewalld
설정의 변경
- 설정 변경 시 적용을 위해 서비스를 재시작해야하며 이 과정에서 네트워크가 순간적으로 끊김 - 설정 변경 시 기존 규칙을 모두 버리고 새로 불러옴
- 네트워크 통신을 중단하지 않고 규칙 설정 가능 - 설정 변경 시 추가/변경된 규칙만 불러옴
설정 난이도
- TCP/IP의 구조를 잘 알지 못하면 설정이 어렵고 명령 옵션이 복잡함
- 비교적 쉽게 설정 가능
유연성
- 임시로 규칙 설정 등은 불가
- 임시로 사용할 규칙과 지속적으로 사용할 규칙을 각각 관리할 수 있음 - 예를 들면 일정 시간만 사용 규칙 등
📍 firewalld zone
👉🏻 방화벽 규칙을 9개의 용도별 zone을 통해 설정 가능함
👉🏻 각 zone은 /etc/firewalld/zones/ 경로 내 .xml 파일로 생성하여 사용
zone
설명
Drop 존
Iptables에서 사용하던 Drop과 동일하며 들어오는 모든 패킷은 버려지고 이에대한 응답 메시지도 보내지 않으며 외부로 나가는 연결만 허용된다.
Block 존
Drop 존처럼 들어오는 모든 네트워크 연결은 거부된다. 다만 icmp-host-prohibited와 icmp6-prohibited라는 응답 메시지를 보낸다. 시스템 내부에서 시작된 연결은 허용된다.
Public 존
서비스를 제공하는 특별한 포트로의 연결만 허용하고, 그 외 포트로의 연결은 모두 거부된다.
External 존
기본 Zone으로 사용된다.
DMZ 존
특별히 매스커레이딩 규칙이 적용되는 외부의 라우터를 위해 사용되며, 내부로의 연결 요청 중 선택된 연결만을 허용한다. (내부로 들어오는 패킷을 SSH만 제외하고 거부, 외부는 모두 허용)
Work 존
내부 네트워크로의 접근은 제한적으로 허용되지만, 공개된 네트워크에 대한 접근을 허용하는 경우에 사용된다. 선택된 연결만이 허용된다.
Home 존
같은 회사에 위치한 네트워크를 위해 사용되며, 대부분 같은 네트워크에 위치한 다른 시스템을 신뢰하고 오직 선택된 연결만을 허용한다.
Internal 존
Home 존 홈 영역을 위해 사용되며, 네트워크에 존재하는 다른 시스템을 신뢰하고 오직 선택된 연결만을 접속 허용한다. 내부 네트워크를 위해 사용되고, 선택된 연결만을 허용한다.
Trusted 존
모든 네트워크 접속 연결을 허용하는 경우 사용한다.
📍 firewalld 기본 명령어 확인
// firewalld 서비스 비활성화
$ systemctl disables firewalld
// firewalld 서비스 활성화
$ systemctl enable firewalld
// firewalld 서비스 중지
$ systemctl stop firewalld
// firewalld 서비스 시작
$ systemctl start firewalld
// firewalld 서비스 재시작
$ systemctl restart firewalld
// firewalld 서비스 상태 확인
$ systemctl status firewalld
[root@~~~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since 월 2024-07-15 14:47:59 KST; 10s ago
Docs: man:firewalld(1)
Main PID: 1908 (firewalld)
Tasks: 2
CGroup: /system.slice/firewalld.service
└─1908 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
7월 15 14:47:58 계정 systemd[1]: Starting firewalld - dynamic firewall daemon...
7월 15 14:47:59 계정 systemd[1]: Started firewalld - dynamic firewall daemon.
7월 15 14:47:59 계정 firewalld[1908]: WARNING: AllowZoneDrifting is enabled. This is considered an in...now.
Hint: Some lines were ellipsized, use -l to show in full.