bob-yamong Summary

메인 인덱스 | bob-yamong | GitHub Org

이 문서는 제가 bob-yamong 조직에서 어떤 레포를 먼저 읽고 보여줄지 정리한 우선순위표입니다. 실제 포트폴리오 흐름에서는 이 문서를 먼저 훑은 뒤 개별 레포 노트로 내려갑니다.

TL;DR

이 프로젝트는 Best Of The Best 13기에서 진행한 팀 프로젝트로, eBPF를 이용해 컨테이너를 시스템콜 레벨에서 모니터링하고 제어하는 보안 솔루션을 제작하였습니다. 저는 Docker 기반 POC에서 Kubernetes 운영 구조까지 이어지는 흐름 속에서, 팀 전반의 개발 환경 설정과 테스트 환경 조성, API 규약 설정, CI/CD 파이프라인 구축, 링 버퍼 및 Kafka 데이터 전송 최적화, 컨테이너 식별 방법론 개발, Grafana를 통한 대시보드 시각화를 주도적으로 진행하였으며, 그 외에도 프로젝트 전반에 참여하였습니다. 6명이 4개월을 9명이서 3개월을 추가로 진행하며 프로젝트가 고도화 되고 서비스화 되어가는 과정을 설명할 수 있습니다. 최종적으로 goorm사 내부의 개발환경에서 성공적으로 정책이 적용되어 행위를 탐지, 차단할 수 있음을 확인하였으며 자체 테스트베드에서 구상한 시나리오(측면이동, 내부망 스캐닝, 크립토 마이닝)에 대해 1회성, Rate Limit, SVM 기반으로 어떤 컨테이너에서 행위가 이루어지는지 파악하고 차단할 수 있는지 테스트 완료하였습니다. 이러한 세밀한 모니터링 상황에서 CPU가 90% 이상인 과부하 상황에서 조차 서비스 전반의 응답시간이 5% 미만으로 감소하며 시스템콜 하나 놓치지 않고 모두 로그에 남길 수 있다는 조사결과를 논문으로 작성하여 정보과학회 우수논문 수상 및 KCI 등재하였습니다.(링크) 현재는 프로젝트를 가지고 PM을 필두로 창업하여 계속 발전시켜 나가고 있다고 합니다.(링크)

조직 전체 요약

레포지토리설명 우선순위타입주요 기술
gomumu핵심컨테이너 보안 플랫폼Go + eBPF + Kubernetes
youmuu핵심컨테이너 런타임 엔진C++ + eBPF + LSM
kube-back중점Kubernetes API 백엔드Python + FastAPI
policy-web-v2중점정책 관리 프론트엔드Next.js + TypeScript
yamong-fe-v3중점컨테이너 관리 UIReact + TypeScript + Vite
Aws-EKS-IaC중점인프라스트럭처 코드Terraform + AWS
docker-back중점정책 백엔드 APIPython + FastAPI
container-lifecycle-manager보조컨테이너 매니저Python
kafka-alert보조Kafka 프로세서Python + Kafka
youmuu-analyzer보조보안 분석기Python + C++
youmuu-syslog보조로그 수집 에이전트C++ + eBPF
ebpf-tutorial참고eBPF 예제C + libbpf
ebpf-block-test참고eBPF 테스팅C + eBPF
faust-tutorials참고스트림 프로세싱Python + Faust
go-lsm참고Go eBPF 도구Go + eBPF
ipc-implementation참고IPC 예제Python + C
kafka-sink-connect보조Kafka 커넥터Python
ML-log-detection참고ML 파이프라인Python + Kafka
policy-web보조정책 프론트엔드Next.js
siki참고문서문서
yamong-production보조마케팅 웹사이트React
drawio참고문서다이어그램
gomumu-web-installer참고인스톨러 도구Go
ldap-tutorial참고LDAP 튜토리얼Docker
release-downloader참고프록시 서버Go
youmuu-db보조데이터베이스 설정PostgreSQL
youmuu-deploy보조배포 설정Docker Compose
youmuu-listener보조모니터링 에이전트Python

먼저 설명할 레포

1. gomumu

정책 기반 eBPF 컨테이너 런타임 솔루션

  • 이유: Kubernetes operator와 eBPF LSM이 같이 붙어 있는 중심 레포입니다.
  • 복잡도: 높음 - 정책 엔진, eBPF 프로그램, Kafka 통합이 함께 있는 다층 아키텍처입니다.
  • 포인트: 커널 레벨에서 정책을 실시간으로 강제합니다.
  • 기술: Go, eBPF, Kubernetes, Kafka, LSM hooks
  • 파일: 92개 소스 파일
  • 주요 구성 요소:
    • LSM 강제 적용 엔진
    • Tracepoint 모니터링
    • 정책 매처/피더
    • 컨테이너 검색
    • 링 버퍼 집계기

2. youmuu

