방화벽에서 사전 구성된 영역을 삭제하는 방법

방화벽에서 사전 구성된 영역을 삭제하는 방법

사전 구성된 영역은 삭제할 수 없습니다.

[root@fabian ~]# firewall-cmd --permanent --delete-zone=block
Error: BUILTIN_ZONE: block
[root@fabian ~]#

내가 할 수 있는 방법이 있나요? 해당 영역 파일만 삭제하면 방화벽이 시작되지 않습니다.

그렇게 할 수 없다면 사람들은 왜 이 내장된 영역을 없애지 못하는 걸까요? 미리 정의된 빈 방화벽을 보는 것만으로도 구역질이 납니다.

[root@fabian ~]# firewall-cmd --list-all-zones
block
  interfaces: 
  sources: 
  services: 
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

dmz
  interfaces: 
  sources: 
  services: 
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

drop
  interfaces: 
  sources: 
  services: 
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

external (active)
  interfaces: enp0s26u1u1
  sources: 
  services: 
  ports: 
  masquerade: yes
  forward-ports: 
  icmp-blocks: 
  rich rules: 

home
  interfaces: 
  sources: 
  services: 
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

internal (default, active)
  interfaces: enp4s0
  sources: 
  services: ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

public
  interfaces: 
  sources: 
  services: 
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

trusted
  interfaces: 
  sources: 
  services: 
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

work
  interfaces: 
  sources: 
  services: 
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

[root@fabian ~]#

도와주세요.

답변1

기본 영역은 다음 디렉터리에 저장됩니다.

/usr/lib/방화벽/영역

Firewall-cmd 기본 영역을 검색한 후 다음을 추출했습니다.

[https://www.linode.com/docs/security/firewalls/introduction-to-firewalld-on-centos]

방화벽 구성D

Firewalld는 구성을 위해 XML 파일을 사용합니다. 매우 구체적인 구성을 제외하고는 이를 처리할 필요가 없으며 대신 Firewall-cmd를 사용해야 합니다.

구성 파일은 다음 두 디렉터리에 있습니다.

/usr/lib/FirewallD holds default configurations like default zones and common services.   Avoid updating them because those files will be overwritten by each firewalld package update.

/etc/firewalld holds system configuration files. These files will overwrite a default configuration.

그렇긴 하지만... /usr/lib/FirewallD/zones에서 Internal이라는 내장 영역을 제거하고 Firewalld를 다시 로드했는데 --list-all-zones를 수행해도 해당 영역이 여전히 존재합니다.

그래서 /etc/firewalld/zones에서 내부 영역을 제거하고 방화벽을 다시 로드했는데 이제 내부 영역이 사라졌습니다.

패키지 업데이트 후에 다시 나올지는 모르겠고, 아직 사용해본 적은 없습니다.

답변2

/etc/firewalld/zones/docker.xml내 데비안 불스아이 시스템에는 방화벽에 영역을 생성하는 파일이 있습니다 docker(실행 시 표시됨 firewall-cmd --list-all-zones).

영역을 제거하는 유일한 방법은 docker파일을 삭제하는 것입니다.

rm /etc/firewalld/zones/docker.xml

답변3

GitHub에서 이에 대한 기능 요청은 다음과 같이 추적됩니다.897화. 방화벽이 내장된 영역의 존재를 예상하고 드문 경우에 사용하므로 사용자가 모든 내장 영역을 삭제할 수 있는 것은 아닌 것 같습니다. 문제에 대한 논의에서는 이러한 사례를 제거하는 것이 가능해야 함을 시사합니다.

(저는 상당히 새롭기 때문에 이 링크를 해당 설명과 함께 자체 답변으로 두는 것이 적절하기를 바랍니다.)

관련 정보