본문 바로가기

Linux

RHEL8 방화벽 - Firewalld

RHEL8 Firewalld

리눅스 방화벽 설정은 firewalld와 iptables 두가지 방법으로 설정가능하나 RHEL7부터 방화벽을 관리하는 데몬이 firewalld

로 변경되어 iptables 명령어대신 firewall-cmd, firewall-config 명령어 사용을 권장

*데몬 - 운영체제에서 사용자가 직접 제어하지 않아도 백그라운드에서 여러가지의 작업을 하는 프로그램

즉, 메모리에 머물고 있으면서 특정 요청이 오면 바로 그에대한 대응을 할 수 있도록 대기중인 프로세스

 

 

Firewalld

리눅스 운영체제를 위한 방화벽 관리도구

리눅스 커널에 포함된 Netfilter라는 서브 시스템을 사용하여 미리 지정된 규칙에 의해 패킷의 송/수신을 허용/차단하는 패킷 필터링 형태로 동작한다.

 

 

Firewalld의 zone?

Firewalld의 방화벽 규칙으로 9개의 용도별 zone이 존재

zone 설명
public 기본적으로 최소한의 허용 규칙이 설정된 zone,
기본 zone으로 사용됨
block 들어오는 패킷을 모두 거부,
단, 전송 패킷의 반환 통신은 허용
dmz 일반적인 DMZ 인터페이스에 대한 설정에 사용
drop 들어오는 패킷을 모두 삭제,
단, 전송 패킷의 반환 통신은 허용
external 특별히 마스커레이딩 규칙이 적용되는 외부의 라우터를 위해 사용
home 홈 영역을 위해 사용되는 규칙
internal 내부 네트워크 인터페이스에 대한 설정에 사용
trusted 모든 통신을 허용하는 규칙
work 같은 회사 내 내부 네트워크를 위해 사용되는 규칙

*마스커레이딩(IP Masquerading) - 

 

 

 

 

 

Firewalld 명령어

 

 

systemctl status firewalld

방화벽 상태를 확인하는 명령문


systemctl stop firewalld

방화벽을 off, 종료하는 명령문

종료시 해당 상태가 dead 죽은 상태가 된다.


 

systemctl start firewalld

종료된 방화벽을 다시 재부팅하는 명령문

재부팅시 해당 상태가 다시 running 상태가 된다.


 


 


1. firewalld 명령어로 포트 열기

firewall-cmd --list-all

현재 방화벽의 설정 확인

(열려있는 포트 확인)


firewall-cmd --query-port=(포트/프로토콜)

특정 포트 번호가 열려있는지 확인

열려 있다면 yes 열려있지 않다면 no

*프로토콜의 경우 tcp, udp, sctp,dccp만 가능


firewall-cmd --add-port=8080/tcp

특정 포트번호 열기

 

 

8080/tcp가 열려있음을 확인 가능

 


firewall-cmd --remove-port=8080/tcp

특정 포트번호 닫기



 

2. Zone을 이용하여 포트 열기

firewall-cmd —list-port —zone=public

Firewalld - zone 허용포트 확인하기

 


firewall-cmd —permanent —zone=public —add-port=(포트번호/프로토콜)

Firewalld - zone 포트 허용하기

 

 


firewall-cmd —permanent —zone=public —remove-port=(포트번호/프로토콜)

Firewalld - zone 포트 차단하기

 


firewall-cmd —reload

Firewalld - zone 재시작

zone을 추가하거나 삭제한 경우 재시작해주어야 한다.

 




XML수정으로 방화벽 설정

/etc/firewalld/zones/*.xml에 존재한 zone 파일(xml)을 수정하여 방화벽을 관리할 수 있다.

 

public zone의 xml파일인 /etc/firewalld/zones/public.xml을 열어보면 port 8080이 public zone으로 설정되어있음이 확인된다.

 

 

해당 포트를 지우고 다시 포트 조회시

 

허용되었던 해당 8080 포트는 삭제된다.

'Linux' 카테고리의 다른 글

OpenSSL 명령어  (0) 2024.05.16
Linux - Yum Repository  (0) 2024.05.02
Linux 명령어  (0) 2024.04.30
Linux 폴더 구조  (0) 2024.04.29
Linux - 오라클 11G 초기설  (0) 2024.03.05