티스토리 뷰
HoneyPot 에서 발생되는 로그를 Splunk 로 보내기 위한 Forwarder를 설치해야한다.
Splunk 의 Universal Forwarder 를 이용할 예정이다.
https://www.splunk.com/en_us/download/universal-forwarder.html
Download Universal Forwarder for Remote Data Collection | Splunk
Download Splunk Universal Forwarder for secure remote data collection and data forwarding into Splunk software for indexing and consolidation.
www.splunk.com

위 링크에서 다음과 같이 Ubuntu 64-bit 의 deb 파일의 wget link 를 복사 후 Instance 에서 복붙한다. ( 아래 링크는 버전 변경에 따라 달라질 수 있다.)
wget -O splunkforwarder-10.0.2-e2d18b4767e9-linux-amd64.deb "https://download.splunk.com/products/universalforwarder/releases/10.0.2/linux/splunkforwarder-10.0.2-e2d18b4767e9-linux-amd64.deb"

이후 설치된 .deb 파일을 dpkg 로 설치한다.
sudo dpkg -i splunkforwarder-10.0.2-e2d18b4767e9-linux-amd64.deb

위의 find: ~ python 오류는 개별 python 을 사용할 것이기 때문에 무시하자
complete 라는 문자열이 있다면 완료된 것이다.
이후 활성화 되었는지 다음 명령어로 확인하자
이때, 최초에 실행했다면 license 동의과정을 거치게 되니 당황하지 말고 스페이스바로 쭉~ 넘긴다음 y 를 입력해주자
sudo /opt/splunkforwarder/bin/splunk status


그래도 splunkd 가 실행되지 않는다면, 수동으로 실행시켜준다.
아래 명령어로 splunkforwarder 계정에 대한 권한을 부여해준 뒤 명령을 수행하자
sudo useradd -r -d /opt/splunkforwarder splunkfwd
sudo chown -R splunkfwd:splunkfwd /opt/splunkforwarder
sudo /opt/splunkforwarder/bin/splunk start --accept-license

이후 구성할 Splunk 서버에 Forwarder 를 연결해준다.
우선 공유기 IP 와 9997 Port 로 설정값만 넣어두기로 하자

이제 Forwarder 가 지켜볼 log를 선택해야 하는데, 우리는 VM 에 Docker 를 올리고 거기서 HoneyPot 이 실행되기 때문에 Docker 의 로그를 가져와야 한다.
다음과 같이 실행되고있는 docker 를 확인하고
docker ps

다음 명령어로 docker 내부에 들어간다.
docker exec -it <NAMES> /bin/bash
이후 아래 경로에 cowrie 의 로그가 기록되고있다.
/data/logs/cowrie.json

저 경로를 외부에서 볼 수 있게 설정해야한다.
외부에서 해당 경로가 어디에 있는지 재확인한다.
필자의 경우에는 이전에 하나를 더 올렸어서 2개가 확인되는데, 지금 활성화된 docker 가 어떤 컨테이너를 사용하는지 확인해본다.
sudo find / -name "cowrie.json" 2>/dev/null

docker inspect <NAMES>| grep -A3 volumes

그리고 Splunk Forwarder 입력 파일을 만들고 다음과 같이 입력한다.
여개서 monitor 경로는 각자의 container Source 주소와 거기에 존재하는 cowrie 의 로그파일을 지정한다.
이때 Container 를 재시작하게되면, Source 에 있는 Volume 값이 Anonymous로 변경이 되기 때문에 우리는 Named Volume 방식을 이용할 예정이다.
docker-compose.yml 파일을 아래와 같이 수정하고

로그를 수집받을 디렉토리를 생성 후
mkdir -p ~/cowrie_logs ~/cowrie_state
다시금 docker 를 재시작한다.
sudo docker-compose down
sudo docker-compose up -d
이후 Splunk Forwarder 의 inputs.conf 를 다음과 같이 수정하면 완료된다.
sudo vim /opt/splunkforwarder/etc/system/local/inputs.conf
# Cowrie Logs
[monitor:///home/wldnd1102/cowrie/cowrie_logs/cowrie.json*]
sourcetype = cowrie_logs
index = cowrie
disabled = false
# Cowrie State
[monitor:///home/wldnd1102//cowrie/cowrie_state/]
sourcetype = cowrie_state
index = cowrie
disabled = false
이후 SplunkForwarder 를 재시작한다.
sudo /opt/splunkforwarder/bin/splunk restart
이후 Splunk 에서 로그가 수신되는지 확인하면 끝!
sudo tail -f /opt/splunkforwarder/var/log/splunk/splunkd.log
다음과 같이 입력하였을때, 뒷장에서 설정할 Splunk 서버로 정상적인 로그 전송이 되어야한다.


설정이 정상적으로 되었는지 아래 명령어로도 확인이 가능하다.
sudo /opt/splunkforwarder/bin/splunk list forward-server

'허니팟 > 허니팟 구성' 카테고리의 다른 글
| 4-1 HoneyPot Agent 설치 - UHP (0) | 2025.11.30 |
|---|---|
| 4. HoneyPot Agent 설치 - Cowrie (0) | 2025.11.26 |
| 3. HoneyPot VM 설정 (Community Honey Network) (0) | 2025.11.22 |
| 2-2. VPS 에 HoneyPot VM 올리기 2(GCP) (0) | 2025.11.18 |
| 2-1. VPS 에 HoneyPot VM 올리기 1(GCP) (0) | 2025.11.18 |
- Total
- Today
- Yesterday
- DNS 마스터 슬레이브
- Linux
- 이중화
- DNS 이중화
- 반복문 예제
- 연산 덧셈
- 변수
- 리눅스 설치
- 자료형
- 리눅스 Apache
- 리눅스 아파치
- Linux Web Service
- CA
- 리눅스 CA
- 연산 곱셈
- 대화형 언어
- 연산자
- 리눅스 DNS
- 연산
- Linux DNS
- DHCP
- Linux 설치
- 리눅스 웹 서비스
- 파이썬 연산자
- 반복문
- FAILOVER
- 동적타이핑
- ssl
- Python
- 파이썬
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
