도입 절차

먼저 관찰하고, 나중에 집행합니다.

매뉴얼의 핵심 조언이 곧 우리의 절차입니다. 귀사 트래픽에서 dry-run 결과를 지켜보기 전에는 자동 차단을 켜지 않습니다.

단계

8단계

  1. 환경·요구 사항 검토

    OS(Linux 권장), Python 3.10+, 메모리·디스크, 네트워크 캡처 지점, root / CAP_NET_RAW / CAP_NET_ADMIN 으로 실행할 수 있는 주체를 확인합니다. 모니터링에 대한 서면 허가를 확인합니다.

  2. 설치와 자체 점검

    가상환경을 만들고 의존성(PyTorch CPU 휠)을 설치한 뒤 점검을 실행합니다.

    python main.py --version && python main.py defend self-test
  3. 기준선 데이터 수집

    관리하는 네트워크에서만 정상 트래픽(예: 평일 1~7일치 pcap)과 공격이 없던 로그를 수집합니다.

    sudo tcpdump -i eth0 -w normal_%Y%m%d_%H.pcap -G 3600 -C 1000 -Z $USER 'ip'
  4. 학습과 측정

    비지도 기준선(Isolation Forest, Autoencoder), HIDS, 필요하면 지도 모델을 학습하고 귀사 데이터로 정밀도, 재현율, 오탐률을 측정합니다.

    python main.py nids train --dataset pcap --pcap normal.pcap --feature-set extended
  5. dry-run 관찰(수일)

    집행 없이 방어 엔진을 실행하며, 정상 트래픽이나 관리자를 차단했을 항목이 없는지 대시보드와 보고서로 검토합니다.

    sudo .venv/bin/python main.py defend run --iface eth0 --authlog /var/log/auth.log --conn --watch ~/Downloads
  6. 허용 목록·임계값 조정

    allowlist.cidrs 에 관리자 IP 와 핵심 대역을 추가하고, 탐지 임계값, BPF 필터, min_votes 를 조정하며 필요하면 기준선을 다시 학습합니다.

  7. 단계적 집행

    defense.enforcement.allow: true 로 설정하고, 시험 서버에서 --enforce --rollback-on-exit 로 시작해 콘솔 접근을 유지한 채 범위를 넓힙니다. defend rollback 이 모든 것을 원복합니다.

  8. 운영과 검토

    일간·주간 보고서, verify-audit, 로그 로테이션·보존, 감사 로그 외부 백업, 정기 기준선 재학습과 규칙 갱신.

권한

어떤 작업에 어떤 권한이 필요한가

작업권한예시
파일·로그·pcap 감시, 기록만(dry-run)일반 사용자python main.py defend run --authlog /var/log/auth.log --watch ~/Downloads
/proc/net/tcp 연결 감시일반 사용자(Linux)python main.py defend run --conn
실시간 패킷 스니핑root 또는 CAP_NET_RAWsudo .venv/bin/python main.py defend run --iface eth0
실제 IP 차단root 또는 CAP_NET_ADMIN… defend run --iface eth0 --enforce + allow: true
UI / 보고서일반 사용자python main.py ui · python main.py report

파이썬 인터프리터에 setcap 을 하면 그 인터프리터로 실행되는 모든 스크립트가 원시 소켓을 열 수 있습니다. 전용 가상환경에만 적용하고, 공용 서버에서는 sudo 실행을 권장합니다.

귀사 환경에 대해 이야기해 주세요

네트워크, 호스트, 제약 사항을 알려 주시면 dry-run(모의 실행) 우선의 시범 도입 계획을 제안드립니다. 부담 없이 문의하세요.