앵하니의 더 나은 보안
DDoS testbed 구축(sFlow) 본문
개요
- DoS 공격 시 서버에서 송수신하는 패킷 양, 데이터 양을 모니터링하기 위한 테스트베드가 필요함에 따라
네트워크 리소스 부하량을 가시성이 좋은 형태로 구현해 놓은 DoS용 테스트베드를 찾고 구축하고자 함 - 구글링으로 인터넷을 배회하던 도중 sflow라는 docker 이미지를 찾게 됨
sflow
이 sflow라는 친구는 라우터/스위치 장비의 네트워크 부하량 및 ddos를 효과적으로 막을 수 있게
모니터링하고 솔루션을 제공해주는 docker 이미지라고 함
sflow 구축
docker 이미지라 구축이 아주 간단
용도에 따라 sflow-rt, sflow-test, sflow/ddos-protect 등 이미지가 여러개로 나뉘지만
계기판처럼 생긴 대시보드는 모든 이미지가 가지고 있어서 아무거나 받아 구축해도 됨
시연환경에서는 sflow/ddos-protect를 다운로드해서 구축
1. 터미널 또는 파워쉘에서 sflow 이미지 다운로드
$ docker pull sflow/ddos-protect
2. 다운로드한 이미지를 사용해 컨테이너 생성, 생성하면서 8008, 6343(udp)포트는 각각 동일한 포트에 맵핑되도록 포트포워딩 설정
$ docker run -p 6343:6343/udp -p 8008:8008 sflow/ddos-protect
3.브라우저에서 localhost:8008로 접근해 sflow 시스템 접근, 네트워크 부하량 모니터링 수행
현재까지 sflow의 한계
slowloris 공격을 수행했을 때의 화면을 보면 알겠지만 sFlow Byte 계기판이 올라갈 생각을 안함 > sflow 시스템에서는 현재 모니터링 웹 서비스(8008)과 데이터 수신 포트 6343(udp)을 열어놓고 데이터를 수신받고 있는데 저 sFlow Bytes와 sFlow Packets 계기판을 올리려면 udp 포트에 udp관련 dos 공격을 때려야한다는 걸 확인 > 고로, udp 관련 dos 공격을 6343으로 때릴때만 모니터링할 수 있음
> 데이터 수신량을 측정할 시스템에서 host sFlow 에이전트를 설치해야 sFlow Bytes와 sFlow Packets을 측정할 수 있음
에이전트 설치 후 sFlow/host-sFlow 이미지 설치 및 설치한 이미지를 사용해 로컬 호스트와 통신 가능한 컨테이너를 실행해야 함
$ docker run --rm -d -e "COLLECTOR=host.docker.internal" -e "SAMPLING=100" --net=host -v /var/run/docker.sock:/var/run/docker.sock:ro --name=host-sflow sflow/host-sflow
이렇게 구성하면 host sFlow 에이전트가 설치된 시스템의 네트워크 부하량을 확인할 수 있음
여기까지 진행하면 아래와 같이 구성되고 로컬호스트의 부하량을 sFlow/ddos-protect 컨테이너(모니터링 시스템)에서 확인할 수 있게 됨
dos 공격을 했음에도 그래프에 데이터가 작성되지 않음
> 원인 미상…
결론
sflow 외에도 수신 패킷량과 데이터량을 알 수 있는 시스템 자체는 mod_status를 사용해 가볍게 구현 가능하므로, 아득바득 해당 시스템을 고집할 필요는 없다고 판단했지만 mod_status는 네트워크 수준의 dos 공격의 부하량에 대해서는 모니터링 할 수 없으므로 돌고돌아 sflow…
참고 링크
https://sflow-rt.com/intro.php
https://blog.sflow.com/
https://blog.sflow.com/2020/02/real-time-ddos-mitigation-using-bgp.html
https://www.juniper.net/documentation/kr/ko/software/junos/network-mgmt/topics/topic-map/sflow-monitoring-technology.html
'보안 기술 > Network' 카테고리의 다른 글
ICMP Reply 터널링을 통한 파일 송수신 (0) | 2024.05.10 |
---|---|
DoS 공격 GUI with ctypes (0) | 2023.06.09 |
DDoS testbed 구축(mod_status) (0) | 2023.06.09 |
Wifi(802.11x) MAC Address Change (0) | 2022.08.03 |
WiFi 4-way handshake(WAP/WAP2 PSK) (0) | 2022.07.19 |