CentOS 방화벽 firewalld 설정하기
페이지 정보
본문
센토스 7 에서는 방화벽으로 firewalld 를 사용한다.
물론, 내부적으로는 iptables 가 여전히 사용되지만, front-end 로 firewalld 를 사용하는 모양이다.
1. 설정파일
firewalld 의 기본 설정파일은 아래 파일이다.
/etc/firewalld/firewalld.conf
firewalld.conf 파일 안에 보면, DefaultZone 이 있는데, 이 디폴트존파일에 룰셋이 저장된다.
/etc/firewalld/zones/public.xml
2. 명령어 및 옵션
이 firewalld 를 제어하는 명령어는 firewall-cmd 이다.
firewall-cmd 의 사용법을 알아보자.
현재 방화벽 전체 룰셋 보기
# firewall-cmd --list-all
룰셋 리로드
# firewall-cmd --reload
개별 룰셋 적용하기
참고로,
룰셋 적용을 일시적으로 하는 것이 있고, 영구적으로 하는 것이 있다.
영구적으로 룰셋을 적용하기 위해서는 --permanent 옵션을 추가해 주어야 한다.
그렇지 않으면, 리부팅 등을 해 버리면 없어진다.
그리고, --permanent 로 추가한 룰셋은 위의 --reload 로 새로 로드를 해 줘야 한다.
특정 IP 차단하기
# firewall-cmd --add-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx drop"
# firewall-cmd --add-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx reject"
참고로, reject 는 알려 주고, drop 은 알려 주지도 않는다.
- add-rich-rule 로 추가한 것은 remove-rich-rule 로 삭제할 수 있다.
# firewall-cmd –permanent –add-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx/24 drop"
# firewall-cmd –permanent –remove-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx/24 drop"
- permanent 로 추가한 룰셋은 reload 해 주어야 한다.
# firewall-cmd --reload
- log prefix 를 이용해서 주석 같은 것을 달 수도 있다.
# firewall-cmd –permanent –add-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx/24 log prefix=badbot drop"
- 설정된 룰셋들은 아래 xml 파일에 잘 저장되어 있다.
/etc/firewalld/zones/public.xml
```
<rule family="ipv4">
<source address="xxx.xxx.xxx.xxx/24"/>
<log prefix="badbot"/>
<drop/>
</rule>
```
- permanent 로 추가한 룰셋은 reload 해 주어야 한다.
# firewall-cmd --reload
ㅇ --direct 옵션
iptables 명령어 형태를 사용하기 위해서는 --direct 옵션을 추가해 주어야 한다.
# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m geoip --src-cc CN -j DROP
# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -m geoip ! --src-cc KR -j DROP
* 주의
-m geoip ! --src-cc KR -j DROP 에서 주의할 점은 localhost 사설아이피 등이 다 막혀 버린다!
* 참고
https://hanaldo.tistory.com/49
** 참조
http://ganesis.tistory.com/entry/CentOS-20170609
https://jirak.net/wp/firewalld-%EA%B8%B0%EB%B0%98%EC%9D%98-%EC%A0%91%EA%B7%BC%EC%A0%9C%EC%96%B4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/
https://linoxide.com/linux-how-to/block-ips-countries-geoip-addons/
물론, 내부적으로는 iptables 가 여전히 사용되지만, front-end 로 firewalld 를 사용하는 모양이다.
1. 설정파일
firewalld 의 기본 설정파일은 아래 파일이다.
/etc/firewalld/firewalld.conf
firewalld.conf 파일 안에 보면, DefaultZone 이 있는데, 이 디폴트존파일에 룰셋이 저장된다.
/etc/firewalld/zones/public.xml
2. 명령어 및 옵션
이 firewalld 를 제어하는 명령어는 firewall-cmd 이다.
firewall-cmd 의 사용법을 알아보자.
현재 방화벽 전체 룰셋 보기
# firewall-cmd --list-all
룰셋 리로드
# firewall-cmd --reload
개별 룰셋 적용하기
참고로,
룰셋 적용을 일시적으로 하는 것이 있고, 영구적으로 하는 것이 있다.
영구적으로 룰셋을 적용하기 위해서는 --permanent 옵션을 추가해 주어야 한다.
그렇지 않으면, 리부팅 등을 해 버리면 없어진다.
그리고, --permanent 로 추가한 룰셋은 위의 --reload 로 새로 로드를 해 줘야 한다.
특정 IP 차단하기
# firewall-cmd --add-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx drop"
# firewall-cmd --add-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx reject"
참고로, reject 는 알려 주고, drop 은 알려 주지도 않는다.
- add-rich-rule 로 추가한 것은 remove-rich-rule 로 삭제할 수 있다.
# firewall-cmd –permanent –add-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx/24 drop"
# firewall-cmd –permanent –remove-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx/24 drop"
- permanent 로 추가한 룰셋은 reload 해 주어야 한다.
# firewall-cmd --reload
- log prefix 를 이용해서 주석 같은 것을 달 수도 있다.
# firewall-cmd –permanent –add-rich-rule="rule family=ipv4 source address=xxx.xxx.xxx.xxx/24 log prefix=badbot drop"
- 설정된 룰셋들은 아래 xml 파일에 잘 저장되어 있다.
/etc/firewalld/zones/public.xml
```
<rule family="ipv4">
<source address="xxx.xxx.xxx.xxx/24"/>
<log prefix="badbot"/>
<drop/>
</rule>
```
- permanent 로 추가한 룰셋은 reload 해 주어야 한다.
# firewall-cmd --reload
ㅇ --direct 옵션
iptables 명령어 형태를 사용하기 위해서는 --direct 옵션을 추가해 주어야 한다.
# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m geoip --src-cc CN -j DROP
# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -m geoip ! --src-cc KR -j DROP
* 주의
-m geoip ! --src-cc KR -j DROP 에서 주의할 점은 localhost 사설아이피 등이 다 막혀 버린다!
* 참고
https://hanaldo.tistory.com/49
** 참조
http://ganesis.tistory.com/entry/CentOS-20170609
https://jirak.net/wp/firewalld-%EA%B8%B0%EB%B0%98%EC%9D%98-%EC%A0%91%EA%B7%BC%EC%A0%9C%EC%96%B4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/
https://linoxide.com/linux-how-to/block-ips-countries-geoip-addons/
추천0
댓글목록
등록된 댓글이 없습니다.