반응형
Notice
Recent Posts
Recent Comments

05-01 06:10
관리 메뉴

SaevOps

[네트워크] 서버 패킷 미러링 본문

네트워크

[네트워크] 서버 패킷 미러링

세브웁스 2022. 11. 1. 15:58
반응형

패킷 미러링

이번 주제는 TEE 모듈을 사용하여 서버2 IP 패킷을 서버1에서 받은 다음,  파일로 저장해 보는

 

TEE란?

  •   어떤 명령어의 출력 결과를 파일과 화면에 동시에 출력할 수 있도록 해주는 명령어

옵션

  • a : 덮어쓰기 말고 파일에 추가해서 입력
  • i : 인터럽트를 무시하는 옵션

형식

  • tee [ 옵션 ] [File]

실습내용

실습과정

같은 대역 안에 있는 1번 서버의 트래픽 2번 서버에서 받아서 파일로 저장

추후 이 파일을 suricata나 Bro와 같은 오픈소스를 설치해서 모니터링하는 서비스를 만들 수 있음


1. 내부 private ip를 외부 public ip로 변환, mirroring 정책 추가

sudo iptables -t mangle -I POSTROUTING -j TEE --gateway [패킷을 보고싶은 IP]

# 예시
sudo iptables -t mangle -I POSTROUTING -j TEE --gateway 172.16.40.102

 

2. 외부 public ip를 내부의 사설 ip로 변환, mirroring 정책 추가

sudo iptables -t mangle -I PREROUTING -j TEE --gateway [패킷을 보고싶은 IP]

# 예시
sudo iptables -t mangle -I PREROUTING -j TEE --gateway 172.16.40.102

 

3. 설정 확인

# 상태 저장
iptables-save

# 상태 확인
sudo iptables -t mangle -

# 필자 상태
[root@qab2 opc]# sudo iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
PREROUTING_direct  all  --  anywhere             anywhere
PREROUTING_ZONES_SOURCE  all  --  anywhere             anywhere
PREROUTING_ZONES  all  --  anywhere             anywhere

...

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
POSTROUTING_direct  all  --  anywhere 
...

 

4. Mirroring 확인 및 파일로 저장

 

tcpdump -nni ens3 -A src [패킷을 보고싶은 IP] | tee [저장하고싶은 파일경로/파일이름]

# 예시
tcpdump -nni ens3 -A src 172.16.40.102 | tee /home/opc/packet.txt

 

5. 파일 확인

cat [파일경로/파일]

#예시
cat /home/opc/packet.txt

# 필자 파일 확인
...
06:43:13.282616 IP 172.16.40.102.22 > 172.16.30.101.54806: Flags [P.], seq 159652:163784, ack 109, win 280, options [                                        nop,nop,TS val 4867713 ecr 436009683], length 4132
...

AWS의 경우

필자는 OCI를 통해 세팅했기에 상관없지만, 기본적으로 EC2는 자기 자신의 트래픽만 받도록 되어있다.

이를 해결하기 위해서는 EC2 설정란의 Actions - Networking - Change Source/Dest. Check를 통해 disable로 바꾸면 된다.

반응형
Comments