POSA_LEAKSMS/php
cw2007 7fa39406d3 feat(observability): 수집 거부 출처 IP 로그 + 대시보드 노출
수집 거부 카운터는 사유별 숫자만 남겨, "우리 노드 오설정 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 — 대시보드
온습도 센서카드 목록)이 함께 포함된다.
2026-07-09 13:43:12 +09:00
..
api feat(observability): 수집 거부 출처 IP 로그 + 대시보드 노출 2026-07-09 13:43:12 +09:00
assets fix: 개요 경보 집계를 측정 기준으로 전환 — 하단 리스트와 정합 2026-07-06 18:22:07 +09:00
var chore: import codebase with security hardening 2026-06-20 09:37:40 +09:00
.htaccess feat(deploy): 기기별 턴키 배포 번들 + Pi OS 하드닝 + 원샷 설치 2026-07-02 18:51:46 +09:00
admin_security.php feat: RPi4 누수+온습도 2-모듈 단일 서버 통합 + 보안 하드닝 2026-06-23 16:21:11 +09:00
blocked.php feat: cafe24 관리자 UI "Slate NOC Console" 디자인시스템 통합 + 적대리뷰 18건 반영 2026-07-04 22:32:16 +09:00
config.local.example.php feat: 대시보드 예보·대응 정보 (예방 신호 + 조치 가이드) 2026-07-05 14:02:48 +09:00
config.php feat(observability): 수집 거부 출처 IP 로그 + 대시보드 노출 2026-07-09 13:43:12 +09:00
cron_heartbeat.php refactor(db)!: DB 테이블 전체 leak_ 접두사 통일 + 구 마이그레이션 폐기 2026-07-02 18:50:56 +09:00
dashboard.php feat(observability): 수집 거부 출처 IP 로그 + 대시보드 노출 2026-07-09 13:43:12 +09:00
forecast.php feat: 대시보드 예보·대응 정보 (예방 신호 + 조치 가이드) 2026-07-05 14:02:48 +09:00
login.php feat: cafe24 관리자 UI "Slate NOC Console" 디자인시스템 통합 + 적대리뷰 18건 반영 2026-07-04 22:32:16 +09:00
monthly_report.php feat: cafe24 관리자 UI "Slate NOC Console" 디자인시스템 통합 + 적대리뷰 18건 반영 2026-07-04 22:32:16 +09:00
ops_checks.php refactor(db)!: DB 테이블 전체 leak_ 접두사 통일 + 구 마이그레이션 폐기 2026-07-02 18:50:56 +09:00
photo.php feat: RPi4 누수+온습도 2-모듈 단일 서버 통합 + 보안 하드닝 2026-06-23 16:21:11 +09:00
retention_cleanup.php refactor(db)!: DB 테이블 전체 leak_ 접두사 통일 + 구 마이그레이션 폐기 2026-07-02 18:50:56 +09:00
security_evidence.php feat: cafe24 관리자 UI "Slate NOC Console" 디자인시스템 통합 + 적대리뷰 18건 반영 2026-07-04 22:32:16 +09:00
setup_hash.php chore: import codebase with security hardening 2026-06-20 09:37:40 +09:00
setup_mfa.php feat: cafe24 관리자 UI "Slate NOC Console" 디자인시스템 통합 + 적대리뷰 18건 반영 2026-07-04 22:32:16 +09:00
setup_wizard.php feat: cafe24 관리자 UI "Slate NOC Console" 디자인시스템 통합 + 적대리뷰 18건 반영 2026-07-04 22:32:16 +09:00
sms_send.php fix(sms): 경보 쿨다운을 에피소드 인지로 전환 — 복구 직후 재발 누락 수정 2026-07-09 12:41:05 +09:00
test_mobile.php feat(deploy): 기기별 턴키 배포 번들 + Pi OS 하드닝 + 원샷 설치 2026-07-02 18:51:46 +09:00