# 웹 로그 기능 적용 기록 2026-09-08 · release 20260908-log-web-2 사용자 승인: 명령·응답 원문 저장 유지, 보존기간 관리자 변경 허용, 포트 운영자는 자신에게 허용된 포트만 조회·다운로드, 초기화는 기존 데이터 전체 삭제. | 항목 | 적용 내용 | |---|---| | 1 원문 로그 | 기존 RX/TX 원문·명령·응답 기록 및 표시 유지. 검색에 payload 원문도 포함. | | 2 보존기간 | 관리자 로그 화면에 시스템·감사·포트 보존일 설정 추가. 서버 허용 범위 1~365일, 기본 365일. 적용과 영구 저장 수행. 기간 축소·용량 회수에 따른 삭제 가능성을 표시. | | 3 포트별 기록 | 기존 수신/송신·표시 형식·일괄 적용 기능 유지. savePort가 선택된 포트를 bulk API로 전달. | | 4 키워드 알림 | 기존 포트 고급 설정의 키워드와 알림 설정의 수신 키워드 감지를 유지. 문자열·대소문자 무시 방식 안내 추가. 알림 이벤트는 기존 포트 로그에 표시. | | 5 검색·목록 | 기존 기간·포트·사용자·방향·유형·검색어 유지. 50/100/200/500건 페이지 단위 조회와 이전/다음 버튼 추가. | | 6 다운로드 | CSV, JSON 배열, JSONL 지원. UI 100/500/1000/5000건 상한 선택, 서버 최대 10000건 유지. 필터를 서버에 전달. CSV 인용부호·쉼표·줄바꿈 처리, 수식 주입 방지, UTF-8 BOM, no-store 응답. | | 7 권한 | 포트 운영자 포트 로그 메뉴 허용. API에서 허용 포트만 pagination·export 이전 필터링. 명시적으로 거부된 포트 요청은 403. 시스템 로그·삭제·보존 설정 변경은 금지. 기존 그룹+사용자별 유효 권한 계산 유지. | | 8 저장 공간 | 실제 logd snapshot 기반 클래스별 사용량/상한·남은 공간·경고·최고령 기록 표시. 30초 순증가량에서 클래스 상한 도달까지의 추가 저장 가능 일수 추정. 데이터가 없거나 증가하지 않으면 추정 불가로 표시. 이는 보존기간 보장이 아님. | | 9 원격 Syslog | 기존 서버·포트·UDP/TCP 설정에 전송할 이벤트 분류 선택 추가. 최근 관측한 전송의 대기/성공/실패·시도 횟수·오류 상태를 조회. API 재시작 전 이력 전체 목록은 제공하지 않음. | CAPTCHA는 4자리이며 기본 활성화·2분 만료·1회 사용·접속자 결합 검증을 유지한다. 대시보드 저장장치 사용량의 “로그·백업 등이 함께 사용하는 데이터 파티션” 문구를 제거했다. 검증: authcaptcha/API/mock/프론트엔드 handlers·service 테스트 통과. 권한 테스트는 읽기 허용 CH18, 명시 거부 CH01, 시스템 로그·삭제·retention 차단, CSV/JSON 원문 보존과 다른 포트 누출 방지를 확인한다. 실제 장비에서 4자리 CAPTCHA 로그인, 저장 공간/보존 설정/Syslog 상태 GET, CSV·JSON·JSONL 다운로드 및 파싱을 확인했다. 원격 수신 서버로의 전송 시험, 48채널 장기 부하, 전원 차단·공장초기화는 이번에 실행하지 않았다. 대화에서 보류한 커널/드라이버 문제는 해결됐다고 주장하지 않는다. 장비 배포 파일과 release/latest/rootfs/usr/bin의 2개 파일 SHA-256을 일치시켰다. 모든 변경은 기존 tera-clone-demo 서비스 대상이며 legacy tera-api/tera-web는 교체하지 않았다.