본문 바로가기
정보보안/OS

방화벽 활용을 위한 가상 인프라 구축 시나리오 - CentOS(Firewall)-Fedora(Office), Virtual Box

by 우동이 2022. 12. 15.
300x250

작업환경 : Virtual Box 7, CentOS 8.3, Fedora 39

 

 

인프라 구성도

 

구축할 가상 인프라의 대략적인 구성도입니다.

사용할 방화벽의 종류는 CentOS 8 - iptables이며

공격자는 Kali Linux 그리고 피해자 Fedora입니다.

 

구성이 끝난 상태에서 작성한 포스팅인데

이게 노트북의 Virtual Box환경에서 구성하려니 네트워크 지식도 부족해서

하면서 막히는 부분이 많더라고요

 

예를 들면 DNS 설정이 되었음에도 불구하고 외부 인터넷 접속이 안된다거나

fedora의 mirror사이트로 접속이 안된다거나..

 

아무튼 먼저 인프라 구축을 시작해보겠습니다.

 


1.가상 머신 네트워크 설정

호스트 어댑터 생성

 

192.168.200.x, 192.168.100.x 두 개의 호스트 전용 어댑터 네트워크 대역을 생성해줍니다.

 

 

파일 - 도구 - NetWork Manager

 

 

네트워크 설정은 [파일] - [도구] - [NetWork Manager]에서 가능합니다.

 

어댑터 생성이 끝났으면 CentOS, Kali Linux, Fedora 세 개의 가상머신 파일을 다운로드해 설치해줍니다.

 


CentOS

 

Download

Home Download Architectures Packages Others x86_64 RPMs Cloud | Containers | Vagrant ARM64 (aarch64) RPMs Cloud | Containers | Vagrant IBM Power BE (ppc64) RPMs Cloud | Containers | Vagrant IBM Power (ppc64le) RPMs Cloud | Containers | Vagrant ARM32 (armhf

www.centos.org

Kali Linux

 

Get Kali | Kali Linux

Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.

www.kali.org

Fedora

 

Get Fedora

Choose Freedom. Choose Fedora. Pick a flavor of Fedora streamlined for your needs, and get to work right away.

getfedora.org


 

세 개의 가상 머신이 전부 설치가 완료되었다는 상태를 가정하고

각 OS 간의 네트워크 설정을 진행하겠습니다.

 


2. 방화벽 네트워크 설정

어댑터1

 

어댑터2
어댑터3

 

 

첫 번째는 방화벽 네트워크의 설정값입니다.

 

각각 매칭 되는 네트워크는 다음과 같습니다.

 

  • 어댑터에 브리지 - eth0 - 외부 인터넷(192.168.0.X)
  • 호스트 전용 어댑터#3 - eth1 - 공격자 PC (192/168.200.X)
  • 호스트 전용 어댑터#4 - eth2 - 피해자 PC (192.168.100.X)

가상 머신의 네트워크 설정값을 알맞게 준 후 OS에서도 각 네트워크에 맞게 설정을 해주어야 합니다.

 

네트워크 설정 전에 네트워크 인터페이스의 이름이 기본적으로 eth(이더넷) 이 아니라 다른 경우가 있습니다.

예) enp0 sX...

이를 위해 각 네트워크 인터페이스의 이름을 용도에 맞게 변경해주는 작업을 먼저 합니다.

 

 

Cent OS 네트워크 인터페이스 이름 변경 - centos 8.3, eth0, enp0s3

작업환경 : 가상화 Cent OS 8.3 해당 글은 가상 머신에 등록된 CentOS 8.3 버전에서 진행됩니다. ifconfig - 인터페이스 정보 출력 -ifconfig 명령어가 안될 경우- sudo yum update - os 초기 업데이트 sudo yum install

hobbylists.tistory.com

 

따로 정리해뒀으니 참고하시기 바랍니다.

 

네트워크 인터페이스의 설정을 끝마쳤다면

 

eth0
eth1
eth2

 

 

vi /etc/sysconfig/network-scripts/ifcfg-[network]

각 네트워크를 이렇게 맞춰줍니다.

 

해당 스크립트 파일들의 위치는 /etc/sysconfig/network-scripts/ 하위에 있습니다.

변경해주는 값들이 많은 듯 보이지만 여기서 변경/추가하는 값들은 많지 않습니다.

 

