728x90
firewalld 이란
firewalld는 CentOS7부터 이전의 많이 불편했던 iptables를 대체해 새롭게 선보인 패킷 필터링 방화벽 프로그램이라고 합니다. firewalld 명령어는 해당 데몬이 실행된 상태여야 명령어들을 실행하여 적용할 수 있으며, firewalld 데몬은 이러한 명령어들로부터 설정 내용을 전달받아 명령어 iptables로 전달합니다.
(firewalld 데몬은 systemctl start firewalld 를 통해 서비스를 시작할 수 있으며, 재부팅 할 때마다 계속 서비스를 실행하기 위해서는 systemctl enable firewalld 를 해주면 됩니다.)
Netfilter
이러한 firewall 관련 명령어가 firewalld 데몬을 통해 iptables로 전달되고 iptables로 들어오면 리눅스 커널에서 Netfilter 모듈이 활성화되어야 제대로 동작합니다. (default로 활성화되어 있습니다.)
firewalld 명령어 사용법
firewalld 목록보기
# firewall-cmd --list-all |
firewalld 기본 존 변경하기
# firewall-cmd --set-default-zone=dmz |
서버 랜포트 NIC마다 변경하기
# firewall-cmd --zone=dmz --change-interface=eth0 # firewall-cmd --zone=dmz --change-interface=eth1 |
존 만들기
# firewall-cmd --permanent --new-zone=webdmz |
* permanent 설명 : 영구적으로 적용합니다.
존 목록 확인
# firewall-cmd --get-zones |
firewall 정책 추가, 제거, 해제, 설정 적용
추가
# firewall-cmd --permanent --zone=[zone이름] --add-service=서비스이름 # firewall-cmd --permanent --zone=[zone이름] --add-interface=이더넷이름 # firewall-cmd --permanent --zone=[zone이름] --add-source=소스이름 # firewall-cmd --permanent --zone=[zone이름] --add-protocol=프로토콜 # firewall-cmd --permanent --zone=[zone이름] --add-forward-port=포트번호 # firewall-cmd --permanent --zone=[zone이름] --add-source-port=포트번호 # firewall-cmd --permanent --zone=[zone이름] --add-rich-rule # firewall-cmd --permanent --zone=public --add-port=포트번호/tcp # firewall-cmd --permanent --zone=[zone이름] --add-port=포트범위/tcp (UDP 의 경우에는 tcp 말고 udp 라고 기입해야 합니다. ) |
제거
# firewall-cmd --permanent --remove-port=포트번호/tcp |
저장 및 실행적용
# firewall-cmd --reload firewall 개별적으로 명령어를 입력하고 설정 후 reload 하지 않으면 적용이 안됩니다. 꼭 해주어야 합니다. |
firewalld ddos 의심패킷 차단 방법
# iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP 초당 10번 이상 접속은 drop 하라는 의미이다. firewall-cmd 에서도 iptables 를 확장하여 사용할 수가 있다. # firewall-cmd --permanent --direct --add-passthrough ipv4 -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP # firewall-cmd --reload # iptables -L | grep DROP DROP tcp -- anywhere anywhere tcp dpt:http flags:FIN,SYN,RST,ACK/SYN #conn src/32 > 10 |
firewalld 서비스데몬 관리 명령어
# systemctl enable | disable | stop | start | restart firewalld |
'Linux OS > 관리' 카테고리의 다른 글
xfs 디스크 리사이즈 (0) | 2023.03.24 |
---|---|
디스크 파티션 ext4 리사이즈 (확장) (0) | 2023.03.22 |
iptables (0) | 2023.03.12 |
bash 스크립트에서 자주사용하는 명령어 echo, sed 및 특수문자 (0) | 2023.03.12 |
리눅스 모듈 관리(lsmod, modprobe, modinfo) (0) | 2023.03.12 |
댓글