웹 개발
SecurityOps_01_보안 모니터링 대시보드
작성자 : Heehyeon Yoo|2026-01-13
# security-ops# DevSecOps# SIEM# monitoring# portfolio
개요
리드미 형식으로 정리한 프로젝트다.
Security Ops는 실제 운영 환경의 보안 상태를 실시간으로 모니터링하는 대시보드다.
DevSecOps 관점에서 자동화된 파이프라인을 설계하고 운영하는 데 초점을 뒀다.
💡 Public View에서는 민감 정보가 마스킹되어 있습니다.
관리자 로그인 시 상세 운영 데이터를 확인할 수 있습니다.
퍼블릭 페이지
관리자 페이지
주요 기능
Infra Ops — 외부 공격표면 모니터링
| 기능 | 설명 |
|---|---|
| 하이브리드 스캔 | SSH → Shodan → Nmap 4단계 폴백 전략 |
| 포트 변경 감지 | 베이스라인 대비 Drift 자동 탐지 |
| 정책 기반 평가 | 허용된 포트 외 오픈 시 Incident 생성 |
| 자동화 | GitHub Actions 6시간 주기 스케줄링 |
- Jenkins 파이프라인은 서버 사양 문제로 이번에는 구현하지 못했다.
AI Ops — LLM 보안 모니터링
| 기능 | 설명 |
|---|---|
| Prompt Injection 탐지 | 사전 정의된 Rule 기반 악성 입력 차단 |
| 실시간 로깅 | 모든 사용자 쿼리 및 응답 기록 |
| Severity 분류 | CRITICAL / HIGH / MEDIUM / LOW |
| 통계 대시보드 | 차단율, 에러율, 응답 속도 분석 |
Public/Private View 분리
| 항목 | Public (비로그인) | Admin (로그인) |
|---|---|---|
| 트래픽 수치 | Low / High (구간) | 정확한 숫자 |
| IP 주소 | 172.18.xxx.xxx | 전체 IP |
| 로그 메시지 | 60자 제한 | 전체 표시 |
| Export 기능 | 숨김 | 사용 가능 |
아키텍처
기술 스택
| Layer | Technologies |
|---|---|
| Frontend | Next.js 15, React 19, TypeScript, Tailwind CSS, Framer Motion |
| Backend | Next.js API Routes, Python (Scanner) |
| Infrastructure | Oracle Cloud VM, Cloudflare CDN |
| CI/CD | GitHub Actions, Vercel |
| Security | httpOnly Cookie Auth, JWT, Rate Limiting |
구현 포인트
1. 하이브리드 스캔 전략
Oracle Cloud의 방화벽 제약이 커서 외부 스캔(Nmap)만으로는 정확한 포트 상태를 파악하기 어려웠습니다.
SSH 내부 스캔을 1순위로 두고, 실패 시 Shodan → Nmap → Mock 순으로 폴백하는 전략을 구현했습니다.
2. SIEM 스타일 로그 뷰어
실무 SOC 대시보드처럼 Severity, Rule ID, Action, Source IP 같은 핵심 필드를 표시했습니다.
레벨 필터링과 페이지네이션, JSON Export 기능도 같이 구현했습니다.
3. 보안 모범 사례 적용
- httpOnly 쿠키로 XSS 토큰 탈취 방지
- API 기반 인증 확인 (클라이언트에서 쿠키 직접 읽기 불가)
- Public View 자동 마스킹으로 운영 데이터 노출 방지
4. 운영 자동화
- GitHub Actions 6시간 주기 스케줄링
- 스캔 결과 자동 커밋 및 대시보드 반영
- 베이스라인 Drift 감지 및 Incident 생성
라이브 데모
표시되는 페이지는 Public View입니다.
민감 정보가 마스킹되어 있으며, 관리자 로그인 시 상세 데이터를 확인할 수 있습니다.
개선 계획
- Admin 응답 기능 — 로그 클릭 시 IP 차단, 사용자 밴 등 액션 버튼
- 실시간 갱신 — WebSocket 또는 30초 polling
- 알림 연동 — Slack/Discord 웹훅으로 Incident 알림