DEVICE=디바이스이름입력
TYPE=네트워크어댑터종류
IPADDR=고정IP주소입력
NETMASK=서브넷마스크값입력
DNS1=도메인네임서버 입력(8.8.8.8=google)
DNS2=보조도메인서버 입력(168.126.63.1=KT)

-부가사항-
ONBOOT=부팅시 네트워크 활성화옵션

 

그 외 기타 옵션들은 그대로 두시면 되고 사용할 고정 IP주소 체계는 IPV4 체계이기에 IPV6 관련 옵션은 전부

비활성화(No) 해주시면 됩니다.

네트워크 이름도 굳이 설정해야 할 필요는 없는 게

위에서 네트워크 인터페이스 설정을 하고 reboot 할 경우 자동으로 네트워크 이름이 설정됩니다.

 

설정을 완료하고 네트워크를 재부팅합니다.

 

systemctl restart NetWorkManager
시스템 재부팅

OS 초기설정시 필요값
yum update
yum install net-tools
yum install networkmanager

 

이후 각각의 네트워크 설정이 정상적으로 되었는지 확인하는 법은 ping을 보내봅니다.

 

ping 8.8.8.8 - 구글에 ping (외부인터넷 접속 성공 여부 확인)
ping 192.168.200.200 - eth1 게이트웨이 설정 여부 확인
ping 192.168.100.200 - eth2 게이트웨이 설정 여부 확인

 

ping

 

 

다음과 같이 ping이 정상적으로 전송되면 방화벽 네트워크 설정은 완료되었습니다.

 

 


3-1. 기타 OS 네트워크 설정 - Fedora(피해자)

 

첫 번째로 피해자(Fedora) PC의 네트워크 설정을 하겠습니다.

 

Fedora의 경우에도 CentOS와 네트워크 인터페이스 변경 방법이 동일하기 때문에

네트워크 인터페이스 명을 변경해 준후(eth0)

 

/etc/sysconfig/network-scripts/ifcfg-eth0 파일을 변경해서 

고정 IP 주소로 변경해줍니다.

 

fedora eth0 설정

 

 

systemctl restart NetWorkManager || NetWorkManager가 설치되어있는 경우

ifdown eth0 / ifup eth0 || 네트워크 수동 재시작

vi /etc/sysconfig/network-scripts/ifcfg-eth0


-설정값-
TYPE=Ethernet
DEVICE=eth0
NAME=eth0
ONBOOT=yes
NM_CONTROLLED=yes
USERCTL=no
IPVGINIT=no
IPADDR=192.168.100.200
NETMASK=255.255.255.0
GATEWAY=192.168.100.100
DNS1=8.8.8.8
DNS2=168.126.63.1

 

페도라의 경우 CentOS와 네트워크 설정법이 크게 다르지 않습니다.

스크립트에서 설정해줘야 할 옵션도 거의 동일하고요

 

여기까지 설정 완료 후 네트워크 재시작을 해준후에 정상적으로 네트워크 설정이 되었는지 확인합니다.

 

ifconfig

 

ifconfig // net-tools 필요
nmcli // net-tools없이도 내장되어있음

 

인터페이스를 확인해서 정상적으로 네트워크 고정 IP 주소가 설정되었는지 확인합니다.

 

여기까지 알맞게 진행되었다면 기존에 설정되어있는 방화벽 서버와의 통신이 막힘없이 되어야 합니다.

 

ping -> 방화벽 외부서버
방화벽 eth2 게이트웨이

 

 

ping으로 방화벽의 eth2 게이트웨이(192.168.100.200)와 외부 서버(192.168.0.20)까지 연결되었음을 확인할 수 있습니다.

 

 


3-2. 기타 OS 네트워크 설정 - Kali Linux(공격자)

 

칼리 리눅스 역시도 네트워크 인터페이스 변경 후 네트워크 고정 IP 주소 설정을 해주는 절차 그대로 진행하면 됩니다.

 

 

 

칼리 리눅스 네트워크 인터페이스 설정 변경 - Kali Linux

작업환경 : Kali Linux 2022.3 amd64 , Virtual Box 7 칼리 리눅스의 네트워크 인터페이스 설정 변경 방법입니다. vi /etc/network/interfaces 네트워크 인터페이스 스크립트 파일은 위 경로에 존재합니다. 변경 옵

hobbylists.tistory.com

 

칼리 리눅스의 경우 페도라나 센트 OS와는 인터페이스 변경법이 살짝 상이하니 위 글을 참고하세요

 

