시스템(Linux)

firewall-cmd 에 대해 알아보겠습니다.

forward error correction Circle 2023. 9. 30. 12:20
반응형

Ⅰ. firewall-cmd 란?

 리눅스에서 방화벽 설정을 관리하기 위한 명령줄 도구로, CentOS, RHEL (Red Hat Enterprise Linux), Fedora와 같은 리눅스 배포판에서 주로 사용됩니다. 이 도구는 firewalld라는 방화벽 관리 데몬과 함께 사용되며, 방화벽 규칙을 쉽게 관리하고 조작할 수 있도록 도와줍니다

 

Ⅱ. firewall-cmd 특징

 1) Zone 기반 보안 관리: firewalld는 시스템을 여러 보안 영역 또는 "존"으로 나누어 관리합니다. 각각의 존은 특정한 보안 수준과 규칙 집합을 가질 수 있으며, firewall-cmd를 사용하여 각 존에 대한 규칙을 쉽게 설정할 수 있습니다.
 2) 서비스 기반 규칙 관리: firewall-cmd를 사용하면 서비스 이름을 기반으로 방화벽 규칙을 관리할 수 있습니다. 서비스 이름을 사용하면 해당 서비스에 필요한 포트 및 프로토콜을 자동으로 구성할 수 있습니다.
 3) 동적 규칙 관리: firewalld는 네트워크 인터페이스의 상태 변화에 따라 규칙을 동적으로 조절할 수 있습니다. 예를 들어, 인터넷 연결이 끊겼을 때 방화벽 규칙을 변경할 수 있습니다.

 4) 룰 추가/제거/조회: firewall-cmd를 사용하여 존, 서비스, 포트, 소스 IP 주소 등을 기반으로 방화벽 규칙을 추가, 제거, 조회할 수 있습니다.
 5) 영구 설정: firewall-cmd로 설정한 방화벽 규칙은 현재 세션뿐만 아니라 시스템 재부팅 후에도 유지됩니다. 따라서 설정을 영구적으로 적용할 수 있습니다.

 

Ⅲ . firewall-cmd 와 iptables 차이

1) 구조: iptables는 표준 리눅스 방화벽 도구로서, 복잡한 규칙을 설정하고 관리하는 데 더 많은 명령어와 이해가 필요합니다. 반면에 firewall-cmd는 더 추상화된 인터페이스를 제공하여 더 쉽게 사용자가 방화벽 규칙을 관리할 수 있습니다.
2) 동적 규칙 관리: firewalld와 firewall-cmd는 동적 규칙 관리를 지원하여 네트워크 상태에 따라 규칙을 자동으로 조절할 수 있습니다. iptables는 이러한 기능을 지원하지 않습니다.
3) 서비스 기반 규칙 관리: firewall-cmd는 서비스 이름을 사용하여 포트 및 프로토콜을 쉽게 설정할 수 있습니다. iptables에서는 이를 수동으로 구성해야 합니다.
4) 보안 영역: firewalld는 보안 영역(zone)을 사용하여 규칙을 관리하는데, 이는 iptables에서 직접적으로 지원되지 않습니다.

 

Ⅳ. firewalld-cmd 사용방법
1) firewalld-cmd (방화벽) 상태 확인

firewall-cmd --state

* 실행 중이면 running, 실행 중이 아니면 not running을 출력합니다.

2) 방화벽 규칙 적용

firewall-cmd --reload

* 방화벽 설정 후 다시 로드해야 적용됩니다.

3) 존(Zone) 출력하기

firewall-cmd --get-zones

* 존(zone) 목록을 출력합니다.

4) 기본 존을 출력합니다.

firewall-cmd --get-default-zone

5) 현재 설정된 방화벽 규칙 조회

firewall-cmd --list-all

6) 활성화된 존을 출력합니다.

firewall-cmd --get-active-zones

7) 사용 가능한 모든 서비스/포트 목록을 출력

서비스 확인 : firewall-cmd --get-services
포트 확인 : firewall-cmd --list-ports

8) public 존에 속한 사용 가능한 모든 서비스/포트 목록을 출력

firewall-cmd --zone=public --list-all

9) 특정 존에 포트 추가

firewall-cmd --zone=public --add-port=[Port Number]/tcp --permanent

10) sftp 서비스를 추가/제거

추가 = firewall-cmd --add-service=sftp
제거 = firewall-cmd --remove-service=sftp

 

반응형