본문 바로가기

개발/linux

Firewalld 구성(Directories, firewallld.conf)

Directories

 

/usr/lib/firewalld

ICMP TYPES, Service, Zone에 대해 Firewalld에서 제공하는 구성 설정 파일이 있으며 이에 대한 추가적인 설정은 패키지가 따로 제공되거나 파일을 생성해서 사용가능합니다.

 

/usr/firewalld

시스템 또는 사용자 구성 파일이 존재하는 곳이며 시스템 관리자 또는 Firewalld 구성 인터페이스를 사용해 사용자가 직접 정의 하거나 생성이 가능합니다.

 

만약 별다른 구성이 없으면 기본설정(firewalld.conf)을 사용하게 됩니다.

 

Runtime VS Permanent

Runtime

실제로 적용고 사용되고있는 구성이며 서비스가 시작되면 영구 구성을 런타임 구성으로 가져와 사용하게 됩니다.

 

서비스 시작뿐만 아니라 서비스 reload를 할 때도 똑같으며 이와 같은 경우에는 아래와 같은 형태로 진행이 됩니다.

 

Permanent

영구적으로 설정되는 구성으로 구성파일에 따로 저장되어 사용될 때 로드됩니다.

 

보통 Booting 될 때나 Reload시에 새로운 런타임 구성을 덮어씌울때 사용되는 구성이며 런타임 구성에서 영구 구성으로 마이그레이션하는 명령어는 아래와 같습니다.

firewall-cmd --runtime-to-permanent

 

Firewalld.conf

개념

Firewalld의 기본 구성을 제공하는 파일로 만약 파일이 존재하지 않거나 누락된 경우 firewalld내부의 기본값을 사용하게 되있습니다.

 

DefaultZone

Interface가 다른 Zone에 명시가 안되있을 경우 여기 설정해 놓은 DefaultZone에 속하게 됩니다.

 

MinimalMark

더 이상 사용되지 않는 옵션입니다.

 

CleanupOnExit

no 또는 false로 설정시 firewalld configuration이 종료나 중지시 정리되지 않습니다.

 

기본설정 : yes

 

Lockdown

활성화를 시키게 되면 D-Bus 인터페이스를 사용한 방화벽 변경이 불가능 하게되며 lockdown-whitelist.xml 파일에 나열되어있는 애플리케이션으로 설정이 제한됩니다.

 

기본설정 : no

 

IPv6_rpfilter

IPv6용 역방향 경로 필터 테스트를 수행 할건지 확인하는 옵션입니다.

 

패킷의 응답 패킷이 도착했을 때 보낸곳과 도착한 곳의 인터페이스 같을시 Permit 아니라면 Drop을 수행하는 기능이고 IPv4전용은 sysctl로 제어하게 됩니다.

 

기본설정 : yes

 

Individual Calls

비활성화시 방화벽에 설정 저장을 하게되면 combined(결합된) -restore 호출이 사용됩니다

 

만약 활성화 해서 사용하게되면 데몬의 시작시간이 증가하지만 오류메시지가 구체적이여서 디버깅에 좋습니다.

 

기본설정 : no

 

Log Denied

거부 된 패킷에 대한 로깅을 설정 할 수있으며 기본 규칙 체인의 거부 및 삭제 규칙 앞에 로깅 규칙을 추가 할 수있습니다.

 

Firewalld.conf 파일 뿐아니라 명령어로도 설정이 가능하며 명령어는 아래와 같습니다.

firewall-cmd --set-log-denied=<value>

사용가능 값 : all, unicast, broadcast, multicast, off

 

기본설정 : off

 

AutomaticHelpers

더 이상 사용되지 않는 옵션입니다.

 

FirewallBackend

방화벽의 백엔드 구축 방법을 선택 할 수있습니다. (1.1 개념 및 특징 <그림 1> Firewalld 계층과 구조 참고)

 

사용가능 값 : nftables, iptables

 

기본설정 : nftables

 

FlushAllOnReload

활성화시 reload를 사용하면 모든 런타임 규칙을 Flush 하게 되고 비활성화시 런타임 구성이 유지됩니다.

 

기본설정 : yes

 

RFC3964_IPv4

 

라우팅되지 않아야 하는 IPv4주소에 해당하는 6to4 대상 주소를 사용하게 되고 이 조건에 맞는 IPv6 트래픽을 필터링 하게 됩니다.

 

   - 6to4

    Automatic Tunnel이라고도 불리며 IPv6 헤더의 목적지 IPv6 주소에서 Tunnel Destination 으로 사용 할 수 있      는 IPv4 주소를 구하는 것

 

기본설정 : yes

 

AllowZoneDrifting

이전 버전의 firewalld에서는 “Zone drifting” 이라는 동작이 존재 했고 이 동작은 여러 Zone에서 패킷이 수신 되는 행위를 말합니다.

 

이는 영역(Zone)기반 방화벽에 어긋나는 행위이지만 일부 사용자들은 “Default-Zone”과 같은 “Catch-all” Zone을 갖기위해 설정을 만들게 되었습니다.

 

Yes로 설정 할 경우 패킷은 source-based-zone에서 interface-based-zone 으로만 drifting 하게 됩니다.

 

패킷은 interface-based-zone 에서 다른 interface-based-zone으로 drifting 하지 않습니다.

 

기본설정 : yes

'개발 > linux' 카테고리의 다른 글

리눅스 방화벽 확인  (0) 2023.08.21
vi 탭 사이즈 변경  (0) 2019.11.12
sftp 상위폴더 접근 금지 설정  (0) 2019.10.17
CentOS 비트확인  (0) 2018.09.13
자동으로 DHCP 설정 하는 NetworkManager 제거  (0) 2018.06.14