분석 기반 5개 확장 영역 선정: 1. cmdb-autodiscovery-dev: SSH/SNMP 에이전트리스 자동 발견 2. nlquery-dev: Text-to-SQL + 대화형 운영 어시스턴트 3. config-drift-dev: 골든 구성 vs 실제 비교·자동 교정 4. multicloud-dev: AWS/GCP/NCloud 단일 관제·비용 최적화 5. public-sector-dev: 나라장터·공공API·ISP·K-Cloud 목표: 104개→124개 라우터, 667→764개 엔드포인트 로드맵: advanced-roadmap.md (P0~P3 우선순위 포함) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
191 lines
6.5 KiB
Markdown
191 lines
6.5 KiB
Markdown
# GUARDiA 고급 확장 로드맵
|
|
|
|
## 현재 구현 현황 (2026-06-02)
|
|
|
|
- 총 라우터: **104개** (667개 엔드포인트)
|
|
- P1~P3 확장 완료: 25개 신규 라우터
|
|
|
|
---
|
|
|
|
## 추가 확장 영역 (분석 기반)
|
|
|
|
### G1. CMDB 자동 발견 (우선순위: ★★★★★)
|
|
|
|
**현재 문제:** CMDB가 수동 등록만 지원 → 실제 인프라와 괴리 발생
|
|
|
|
**구현 계획:**
|
|
|
|
| 라우터 | 기능 | 복잡도 |
|
|
|--------|------|--------|
|
|
| autodiscovery.py | 네트워크 스캔 오케스트레이션 | 높음 |
|
|
| snmp_discovery.py | SNMP v2c/v3 네트워크 장비 발견 | 중간 |
|
|
| dependency_map.py | 서비스 의존성 자동 매핑 | 높음 |
|
|
| config_inventory.py | SSH 서버 인벤토리 자동 수집 | 낮음 |
|
|
|
|
**발견 가능 항목:**
|
|
- 서버 (OS, CPU, Memory, Disk, 설치 SW)
|
|
- 네트워크 장비 (SNMP MIB: 호스트명, 인터페이스, VLAN)
|
|
- 서비스 포트 (open ports → 애플리케이션 추정)
|
|
- 서비스 의존성 (netstat → upstream/downstream)
|
|
|
|
**DB 신규 모델:**
|
|
- `tb_cmdb_autodiscovery` — 발견 이력
|
|
- `tb_service_dependency` — 서비스 의존성 맵
|
|
- `tb_snmp_config` — SNMP 커뮤니티 설정
|
|
- `tb_discovery_schedule` — 자동 발견 스케줄
|
|
|
|
---
|
|
|
|
### G2. Text-to-SQL + 운영 어시스턴트 (★★★★★)
|
|
|
|
**현재 문제:** 운영자가 데이터 조회에 API/UI에만 의존 → 직관성 낮음
|
|
|
|
**구현 계획:**
|
|
|
|
| 라우터 | 기능 |
|
|
|--------|------|
|
|
| nlquery.py | 자연어 → SQL → 실행 → 결과 |
|
|
| op_assistant.py | Multi-turn 대화형 어시스턴트 |
|
|
| query_history.py | 쿼리 이력·즐겨찾기·공유 |
|
|
|
|
**지원 질의 예시:**
|
|
```
|
|
"이번 달 미처리 SR 중 HIGH 우선순위는 몇 건?"
|
|
→ SELECT COUNT(*) FROM tb_sr_request WHERE status IN ('OPEN','IN_PROGRESS') AND priority='HIGH' AND created_at >= '2026-06-01'
|
|
|
|
"지난 7일 동안 가장 많이 발생한 SR 카테고리 TOP 5"
|
|
→ SELECT category, COUNT(*) AS cnt FROM tb_sr_request WHERE created_at >= NOW()-7d GROUP BY category ORDER BY cnt DESC LIMIT 5
|
|
|
|
"홍길동 엔지니어가 이번 달 처리한 SR 평균 처리 시간은?"
|
|
→ SELECT AVG(EXTRACT(EPOCH FROM (updated_at-created_at))/3600) FROM tb_sr_request WHERE assignee_id=(SELECT id FROM tb_user WHERE name='홍길동') AND status='DONE' AND updated_at >= '2026-06-01'
|
|
```
|
|
|
|
**안전 장치:**
|
|
- SELECT만 허용 (DML/DDL 즉시 거부)
|
|
- 민감 컬럼 자동 제외 (ip_addr, ssh_user, os_pw_enc)
|
|
- 쿼리 타임아웃 5초
|
|
- 결과 최대 1000행
|
|
|
|
---
|
|
|
|
### G3. 구성 드리프트 감지 (★★★★☆)
|
|
|
|
**현재 문제:** 서버 설정 변경이 감지되지 않아 보안·규정 위반 발생
|
|
|
|
**구현 계획:**
|
|
|
|
| 라우터 | 기능 |
|
|
|--------|------|
|
|
| drift_detection.py | 드리프트 스캔·비교·보고 |
|
|
| golden_config.py | 골든 구성 정의·버전 관리 |
|
|
| auto_remediation.py | 승인 기반 자동 교정 |
|
|
|
|
**골든 구성 체크 항목 (CSAP 연계):**
|
|
| 항목 | 명령 | 기대값 |
|
|
|------|------|--------|
|
|
| SSH root 금지 | grep PermitRootLogin /etc/ssh/sshd_config | PermitRootLogin no |
|
|
| 패스워드 만료 | grep PASS_MAX_DAYS /etc/login.defs | 90 이하 |
|
|
| NTP 동기화 | timedatectl | synchronized: yes |
|
|
| SELinux/AppArmor | sestatus / aa-status | enforcing |
|
|
| 불필요 서비스 | systemctl list-units --failed | 0개 |
|
|
| 방화벽 활성화 | ufw status / firewalld | active |
|
|
|
|
**자동 교정 흐름:**
|
|
```
|
|
드리프트 감지 → SR 자동 생성 → PM 승인 요청
|
|
→ 승인 후 SSH 자동 교정 실행 → 결과 검증 → 완료 보고
|
|
```
|
|
|
|
---
|
|
|
|
### G4. 멀티클라우드 통합 (★★★★☆)
|
|
|
|
**현재 상태:** NCloud만 연동 → 공공기관 멀티클라우드 전략 대응 불가
|
|
|
|
**구현 계획:**
|
|
|
|
| 라우터 | 기능 |
|
|
|--------|------|
|
|
| multicloud.py | 통합 대시보드 + 단일 API |
|
|
| aws_connector.py | AWS EC2/RDS/S3 (SigV4 직접 호출) |
|
|
| cost_optimizer.py | AI 기반 비용 최적화 권고 |
|
|
| cloud_migration.py | On-prem → 클라우드 체크리스트 |
|
|
|
|
**지원 클라우드:**
|
|
| CSP | 연동 방식 | 공공 인증 |
|
|
|-----|---------|---------|
|
|
| NCloud | REST API (기존 ncloud.py 확장) | CSAP 인증 |
|
|
| AWS (GovCloud) | SigV4 서명 직접 호출 | FedRAMP |
|
|
| Azure Government | REST API | |
|
|
| KT Cloud | REST API | CSAP 인증 |
|
|
|
|
**비용 최적화 AI 분석 항목:**
|
|
- 사용률 10% 미만 인스턴스 → 삭제/다운사이징 권고
|
|
- Reserved Instance 전환 시 절감액 추정
|
|
- 야간/주말 미사용 인스턴스 → 스케줄링 권고
|
|
- 스토리지 낭비 탐지 (미연결 볼륨)
|
|
|
|
---
|
|
|
|
### G5. 공공기관 특화 (★★★★★)
|
|
|
|
**현재 상태:** 기본 CSAP만 지원 → 국내 공공 ITSM 시장 차별화 부족
|
|
|
|
**구현 계획:**
|
|
|
|
| 라우터 | 기능 | 연동 대상 |
|
|
|--------|------|---------|
|
|
| narasajang.py | 입찰·계약 조회 | 조달청 나라장터 OpenAPI |
|
|
| public_api_hub.py | 공공 API 연동 허브 | 공공데이터포털(data.go.kr) |
|
|
| isp_support.py | ISP 수립 지원 | 내부 데이터 집계 |
|
|
| network_zone.py | 행정망/인터넷망 분리 | 내부 네트워크 정책 |
|
|
| k_cloud.py | K-Cloud 전환 자동화 | NCloud/KT/LG CNS |
|
|
| e_procurement.py | 전자조달 이력 관리 | 나라장터 계약 시스템 |
|
|
|
|
**나라장터 연동 기능:**
|
|
- 기관별 입찰 공고 조회 → ITSM 프로젝트 자동 생성
|
|
- 계약 현황 → SR 이행 연계
|
|
- 납품 검수 → CMDB 자동 등록
|
|
|
|
**공공 API 허브 지원 API:**
|
|
- 기상청 날씨 (서버실 온습도 모니터링 연계)
|
|
- 행안부 주소 API (사이트 주소 자동완성)
|
|
- 국세청 사업자 정보 (공급사 검증)
|
|
- KISA CVE 취약점 정보 (vuln_scan 연계)
|
|
|
|
---
|
|
|
|
## 추가 고려 영역 (향후)
|
|
|
|
### 그린 IT / 탄소 발자국 (P3)
|
|
- 서버 전력 소비량 측정 (IPMI/BMC)
|
|
- 탄소 배출량 계산 (전력 → CO2 환산)
|
|
- 에너지 효율 개선 권고
|
|
|
|
### 이벤트 스트리밍 (P3)
|
|
- Kafka/NATS 기반 실시간 이벤트 버스
|
|
- 장애 이벤트 → 즉시 SR 생성 (현재 폴링 방식 개선)
|
|
|
|
### MDM (Mobile Device Management) (P3)
|
|
- 업무용 모바일 기기 관리
|
|
- 원격 초기화·정책 배포
|
|
|
|
### 제로 트러스트 (P3)
|
|
- ZTNA 정책 관리
|
|
- 마이크로 세그멘테이션 설정
|
|
|
|
---
|
|
|
|
## 예상 신규 라우터 수
|
|
|
|
| 영역 | 라우터 수 | 예상 엔드포인트 |
|
|
|------|---------|--------------|
|
|
| CMDB 자동 발견 | 4개 | ~20개 |
|
|
| Text-to-SQL | 3개 | ~12개 |
|
|
| 구성 드리프트 | 3개 | ~15개 |
|
|
| 멀티클라우드 | 4개 | ~20개 |
|
|
| 공공기관 특화 | 6개 | ~30개 |
|
|
| **합계** | **20개** | **~97개** |
|
|
|
|
**확장 후 총계: 124개 라우터, ~764개 엔드포인트**
|