RadarURL
Skip to content
유닉스/리눅스
2017.06.20 18:11

리눅스 방화벽 firewalld (CentOS 7)

조회 수 36 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

CentOS 7부터 기본 방화벽 시스템이 변경되었습니다. 이전에는 iptables 를 사용했었는데.. CentOS 7에서는 firewalld라는 방화벽 시스템이 기본으로 탑재되었습니다. 

 

그렇다고 iptables이 완전히 없어진 것은 아닙니다. firewalld은 그저 iptables을 기반으로해서 동작하고 있는 것 뿐입니다. firewalld이 iptables을 의존 패키지로 두고 있는 것을 보면 알 수 있습니다. 다만 iptables-service를 조작이 쉬운 firewalld로 바꾼 것 뿐입니다.

 

centos 7부터는 iptables-service를 더 이상 사용하지않지만, iptables-service를 계속 사용할 수도 있습니다. 리눅스를 계속 사용해온 사용자라면 당연히 익숙했던 iptables-service가 더 편할 것입니다. 하지만 기본 방화벽 시스템이 변경된 이상 iptables-service의 향후 지원도 불확실하고, 어쩌면 익숙해지면 firewalld가 더 편할 수도 있습니다.

 

이런저런 이유로 기본 firewalld 사용을 권장하고, 그 사용방법에 대해 알아보겠습니다.

 

 

1. 방화벽 살펴보기

방화벽에는 zone(영역)이라는 것이 존재합니다. 개방된 네트워크와 연결되어있다면 public zone(공개영역)에 있는 룰이 적용되고, 개인 네트워크에 있다면 다른 zone의 룰의 적용할 수 있습니다. 이 처럼 네트워크 형태에 따라 적용하는 방화벽 룰을 다르게 할 수 있습니다.

 

우리는 서버 용도로 리눅스를 사용하기때문에 개방된 네트워크 public zone 만 필요합니다. 또한 방화벽에는 public zone이 기본 zone 으로 설정되어있습니다. 이는 방화벽 설정파일에서 변경가능합니다.

 

* public zone의 설정파일

/etc/firewalld/zones/public.xml

 

* 방화벽 재로드

# firewall-cmd --reload

 

설정파일은 xml 형식으로 되어있으며, firewall-cmd --permanent --zone=public 명령으로 추가했던 룰들이 저장되어있습니다. zone의 설정파일을 변경할 경우 방화벽 재로드를 해야 반영이 됩니다. 

 

또한 firewall-cmd에서 --permanent 옵션이 들어간다면 반영은 되지않고, 해당 zone의 설정파일에서 룰 추가/수정만 이루어집니다. 따라서 --permanent 옵션 넣었다면 방화벽 재로드를 해야합니다. 

 

참고로 설정파일에 추가된 룰은 영구반영됩니다. 만약 --permanent 옵션을 넣지않으면, 일시적으로 즉시 반영됨을 의미합니다. (재부팅할 경우 zone의 설정파일에 추가되지않은 룰은 전부 삭제됩니다. )

 

 

2. 포트

포트를 방화벽에 추가하면 해당 포트는 허용됩니다.

 

* 포트추가

 

# firewall-cmd --permanent --zone=public --add-port=포트

예) firewall-cmd --permanent --zone=public --add-port=80/tcp

 

# firewall-cmd --reload

 

 

* 포트 제거

# firewall-cmd --permanent --zone=public --remove-port=포트

예) firewall-cmd --permanent --zone=public --remove-port=80/tcp

 

# firewall-cmd --reload

 

 

3. 서비스

서비스에서 사용하는 룰을 적용하려면 아래와 같이 서비스를 추가하면 됩니다. 

단, 해당 서비스 xml 룰 파일이 /usr/lib/firewalld/services 에 있어야 사용할 수 있습니다. 

 

* 서비스 추가

firewall-cmd --permanent --zone=public --add-service=서비스

예) firewall-cmd --permanent --zone=public --add-service=http

 

# firewall-cmd --reload

 

* 서비스 제거

firewall-cmd --permanent --zone=public --remove-service=서비스

예) firewall-cmd --permanent --zone=public --remove-service=http

 

# firewall-cmd --reload

 

그리고 /usr/lib/firewalld/services 디렉토리에 있는 서비스 파일들을 수정하려면 /etc/firewalld/services에 복사후 수정해야 합니다. (/etc/firewalld/services에 있는 서비스 파일들이 우선 적용되기에 관리상 편리합니다..)

 

4. 임의의 룰 (Rich rule)

포트, 서비스 룰 이외에 원하는 룰을 임의로 적용할 수 있습니다. 예를 들면 ip차단 같은...

 

* 룰 추가

# firewall-cmd --permanent --zone=public --add-rich-rule="임의의 룰"

예) firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=192.168.0.4/24 service name=http accept"

 

# firewall-cmd --reload

 

* 룰 제거

# firewall-cmd --permanent --zone=public --remove-rich-rule="임의의 룰"

예) firewall-cmd --permanent --zone=public --remove-rich-rule="rule family=ipv4 source address=192.168.0.4/24 service name=http accept"

 

# firewall-cmd --reload

 

 

* 응용예시 - http(80번 포트) 서비스에서 특정 ip 차단