eBPF 기반 컨테이너 런타임 엔진

  • 이유: 제가 가장 깊게 설명할 수 있는 C++ eBPF 레포입니다.
  • 복잡도: 높음 - LSM + Tracepoint + Raw tracepoint를 모두 다룹니다.
  • 포인트: YAML 정책으로 커널 레벨 보안을 강제합니다.
  • 기술: C++, eBPF, libbpf, LSM, PostgreSQL
  • 파일: 84개 소스 파일
  • 주요 구성 요소:
    • LSM 강제 적용 프로그램
    • Tracepoint 모니터
    • Raw tracepoint 핸들러
    • 정책 엔진
    • 멀티 아키텍처 지원

3. kube-back

Kubernetes 리소스 관리 백엔드

  • 이유: 제가 백엔드 구조와 테스트 이야기를 함께 설명할 수 있는 레포입니다.
  • 복잡도: 중-고 - K8s 리소스에 대한 전체 CRUD를 다룹니다.
  • 포인트: 계층 분리가 비교적 깔끔합니다.
  • 기술: Python, FastAPI, SQLAlchemy, Alembic, pytest
  • 파일: 66개 소스 파일
  • 주요 구성 요소:
    • Cluster/Node/Pod/Container API
    • 정책 관리
    • 로그 집계
    • 데이터베이스 마이그레이션
    • 테스트 스위트

4. policy-web-v2

정책 관리 대시보드

  • 이유: 실시간 상태와 시각화 흐름을 설명할 수 있습니다.
  • 복잡도: 중간 - 다중 기능을 가진 현대적 React 프론트엔드입니다.
  • 포인트: 실시간 하트비트 스트리밍과 Grafana 통합이 있습니다.
  • 기술: Next.js, TypeScript, Tailwind, shadcn/ui
  • 파일: 29개 소스 파일
  • 주요 구성 요소:
    • 시각화가 포함된 대시보드
    • 실시간 스트리밍
    • Grafana 통합
    • 정책 관리 UI

5. yamong-fe-v3

컨테이너 관리 프론트엔드

  • 이유: 컨테이너 관리 UI를 설명할 수 있는 React 레포입니다.
  • 복잡도: 중간 - 컴포넌트 아키텍처가 비교적 잘 나뉘어 있습니다.
  • 포인트: Vite 기반 개발 설정을 사용합니다.
  • 기술: React, TypeScript, Vite, Styled Components
  • 파일: 80개 소스 파일
  • 주요 구성 요소:
    • 컨테이너 관리
    • 정책 편집
    • 서버 관리
    • 섹션 기반 네비게이션

식별된 아키텍처 패턴

마이크로서비스/시스템 아키텍처

  1. gomumu - Kubernetes operator + eBPF 런타임
  2. youmuu - C++ 보안 엔진
  3. youmuu-syslog - 로그 수집 에이전트
  4. youmuu-analyzer - 보안 분석 엔진

백엔드 API

  1. kube-back - Kubernetes 관리 API
  2. docker-back - 컨테이너 정책 API
  3. kafka-alert - 이벤트 프로세싱

프론트엔드 애플리케이션

  1. policy-web-v2 - 정책 관리 대시보드
  2. yamong-fe-v3 - 컨테이너 관리 UI
  3. yamong-production - 마케팅/문서 사이트

인프라스트럭처/DevOps

  1. Aws-EKS-IaC - Terraform EKS 배포
  2. youmuu-deploy - Docker Compose 오케스트레이션

기술 스택 요약

eBPF 프로젝트 (6)

  • gomumu, youmuu, youmuu-syslog, ebpf-tutorial, ebpf-block-test, go-lsm

Python 백엔드 (6)

  • kube-back, docker-back, kafka-alert, kafka-sink-connect, container-lifecycle-manager, youmuu-analyzer

프론트엔드 (4)

  • policy-web-v2, yamong-fe-v3, policy-web, yamong-production

Go 프로젝트 (3)

  • gomumu, go-lsm, release-downloader

C/C++ 프로젝트 (3)

  • youmuu, youmuu-syslog, ebpf-tutorial

인프라스트럭처 (3)

  • Aws-EKS-IaC, youmuu-deploy, ldap-tutorial

추천 순서

먼저 읽을 만한 묶음:

  1. gomumu - eBPF + Kubernetes 전문성 사례
  2. youmuu - 로우 레벨 C++ eBPF 개발 데모
  3. kube-back - Kubernetes 백엔드 구조가 드러나는 레포

다음으로 연결하기 좋은 레포: 4. policy-web-v2 - 정책 관리 흐름이 보이는 프론트엔드 5. yamong-fe-v3 - React/TypeScript 기반 UI

지원 프로젝트:

  • youmuu-analyzer - 보안 분석
  • container-lifecycle-manager - 컨테이너 런타임 내부
  • Aws-EKS-IaC - 인프라스트럭처 코드