본문 바로가기

전체 글1422

CrowdSec 경보 집계와 일일 보안 모니터링을 정리한 운영 기록 보안 모니터링은 경보를 많이 수집하는 것만큼, 운영자가 같은 사실을 같은 숫자로 이해하게 만드는 일이 중요하다. 이번 작업은 CrowdSec 경보 수가 보고서와 텔레그램 알림에서 다르게 보일 수 있는 지점을 정리하고, 길어진 로그 알림과 중복 실행되는 점검 스케줄까지 함께 다듬은 기록이다. 대상 서버와 봇의 세부 경로는 공개 글에서 식별되지 않도록 일반화했다. ## 문제의 시작: ‘50건’이 실제 경보 수가 아닐 수 있었다 운영 중 경보 요약에 표시되는 숫자가 실제 현황과 다를 수 있다는 점을 확인했다. 원인은 `cscli alerts list`의 기본 조회 제한이었다. 기본값에 의존하면 화면이나 변수에 담긴 목록은 일정 건수까지만 남고, 이를 전체 경보 수처럼 사용하게 될 위험이 있다. 특히 보고서에는.. 2026. 9. 7.
날씨 알림 봇에 아침 브리핑과 강수 시작 알림을 더한 기록 운영 중인 날씨 알림 봇에는 정해진 시각에 오늘의 날씨를 알려 주는 기능이 없었습니다. 사용자가 명령을 실행해야만 예보를 확인할 수 있었고, 비나 눈이 막 시작되는 순간에도 별도 안내가 없었습니다. 여기에 실시간 기상특보가 관심 지역 밖의 정보까지 함께 전달되는 문제도 있었습니다. 이번 작업의 목표는 아침 브리핑, 강수 시작 알림, 지역 기반 특보 필터를 하나의 운영 흐름으로 정리하는 것이었습니다. 가장 먼저 정한 원칙은 기존 알림 대상 정책을 바꾸지 않는 것이었습니다. 새로운 알림은 이미 수신 동의를 한 활성 대상에게만 전송하도록 했고, 메시지를 만드는 로직과 실제 발송 로직을 분리했습니다. 이 구조 덕분에 전송 전에 같은 형식의 메시지를 화면이나 테스트 대상에서 확인할 수 있었습니다. 아침 06:30.. 2026. 9. 1.
LLM 공급자 분리와 호출 절감으로 보안 보고서 운영 안정화하기 보안 보고서를 자동으로 요약하는 스크립트는 운영자의 반복 확인 시간을 줄여 주지만, 외부 LLM을 연결하는 순간 비용·속도·장애 대응까지 함께 관리해야 하는 구성 요소가 된다. 이번 작업은 보안 점검 결과를 분석하는 Python 스크립트에서 공급자별 모델 설정을 분리하고, 동일한 상태에 대한 반복 호출을 줄인 사례다. 목표는 특정 서비스에 맞춘 단순 수정이 아니라, 모델 변경과 호출량 증가에 흔들리지 않는 운영 경로를 만드는 것이었다. ## 운영 배경: 설정 혼용과 반복 호출의 문제 기존에는 두 LLM 공급자의 모델명이 같은 설정 흐름에 섞여 있었다. 공급자를 전환할 때마다 모델 식별자를 직접 바꾸어야 했고, 지원하지 않는 모델명이 선택되면 `model_not_found` 형태의 404 오류가 발생할 여.. 2026. 8. 28.
Vaultwarden 복구 흐름과 Telegram 봇 로그를 정리한 운영 기록 비밀번호 관리 서비스의 백업·복구는 평소에는 조용히 동작하지만, 장애 상황에서는 가장 빠르고 정확해야 하는 기능입니다. 이번 작업은 Telegram 기반 운영 봇에서 Vaultwarden 복구를 선택했을 때 대상 오류가 발생하던 문제를 바로잡고, 분산돼 있던 로그 파일 이름을 하나로 통일한 사례입니다. 함께 남아 있던 사용하지 않는 구성과 문서도 정리해, 실제 운영 화면과 문서의 설명이 같은 방향을 가리키도록 했습니다. ## 운영 배경: 복구 메뉴가 명확해야 하는 이유 기존 봇은 Vaultwarden 백업을 SQL 형식과 JSON 형식으로 관리하고 있었지만, 복구 메뉴에서는 두 형식의 차이가 충분히 드러나지 않았습니다. 그 결과 사용자가 Vaultwarden 복구를 선택하면 유효하지 않은 대상이라는 메시.. 2026. 8. 25.