본문 바로가기
KISA/KISA - 정보보호제품군(기본)

03. 방화벽 기능 실습

by ㅇㅅㅇ.. 2024. 11. 20.

네트워크 구성도

Internet을 중심으로 공격자, 일반사용자, DNS와 NTP서버, 기업망까지 총 4개로 구성. 기업망은 라우터를 기점으로 UTM 두 대가 이중화로 구성되어 있으며, 각 UTM은 라우터와 통신할 수 있는 IP, 이중화 HA를 위한 IP, 기업 내부에 있는 업무망, DMZ망, 관리망에 연결되어 있음. 


1. 네트워크 인터페이스 할당
기존에 설정되어 있던 eth2를 제외한 나머지 네트워크 인터페이스를 아래 표와 같이 할당하기

[ eth0: 업무망 / eth1: DMZ / eth3: UTM HA Link / eh4: 라우터와 통신 ] => 각 용도에 맞게 IP와 Netmask 구성 

 

실습환경의 네트워크 토폴로지 내에서 AdminConsol에 우클릭하여 접속

 

관리 시스템 접속
첫화면 DASHBOARD. 우측 상단 설정 클릭
[설정] - [네트워크] - [인터페이스 설정]

 

현재는 eth2(Management - AdminConsol)만 설정된 상태

 

Mobaxterm에서 admin으로 로그인

 

네트워크 인터페이스를 추가하기 전에 ifconfig를 해보면 eth2는 IPv4 주소가 할당되어 있지만,
나머지 인터페이스들은 IPv6주소만 설정되어 있어 IPv4 기반 네트워크와는 통신할 수 없음. 

 

 

상단의 표를 바탕으로 인터페이스 설정을 추가한 뒤, 확인 버튼을 먼저 누르고 정책 전송 버튼을 눌러 수정사항 반영

(참고로.. 사진에 보이는 것과 같이 eh1을 172.0.0.1이 아니라 127.0.0.1으로 잘못 적고..
이후 NAT 설정에서 사이트 접속이 안 돼서 몇 시간 동안 삽질한.. )

다시 ifconfig를 했을 때 각 인터페이스에 IPv4 주소가 추가된 것을 확인할 수 있음 

 


2. 라우팅 설정
DNS/NTP 서버와의 통신 설정하기(UTM에서 외부에 있는 DNS/NTP서버와  통신이 가능하도록 라우팅 정책 추가)
[ 13.124.137.2 -> 72.19.111.55 ]

 

일단 DNS 서버를 연결하기 전에 터미널에서 DNS 서버 주소로 ping 명령어를 날리면 작동하지 않는다.

[네트워크] - [라우팅] - [Static]

  • 게이트웨이 주소: [13.124.137.1] -> 내부망에서 외부로 나가는 라우터의 IP 주소
  • 인터페이스: eth4 -> 라우터 통신을 위한 인터페이스
  • 목적지 IP, Netmask: 0.0.0.0  -> 내부 네트워크의 IP 주소가 아닌 외부 주소로 패킷을 보낼 때, 모든 트래픽은 [13.124.137.1]을 지난다는 의미

     => 기본 라우팅 경로(Default Route)로 설정하는 것

 

DNS/NTP 서버로
공격자 컴퓨터로

 

라우팅 설정을 하였으므로, 내부망이 아닌 외부의 다른 IP주소로 ping 하였을 때 전송이 잘되는 것을 확인할 수 있음


3. 객체 생성

망 내의 모든 host들에 대한 객체 생성하기 => (기업 내 -  업무망 1 / DMZ망 2 / 관리망 1, 총 4대의 호스트 등록)

객체는 이후 보안정책 설정 시 편리하게 등록할 수 있도록 도와준다.

 

[객체] - [IP 주소]

 

1-2는 기존에 있던 것이고 3-6까지 객체 생성

 


4. NAT 설정

웹서버를 외부에서 접근할 수 있도록 NAT 설정하기

 

