8단계
환경·요구 사항 검토
OS(Linux 권장), Python 3.10+, 메모리·디스크, 네트워크 캡처 지점, root / CAP_NET_RAW / CAP_NET_ADMIN 으로 실행할 수 있는 주체를 확인합니다. 모니터링에 대한 서면 허가를 확인합니다.
설치와 자체 점검
가상환경을 만들고 의존성(PyTorch CPU 휠)을 설치한 뒤 점검을 실행합니다.
python main.py --version && python main.py defend self-test기준선 데이터 수집
관리하는 네트워크에서만 정상 트래픽(예: 평일 1~7일치 pcap)과 공격이 없던 로그를 수집합니다.
sudo tcpdump -i eth0 -w normal_%Y%m%d_%H.pcap -G 3600 -C 1000 -Z $USER 'ip'학습과 측정
비지도 기준선(Isolation Forest, Autoencoder), HIDS, 필요하면 지도 모델을 학습하고 귀사 데이터로 정밀도, 재현율, 오탐률을 측정합니다.
python main.py nids train --dataset pcap --pcap normal.pcap --feature-set extendeddry-run 관찰(수일)
집행 없이 방어 엔진을 실행하며, 정상 트래픽이나 관리자를 차단했을 항목이 없는지 대시보드와 보고서로 검토합니다.
sudo .venv/bin/python main.py defend run --iface eth0 --authlog /var/log/auth.log --conn --watch ~/Downloads허용 목록·임계값 조정
allowlist.cidrs에 관리자 IP 와 핵심 대역을 추가하고, 탐지 임계값, BPF 필터,min_votes를 조정하며 필요하면 기준선을 다시 학습합니다.단계적 집행
defense.enforcement.allow: true로 설정하고, 시험 서버에서--enforce --rollback-on-exit로 시작해 콘솔 접근을 유지한 채 범위를 넓힙니다.defend rollback이 모든 것을 원복합니다.운영과 검토
일간·주간 보고서,
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_RAW | sudo .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 실행을 권장합니다.