네트워크 인터페이스를 변경 후 네트워크 재시작해줍니다.

 

service networking restart
systemctl restart networking

네트워크 재시작

 

두 명령어 다 네트워크를 재시작해주는 명령문입니다.

인터페이스가 변경된 걸 확인했다면 다음은 고정 IP 주소를 작성해줘야 합니다.

 

경로는 다음과 같습니다.

 

vi /etc/network/interfaces


-설정값-

auto eth1
iface eth1 inet static
address 192.168.200.200
gateway 192.168.200.1
netmask 255.255.255.0
broadcast 192.168.200.255

 

 

제가 사용하는 칼리 리눅스의 eth0 인터페이스는 다른 네트워크와 연결되어 있어서

eth1을 사용할 예정입니다.

 

 

kali linux /etc/network/interfaces

 

해당 값을 넣어준 후 역시 네트워크를 재시작해줍니다.

 

ifconfig

 

역시 고정 IP주소가 잘 설정되었습니다.

다음으로 정상적으로 방화벽, 피해자 PC와 연결되었는지 확인하겠습니다.

 

ping 192.168.0.20 - 방화벽 외부서버
ping 192.168.200.100 - eth1 게이트웨이
ping 192.168.100.100 - eth2 게이트웨이
ping 192.168.100.200 - 피해자 PC

ping 8.8.8.8 - 구글 외부접속 가능 여부 확인

 

모든 ping이 정상적으로 전송된다면 인프라 구축에 성공한 것입니다.

이제 위 구성도에서 확인한 것처럼 방화벽을 통해 외부 접속이 가능한 내부 인트라넷이 된 것입니다.

 


마치며..

수업시간에 iptables 활용 침입차단체계 수업을 하길래 재밌겠다 싶어서 들으려고 했으나

가상 머신 설치에만 3주씩 써먹는 미쳐버린 효율성에 짜증 나서 수업 안 듣고

혼자 독학해서 만든 시나리오

개인적으로 정보보안 전공임에도 아직 제대로 된 웹 해킹 하나 못하지만

네트워크 지식이 약한 게 늘 신경 쓰였기에 이 기회에 제대로 공부해보자라는 생각으로 하는 중

 

사실 이 시나리오가 최종적으로는 성공시키긴 했는데 노트북에서 가상 머신을 이용해서 그런 건지

내가 네트워크 설정을 잘못해서 그런 건지 사용 중인 노트북 인터넷을 옮기니까 바로 외부 접속이 끊겨버려서

난감한 상황

방화벽을 활용하는 공부도 해보고 싶은데 뭐가 문제인 건지 조차도 모르겠어서 해결이 미뤄지고 있는 상황

 

아무튼 빠른 시일 내에 해결해서 다양한 방화벽 설치와 구축 그리고 활용방법까지 사용해보려고 한다.

 


다른 글

 

 

종합 IP 정보 조회 툴- Criminal IP, 공격자 IP 조회, 취약 IP,도메인 조회

Cybersecurity Search Engine | Criminal IP Criminal IP is a Cyber Threat Intelligence Search Engine and Attack Surface Management(ASM) platform to find everything in Cybersecurity with impressive amount data capacities, API speed, and price. www.criminalip.

hobbylists.tistory.com

 

 

트위터 API를 활용한 정보 수집 시나리오 - Twitter API, Recon-ng

작업환경 : Kali Linux 2022.3, Windows 11, Virtual Box 7v 작업도구 : Twitter API v2, Recon-ng 5.1.2 지난번 flickr API와 비슷한 주제의 시나리오이지만 이번에는 트위터 API를 활용합니다. 트위터 API는 트위터 개발자

hobbylists.tistory.com

 

 

특정 좌표에서 사진 정보를 수집하는 시나리오 - Recon-ng, Kali Linux, flickr

작업환경 : Kali Linux 2022.3, Windows 11, Virtual Box 7v 작업도구 : Recon-ng 5.1.2, Flickr API 해당 시나리오는 미국의 사진 공유 커뮤니티인 Flickr API를 활용해 특정 좌표의 사진 데이터를 수집하는 가상의 시나

hobbylists.tistory.com

 

 

22년 12월 2주 일상.

어느덧 22년도 끝자락 12월의 중순 작년부터 올해까지는 참 다사다난했지만 난 결국 내가 원하는 것들 중 ...

blog.naver.com

 

 

 

 

 

300x250

댓글