현재 기업내의 DMZ망에서 두 개의 Web 서버가 실행되고 있으며, 같은 내부망인 [AdminConsole]에서 접근하게 되면 위와 같이 접근이 가능하다.

반면 외부의 Attacter의 컴퓨터인 kali에서 접근할 경우 두 사이트 모두 연결이 불가능하다.

 

 

(1) SNAT 설정
서비스 접근을 위해서는 [사설 IP -> 공인 IP]로 변경해야 하므로 네트워크 인터페이스가 외부인 eth4를 대상으로 SNAT 설정

[필터링] - [IPv4 주소변환]

 

(2) DNAT 설정
[공인 IP -> 사설 IP] 

웹서버를 구동할 때의 서비스 포트 객체 추가. 목적지 포트는 4000번으로 설정

[객체] - [서비스]

아래와 같이 두 개의 웹 서버의 DNAT 설정

[필터링] - [IPv4 주소변환]

 

이후 공격자의 컴퓨터에서 두 웹 사이트에 접근하면 접속이 가능함.

 


5. 화이트/블랙 리스트

리스트에 포함하여 차단할 웹서버 생성 후 차단 설정해 보기

 

kali에 접속해 홈디렉토리에서
$ sudo python3 -m http.server로 웹 서버 실행

 

이후 기업 내부망 중 하나인 [AdminConsol]에서 공격자가 호스팅 하는 웹 서버 “http://24.31.211.19:8000”에 접속하면 위와 같이 접근이 가능함

[필터링] - [IPv4 White / Black IP]

 

내부망에서 해당 사이트로 접근하지 못하게 blacklist에 추가하면

 

 

접근이 불가능해진다.


6. 필터링

우선순위에 맞게 필터링 조건 걸기

Filtering
외부 네트워크로부터 내부 네트워크를 방어하기 위해 패킷의 IP 주소와 포트 번호 등의 조건으로 통신을 허가하거나 거부하는 것.

UTM 장비의 관리페이지는 아무나 접근할 수 없어야 하지만 아래와 같이 Attacker의 컴퓨터에서 URL로 접근이 가능함. 

 


위 표를 바탕으로 다음 두 가지 조건을 만족하는 필터링 조건 설정하기
(1) AdminConsole만 접근을 허용하고 나머지(웹 서버 2개, User01, Attacker, Public) 등은 접근이 불가하도록 설정.
(2) 웹 서버 두 대의 경우 공개된 웹 서비스를 운영하기 때문에 어디서든 접근이 가능하도록 설정 

 

기본으로 저장되어 있는 조건을 보면 모든 서비스가 Accept 되어 있다. 

  1. 도착주소 eth2는 AdminConsole에서만 접근 가능하도록 Accept 하고 기존 필터링은 삭제
  2. Web Server1과 Web Server2는 어디서든 접근 가능하도록 Accept
  3. 위 1,2번이 우선순위가 높으며 그다음으로는 모든 외부 접근을 Deny

필터링 정책 적용 후 Attacker에서 “https://13.124.137.2”에 접속하면 접근이 불가 

반면 Web Server1, 2에는 접근이 가능

 

 


<새로 알게 된 것>

 

* Network topology

컴퓨터 네트워크의 요소들(링크, 노드..) 등을 물리적으로 연결해 놓은 것 (또는 연결 방식)

 

$ sudo python3 -m http.server

Python을 사용하여 간단하게 HTTP 서버를 실행하는 방법.
명령어가 실행된 디렉토리의 파일을 브라우저를 통해 접근할 수 있다.

(URL: http:// [IP 주소]:8000 )

 

 

SNAT과 DNAT

'KISA > KISA - 정보보호제품군(기본)' 카테고리의 다른 글

07. SYN Flooding  (0) 2025.01.31
06. ICMP Flooding  (0) 2024.11.23
05. HA 구성 실습  (0) 2024.11.23
04. 로깅과 백업  (0) 2024.11.22