No description
수집 거부 카운터는 사유별 숫자만 남겨, "우리 노드 오설정 vs 외부 스캐너"를 구분할 수 없었다. 서명불일치 2건이 우리 노드의 키 불일치인지 인터넷 프로브인지 대시보드만으론 판별 불가했다. - config.php: 최근 거부 이벤트 링버퍼(var/ingest_reject_events.json, 상한 INGEST_REJECT_EVENTS_MAX=50, flock 기반 DoS 안전) 추가. record_ingest_rejection() 이 모든 거부에서 출처 IP(REMOTE_ADDR, 형식검증)를 자동 기록한다. 본문 유래 값(device_id 등)은 신뢰불가 → ingest_sanitize_token() 으로 제어문자 제거·절단 (로그 인젝션 방어). var/ 는 .htaccess 로 웹 접근 차단됨. - api/sensor_data.php: 서명 거부 시 서명모드(raw=키불일치/none=헤더스트립)와 device_id 를 컨텍스트로 함께 남겨 출처 판별을 돕는다. - dashboard.php: '수집 거부' 위젯 아래 '최근 거부 출처' 표(시각·IP·사유·모드· device_id) 노출. 모든 필드 htmlspecialchars. - tests/ingest_reject_log_test.php: 로그 인젝션 제거·IP 형식검증 회귀 추가, run_tests.sh 등록. security_hardening_test.php 소스 회귀 5종 추가. 주: config.php 에는 작업 트리에 있던 선행 변경(METRIC_SENSOR_IDS — 대시보드 온습도 센서카드 목록)이 함께 포함된다. |
||
|---|---|---|
| .claude | ||
| .tours | ||
| docs | ||
| firmware | ||
| php | ||
| raspberry_pi4 | ||
| raspberry_pi4_sht30 | ||
| scripts | ||
| sql | ||
| tests | ||
| tools | ||
| (20260518)_IoT_기반_모니터링_체계_구축을_위한_보안대책서.hwp | ||
| (Y수정)_(20260520)_IoT_기반_모니터링_체계_구축을_위한_보안대책서.hwp | ||
| (Y수정)_(20260528)_IoT_기반_모니터링_체계_구축을_위한_보안대책서.hwp | ||
| .gitignore | ||
| CHANGELOG.md | ||
| PR_BODY.md | ||
| README.md | ||
| report_leak_detection_system.md | ||
| run_tests.sh | ||
| SYSTEM_OVERVIEW.md | ||
| VERSION | ||
서버실 통합 모니터링 시스템 (누수 + 온습도)
Raspberry Pi 4 센서 모듈 2대 — 1번: 누수 감지 + 카메라, 2번: SHT30 온습도 — 와
선택적 3번째 노드(신규 지점, sensor_id 3)가 동일한 cafe24 PHP 서버로 HTTPS 보고
(raw-body 서명 X-Signature = HMAC-SHA256(API_KEY, 요청본문))를 하고, 서버가 MySQL 저장,
임계/누수 판정, SMS 발송, 통합 대시보드(dashboard.php) 표시를 담당하는 단일 시스템입니다.
모듈 구성
| 폴더 | 역할 | sensor_id |
|---|---|---|
raspberry_pi4/ |
누수 감지(e-con 5C-08) + Pi Camera 촬영·사진 업로드 | 1 (신규 지점 노드는 3) |
raspberry_pi4_sht30/ |
SHT30 온습도 측정(I2C) | 2 |
php/ |
cafe24 서버 — API 수신, DB 저장, 판정/SMS, 대시보드 | — |
sql/ |
DB 스키마(schema_sht30.sql = 신규 설치 완결) + 마이그레이션 |
— |
firmware/ |
STM32F407 마이그레이션 트랙(별도) — RPi4 배포와 무관 | — |
문서
- SYSTEM_OVERVIEW.md — 전체 아키텍처·모듈 매핑·서명 스킴 (기준 문서)
- docs/DEPLOYMENT_PLAN_RPI4x3.md — RPi4 × 3 + cafe24 신규 설치 배포 계획
- docs/INSTALL_PI_SERVER.md — cafe24 서버 설치 절차 (STM32 펌웨어 중심)
- docs/OPERATIONS_SECURITY_CHECKLIST.md — 운영·보안 체크리스트