Firewall cmd 명령어 - firewall cmd myeonglyeong-eo

firewall이란?

방화벽 또는 파이어월(firewall)은 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템이다. 리눅스에서는 firewall명령어로 설정할 수 있다.

설치 및 서비스 실행

yum install firewalld

systemctl start firewalld

firewalld config 파일 위치 (zone, mark, clean up, lockdown, IPv6_rpfilter, individualcalls, logDenied)

  • /etc/firewalld/firewalld.conf

커스터마이징 zone확인

  • /etc/firewalld/zones//[zone].xml

public zone확인

  • /etc/firewalld/zones/public.xml
Firewall cmd 명령어 - firewall cmd myeonglyeong-eo

방화벽 설정파일 위치확인

which firewalld

사전 정의된 존 목록 출력

firewall-cmd --list-all-zones

서비스 재구동

firewall-cmd --reload

서전 정의된 존 목록 출력

firewall-cmd --get-zones

Firewall cmd 명령어 - firewall cmd myeonglyeong-eo

기본 존 출력

firewall-cmd --get-default-zone

활성화된 존 출력

firewall-cmd --get-active-zone

 존삭제

firewall-cmd --permanent --delete-zone=webserver

사전에 정의된 서비스 목록 확인

firewall-cmd --get-services

dmz존에 영구적으로 등록된 서비스 목록 확인

firewall-cmd --permanent --list-all --zone=dmz

서비스 추가

firewall-cmd --permanent --zone=dmz --add-service=http

서비스 삭제

firewall-cmd --permanent --zone=dmz --remove-service=http

포트추가

firewall-cmd --permanent --zone=public --add-port=8080/tcp

firewall-cmd --permanent --zone=public --add-port=4000-4100/tcp

포트 삭제

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

허용IP추가

firewall-cmd --permanent --zone=pbulic --add-source=192.168.1.0/24 --add-port22/tcp

firewall-cmd --reload

rich-rul 설정

  • firewall-cmd에서 필요로 하는 옵션을 제공하지 않을 경우 rich rule언어를 사용하여 직접 방화벽 규칙을 설정할 수 있음.

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" port protocol="tcp" port="9000" accept"

direct

  • --direct 옵션을 사용하면 기존의 iptables 명령처럼 직접 방화벽 내부에 접근해서 설정할 수 있음

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

firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o eth_ext -j MASQUERADE

웹서버 방화벽 설정

생성

firewall-cmd --permanent --new-zone=webserver

활성화

firewall-cmd --set-default-zone=webserver

방화벽에 포트 추가

firewall-cmd --permanent --zone=webserver --add-service=http

firewall-cmd --permanent --zone=webserver --add-service=https

정상 설정 여부 확인

firewall-cmd --list-services --zone=webserver

출처

Firewall cmd 명령어 - firewall cmd myeonglyeong-eo

상태 확인

firewall-cmd --state

설치

sudo yum install firewalld
//시작시 자동으로 firewall daemon 실행
sudo systemctl enable firewalld
sudo systemctl start firewalld

방화벽에 http, https 서비스 접근 허용 설정

//방화벽에 서비스 추가(통신 가능하게)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
//방화벽에 서비스 제거(통신 불가능하게)
sudo firewall-cmd --permanet --remove-service=http
sudo firewall-cmd --permanet --remove-service=https

특정 포트 접근 허용 설정 

//tcp 8080 포트 해제
sudo firewall-cmd --permanent --add-port=8080/tcp
//tcp 8080 포트 해제 제거
sudo firewall-cmd --permanent --add-remove=8080/tcp

포트 구간 접근 허용 설정

//tcp 8000~9000 port 설정
sudo firewall-cmd --permanent --add-port==8000-9000/tcp
//제거
sudo firewall-cmd --permanent --remove-port==8000-9000/tcp

특정 ip 접근허용 설정

//192.168.0.100 접근허용 설정
sudo firewall-cmd --permanent --add-source=192.168.0.100
//제거(접근 불가)
sudo firewall-cmd --permanent --remove-source=192.168.0.100

특정 ip 대역 접근 허용 설정

//192.168.0.0 대역의 모든 ip허용(subnet mask: 255.255.255.0)
sudo firewall-cmd --add-source=192.168.0.0/24
//제거(접근불가)
sudo firewall-cmd --remove-source=192.168.0.0/24

특정 ip 접근 불가 설정

//192.168.0.100 에 대해 접근 불가 설정 reject:피드백 있음, drop:피드백 없음
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=192.168.0.100 reject' 
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=192.168.0.100 drop'
//제거
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address=192.168.0.100 reject '
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address=192.168.0.100 drop' 

특정 ip에 대해 특정 포트 접근 허용 설정

//192.168.0.100 에 대해 8080 포트 허용
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=192.168.0.100 port port="8080" protocol="tcp" accept'
//제거
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address=192.168.0.100 port port="8080" protocol="tcp" accept'

ip 대역에 대해 특정 포트 접근 허용 설정

//설정
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address=192.168.0.0/24 port port="8000" protocol="tcp" accept'
//제거
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address=192.168.0.0/24 port port="8000" protocol="tcp" accept'

변경된 firewall 설정 적용

sudo firewall-cmd --reload

현재 적용된 firewall 설정 보기

firewall-cmd --list-all
Firewall cmd 명령어 - firewall cmd myeonglyeong-eo
DEV