강좌
클라우드/리눅스에 관한 강좌입니다.
해킹&보안 분류

리눅스마스터1급: iptables의 활용을 통한 방화벽 구축1편 -iptables의 기본설정

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: iptables의 활용을 통한 방화벽 구축1-iptables의 기본설정

 

 

 

 

iptables는 리눅스상에서 IPV4 방화벽을 설정하는 도구로써, 커널 2.4 이전버전에서 사용되던 ipchains를 대신하는 방화벽 도구이다.

 

 

 

iptables는 커널상에서의 netfilter 패킷필터링 기능을 사용자 공간에서 제어하는 수준으로 사용할 수 있다.

 

 

 

특정조건을 가지고 있는 패킷에 대해 허용(Accept)과 차단(DROP)등을 지정할 수 있으며, 수많은 확장된 기능을 통해 다양한 방식의 패킷 필터링과 처리방식을 지원하고 있다.

 

 

현재 배포판들은 설치와 동시에 기본적으로 iptables를 사용할 수 있게 구성되어 있다.

 

다음은 RockyLinux를 처음 설치한 후 iptables의 초기설정을 확인한 것이다.

 

[root@RockyLinux01 ~]# iptables -L

Chain INPUT (policy ACCEPT)

target prot opt source destination

 

Chain FORWARD (policy DROP)

target prot opt source destination

DOCKER-USER all -- anywhere anywhere

DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere

ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED

DOCKER all -- anywhere anywhere

ACCEPT all -- anywhere anywhere

ACCEPT all -- anywhere anywhere

 

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

 

Chain DOCKER (1 references)

target prot opt source destination

 

Chain DOCKER-ISOLATION-STAGE-1 (1 references)

target prot opt source destination

DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere

RETURN all -- anywhere anywhere

 

Chain DOCKER-ISOLATION-STAGE-2 (1 references)

target prot opt source destination

DROP all -- anywhere anywhere

RETURN all -- anywhere anywhere

 

Chain DOCKER-USER (1 references)

target prot opt source destination

RETURN all -- anywhere anywhere

[root@RockyLinux01 ~]#

 

 

 

기본적으로 iptables에는 세 가지 체인이 있고, 모든 패킷은 이 세 가지 체인 중 하나를 통과하게 된다.

 

 

 

이 세 가지 체인은 INPUT, OUTPUT, FORWARD 체인인데, 우선 컴퓨터로 들어가는 모든 패킷은 INPUT 체인을 통과한다.

 

 

 

그리고 컴퓨터에서 나가는 모든 패킷은 OUTPUT 체인을 통과한다.

 

 

 

그리고 하나의 네트워크에서 다른 곳으로 보내는 모든 패킷은 FORWARD 체인을 통과한다.

 

 

 

 

 

iptables가 작동하는 방식은 이들 각각의 INPUT, OUTPUT, FORWARD 체인에 어떠한 rule을 세우는 지에 따라 달라진다.

 

 

 

예를 들어 HTML 페이지를 요청하기 위해 www.linux.co.kr에 패킷을 보낸다면, 이 패킷은 우선 컴퓨터의 OUTPUT 체인을 통과하게 된다.

 

 

 

그러면 커널에서 OUTPUT 체인의 룰을 확인하고 룰과 매치가 되는지 확인을 하게 된다.

 

 

 

룰 중에서 최초로 매치되는 것에 의해 보낸 패킷의 운명이 결정되는 것이다.

 

 

 

만약 어떤 룰과도 매치되지 않는다면 전체 체인의 정책이 ACCEPTDROP이냐에 따라 패킷의 운명이 결정될 것이다.

 

 

 

그러고 나서 www.linux.co.kr에서 응답하는 패킷은 INPUT 체인을 통과하게 될 것이다.

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  111 명