kjh00n의 기록저장소

★firewalld (공부해라) 본문

시스템 보안 구축

★firewalld (공부해라)

kjh00n 2024. 11. 11. 11:16

firewalld 기본 명령어

systemctl status firewalld

systemctl start firewalld

 

- firewall-cmd 방화벽 제어

firewall-cmd --version

firewall-cmd --list-all

firewall-cmd --list-all

 

firewall-cmd --get-services (정의된 서비스 목록 확인)

firewall-cmd --list-services (접근 허용된 서비스 확인)

services말고 다른 것도 가능


firewalld 설정

1. 특정 정책을 구성하여 원하는 데이터를 허용, 차단하는 방식 (iptables)
	- 정책 생성 → 정책을 원하는 시점에 적용
	- 복잡한 정책이나 세부적인 정책을 구성하기 쉽다.
	- 관리자가 원하는 형태로 방화벽을 제어하기 쉽다.
	- 정책을 이해해야 원하는 형태로 구성이 가능하다.
    
2. 특정한 명령어를 이용하여 방화벽에서 지원하는 서비스나 port 정보를 불러와 허용, 차단하는 방식 (firewalld)
	- (관리자의 편의성을 증가한 방식)
	- 명령어나 옵션을 이용하여 데이터를 허용, 차단이 가능
	- 정책을 구성하는 방식X
	- 설정 정보만 확인해도 데이터들의 허용, 차단이 파악이 가능
	- 세부적인 조건, 복잡한 정책 구성은 부적합
	- 일반 PC, end point 장비 구성하는 방화벽(host방화벽)으로 적합
	- 네트워크 방화벽으로는 부적합

정책 직접 설정

정책 설정 명령어

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p icmp -s 192.168.50.1 -j DROP (정책 추가)

firewall-cmd --permanent --direct --remove-rule ipv4 filter INPUT 0 -p icmp -s 192.168.50.1 -j DROP (정책 제거)

이 명령어는 firewalld를 사용하여 192.168.50.1 IP 주소에서 오는 ICMP(ping) 요청을 영구적으로 차단하는 방화벽 규칙을 추가하는 것입니다.
이 규칙은 firewalld의 직접 규칙 테이블에 추가되며, 우선순위 0으로 설정되어 가장 먼저 적용됩니다.

▪ filter (패킷을 수락하거나 거부하는 규칙을 정의하는 데 사용)

INPUT (즉, 시스템으로 들어오는 패킷에 대한 규칙을 설정)

-p (protocol)

-s (출발지)

-d (목적지)

 DROP (즉, 출발지 IP가 192.168.50.1인 ICMP 패킷이 시스템에 도달할 경우, 이 패킷을 무시하고 처리하지 않게 됩니다.)

 

설정한 정책 확인

firewall-cmd --direct --get-all-rules


firewall services 설정

- 접근 허용할 서비스를 추가, 제거하는 명령어

firewall-cmd --permanent --zone=public --add-service=telnet

firewall-cmd --permanent --zone=public --remove-service=telnet

permanent(영구적임,껐다 켜도 적용된다.) / zone(방화벽 설정하는 그룹) / (telnet외에도 가능)

재시작해야 적용된다.

 

활성화된 서비스 외에는 접속을 차단시킨다.

telnet을 깔아서 접속을 시도했었지만 허용 목록에 없어서 접속이 차단되었다.

telnet 허용
telnet이 추가되었음
telnet이 추가되었음
telnte 제거
telnet이 제거되었음
telnet이 제거되었음

firewalld를 restart해줘야 서비스목록에 추가,삭제가 된다.

 

- 존 생성

 firewall-cmd --get-default-zone (기본 존 확인)

 firewall-cmd --permanent --new-zone=test (새로운 존 생성) (생성만 한거지 활성화된 것이 아님)

 firewall-cmd --set-default-zone=test (생성한 존을 기본 존으로 지정)

 firewall-cmd --permanent --delete-zone=test (생성한 존 제거)

재시작해야 적용된다.

 

zone이 public에서 test로 변경됨


firewall port 설정

- Port 생성

firewall-cmd --permanent --zone=public --add-port=50000/tcp (port번호 뒤에 protocol도 지정해줘야된다.)

firewall-cmd --reload ← restart안해도 불러와진다.

 

- Port 제거

firewall-cmd --permanent --zone=public --remove-port=50000/tcp


firewall source 설정 (출발지 IP 허용,차단)

192.168.50.1인 출발지 IP를 허용

- 허용 IP 주소 리스트 확인 (기본zone)

▪ firewall-cmd --list-sources

 

- 허용 IP 주소 리스트 확인 (특정zone)

▪ firewall-cmd --list-sources --zone=public

 

- 특정 허용ip 주소 추가 (10.10.10.1) (public zone)

▪ firewall-cmd --permanent --zone=public --add-source=10.10.10.1

 

- 특정 허용ip 주소대역 추가 (20.20.20.0/24) (public zone)

▪ firewall-cmd --permanent --zone=public --add-source=20.20.20.0/24

 

- 특정 허용주소, 대역삭제

▪ firewall-cmd --permanent --zone=public --remove-source=10.10.10.1

▪ firewall-cmd --permanent --zone=public --remove-source=20.20.20.0/24


- icmp-block-inversion => icmp 블록 반전 활성화

firewalld에서 기본 icmp는 전부 허용이다.

 

 firewall-cmd --permanent --zone=public --add-icmp-block-inversion (허용→차단)

 firewall-cmd --permanent --zone=public --remove-icmp-block-inversion (차단→허용)

 

icmp-block-inversion이 no로 설정

윈도우 cmd에서 192.168.50.50으로 ping을 쏘면 ping이 간다.

icmp-block-inversion이 yes로 설정

윈도우 cmd에서 192.168.50.50으로 ping을 쏘면 ping이 가지 않는다.

 

firewall-cmd --permanent --zone=public --add-icmp-block=echo-request (echo-request를 차단하겠다.)

firewall-cmd --permanent --zone=public --remove-icmp-block=echo-request (echo-request를 허용하겠다.)

윈도우 cmd에서 ping을 치면 안된다. (ping만 안되는것)

'시스템 보안 구축' 카테고리의 다른 글

방화벽 실습  (0) 2024.11.11
★tables, chain  (0) 2024.11.11
암호학 정리  (0) 2024.11.07
메일 실습  (0) 2024.11.06
메일 서버 구축  (0) 2024.11.06