웹서버를 운영하다보면 특정ip(스팸같은)를 차단시키고 싶을 때가 있습니다. 그럴경우 아래와 같이 임의의 룰을 활용하면 됩니다.

 

 

차단시)

# firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=차단ip service name=http reject"

 

차단해제시)

# firewall-cmd --permanent --zone=public --remove-rich-rule="rule family=ipv4 source address=차단ip service name=http reject"

 

# firewall-cmd --reload

 

 

위 명령을 실행하면 즉시 , 영구적으로 해당 ip를 웹사이트에 접속하지못하게 차단시킬 수 있습니다. 이 방법은 웹서버 자체에서 ip를 차단시키는 것보다 효과적입니다.

 

 

5. 방화벽 기타 명령어

방화벽에서 유용 명령어들입니다

 

* 허용한 포트 목록

# firewall-cmd --list-ports

 

 

* 방화벽 상태 확인

# firewall-cmd --state

 

* 활성화된 zone 목록

# firewall-cmd --get-active-zones

 

* 현재 존재하는 서비스 목록

# firewall-cmd --get-service

 

public zone에 있는 서비스 목록

 

# firewall-cmd --zone=public --list-services

 

 

 

참조 : http://oracle-base.com/articles/linux/linux-firewall-firewalld.php

 

출처 : https://www.conory.com/note_linux/42477

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.17 828797
2416 유닉스/리눅스 CentOS 7 리눅스 방화벽(firewalld) 포트 포워딩(Port Forwarding) JaeSoo 2017.06.20 40
» 유닉스/리눅스 리눅스 방화벽 firewalld (CentOS 7) JaeSoo 2017.06.20 36
2414 유닉스/리눅스 [CentOS] 7으로 버전업된 방화벽관리(firewall-cmd) JaeSoo 2017.06.20 12
2413 유닉스/리눅스 CentOS 7 초기 서버 세팅 / WordPress 설치하기 JaeSoo 2017.06.20 54
2412 하드웨어 재미로보는 파워 등급표 - 무림편 V.1.1 (수정) file JaeSoo 2017.06.15 59
2411 데이터베이스 TEMP TABLESPACE 사용현황 조회하기 JaeSoo 2017.06.14 23
2410 데이터베이스 오라클 DB sysdba 접속방법 JaeSoo 2017.06.14 103
2409 데이터베이스 쿼리의 응답속도가 갑자기 느려지는 경우 file JaeSoo 2017.06.14 35
2408 데이터베이스 ORACLE TRACE 기능으로 인한 CONNECT 지연 문제(EPC_DISABLED) JaeSoo 2017.06.14 310
2407 데이터베이스 Oracle 전용서버(Dedicated Server) VS 공유서버(Multi Thread Server) JaeSoo 2017.06.14 27
2406 취미 왕초보를 위한 XBOX 360 글리치 매뉴얼 JaeSoo 2017.06.14 336
2405 유닉스/리눅스 AIX 5.3 TL07이상에서 MD5 패스워드 사용하기 JaeSoo 2017.06.13 33
2404 윈도우즈 "ReadyBoot" 세션의 최대 파일 크기에 도달했습니다. file JaeSoo 2017.06.12 73
2403 윈도우즈 이벤트 뷰어 시스템 오류 해결 문의입니다. (DistributedCOM, 이벤트ID 10016) file JaeSoo 2017.06.12 97
2402 하드웨어 Synology NAS RMA후기~ file JaeSoo 2017.06.10 77
2401 유닉스/리눅스 리눅스(linux) hostname 변경하는 방법 (CentOS 6, 7) JaeSoo 2017.06.02 35
2400 유닉스/리눅스 CentOS 멀티 IP 설정 방법 file JaeSoo 2017.06.02 23
2399 유닉스/리눅스 [CentOS] IP설정 ifconfig , ifcfg-eth0 설정하기 file JaeSoo 2017.06.02 48
2398 경제 [손가락장해]로 후유장해보험금 제대로 받기 file JaeSoo 2017.05.19 171
2397 건강 오른손 검지 두마디가 없습니다. 장애등급이 얼마나 나올 수 있는건지요? JaeSoo 2017.05.19 140
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 124 Next
/ 124

 

■ 즐겨찾기 - 가족
JAESOO's HOMEPAGE YOUNGAE's HOMEPAGE 장여은 홈페이지 장여희 홈페이지 장여원 홈페이지

■ 즐겨찾기 - 업무
알리카페 홀릭 숭실대 컴퓨터 통신연구실 (서창진) 말레이시아 KL Sentral 한국인 GuestHouse

■ 즐겨찾기 - 취미
어드민아이디 유에코 사랑회 아스가르드 좋은사람/나쁜사람 JServer.kr 제이서버 메타블로그 재수 티스토리

■ 즐겨찾기 - 강의, 커뮤니티
재수 강의 홈페이지 한소리 VTMODE.COM 숭실대 인공지능학과 숭실대 통신연구실


PageViews   Today : 2,566   Yesterday : 2,669   Total : 61,427,985  /  Counter Status   Today : 852   Yesterday : 966   Total : 3,339,047
Site Info   Member : 1,395  /  Total documents : 7,156   New documents : 1  /  Total comments : 516

design by by JAESOO.com

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소