Fluentd 활용하기 - CloudFlare Logpush 연동
Fluentd 활용 사례에 대해 간략하게 서술. (후술 기능은 모두 Chatgpt 로 구현)
[Architecture]
- 1) CloudFlare Logpush >> 2) Cloud 저장소 (S3, R2) >> 3) Fluentd >> 4) 로그 서버
1) S3, R2 Logpush 기능으로 데이터 post
2) 데이터 저장
3-1) 저장소마다 다른 방식으로 데이터 get.
> S3 : SQS
> R2 : 일정 시간마다 데이터 get
3-2) filter 를 이용한 데이터 파싱
3-3) 파싱된 데이터를 output으로 로그 서버로 forward
4) 로그 최종 저장
# 로그 서버에 직접적으로 S3 Object에 대한 get 이 불가하여 위와 같이 구성.
# Logstash 와 Fluentd 중 조금 더 가벼운 Fluentd 를 선택
[Point]
- S3, R2 에 대한 Object get 이 모두 가능해야 함.
- 데이터 실시간 get 이 가능해야 함.
- Cloud 저장소에 대한 예외처리 가능해야 함. ( 초기 실행 시 Cloud 저장소 상태 검증 및 주기적인 상태 검증 )
- 데이터 Parsing 후 로그 서버로 Forwarding 가능해야 함.
[기능 구현 - plugin]
- S3 저장소 검증을 위해 기존 fluent S3 플러그인 Custom source 제작
- R2 저장소 검증 및 Object get 을 위해 Custom source 제작
- 원하는 포맷으로 데이터 파싱을 위해 Custom filter 제작
- UDP Forwarder 제작을 위해 Custom Output 제작
- 암호화된 payload에 대한 복호화를 위해 Cloudflare에서 제공하는 matched-data-cli 를 dll로 제작
>> 공인 CA로 서명한 SSL 인증서를 사용할 수 있는 경우, HTTP 를 통해 간단하게 구현 가능
>> CloudFlare의 HTTP 방식은 HTTPS 만 허용하며, 공인 CA로 서명된 SSL 인증서 아니면 HTTP 사용 불가
[테스트 환경]
- OS : Windows 11
- Fluentd Version : v5.0.4
- Collect data : Cloudflare WAF
[Project Directory]
>> 중요 디렉터리 : etc (fluentd.conf), key (Decryption key), plugin (Custom Plugins)
[Plugin Directory]
>> 기능 구현한 plugin 디렉토리
- dll : payalod 복호화를 위한 dll 저장
- in , filter, out : 수집, 파싱, 전달을 담당하는 플러그인
# Cloudflare Workers ( AWS lambda 와 같은 기능) 를 통해 복호화를 수행 가능
# 하지만 Workers 도 사용한 만큼 과금되므로 matched-data-cli 를 dll로 데이터 수집 후 바로 복호화하도록 설정
# matched-data-cli : https://github.com/cloudflare/matched-data-cli
>> 위 페이지에 소스코드가 있으므로 dll로 제작하여 사용 가능
[실행 명령어]
>> fluentd -p C:\opt\fluent\plugin
# gem 을 생성해서 설치하는게 가장 베스트
# 하지만 초기 소스코드 수정 단계에서 gem 을 사용하면 설치 > 빌드 > 삭제 과정을 반복하면서 테스트해야하므로 plugin 폴더를 변수로 넣는 방식으로 선택
[실행 결과]
>> 비정상 S3, SQS, R2 에 대한 검증 수행, 검증에 실패하면 해당 Source는 Skip
>> payload 복호화 및 주기적인 S3, SQS 검증
>> R2 에 대한 데이터 get
[미 구현 기능]
- S3, R2 저장소 추가 시 자동으로 source 추가. >> Fluentd를 재기동해야하는 이슈 조치.
- 서버 재기동 시 자동 활성화를 위한 nssm 추가. >> Windows 환경에서 자동 서비스 재기동을 위함.
-- 간략한 기능 설명 완료 --
'IT Info' 카테고리의 다른 글
Transformer 모델을 이용한 웹 취약점 공격 유형 분류 (0) | 2024.12.11 |
---|---|
Windows) Process Explorer (0) | 2023.01.02 |
MPG Z690 CARBON WIFI 플래시 바이오스 업데이트 (0) | 2022.11.05 |
네이버페이(naver.pay) 피싱 사이트 주의 (0) | 2022.10.13 |
운영체제 핸들(Handle) (0) | 2022.10.01 |