«VPN 로그인이 실패하면 메일을 보내줘»라는 문장 안에는 두 가지 결정이 숨어 있다. 첫째는 알림을 어떻게 전달할지다. 이벤트마다 메일 한 통, 주기적 요약, 또는 수집기에서 오는 경보 중 하나다. 둘째는 메시지에 무엇을 담을지다. 첫째를 틀리면 메일함이 넘치고, 둘째를 틀리면 경보를 실행 가능하게 만드는 필드가 사라진다. 어느 결정도 VPN 로그 범주를 억제할 필요가 없으며, 그렇게 하는 것이 감사 추적을 조용히 파괴하는 지름길이다.

세 가지 전달 형태와 각각이 맞는 경우

형태맞는 경우비용
이벤트별 자동화 메일볼륨이 낮고 한 팀이 대응시도가 몰리면 메일함이 범람
예약된 요약정기 검토, 추세 관찰진행 중인 시도를 아무도 보지 못함
상관 관계를 갖춘 수집기 경보볼륨이 높고 SOC를 공유먹이고 조정해야 할 시스템이 하나 더 늘어남

누가 대응하고 얼마나 빨리 할 수 있는지로 고르세요. 어떤 옵션이 설정하기 가장 쉬운지로 고르지 마세요. 사무실 하나를 보호하는 FortiGate 한 대라면 이벤트별 메일이 정당화될 수 있다. 탈취된 자격 증명 채우기 시도를 받는 게이트웨이에 같은 구성을 두면 하루에 수천 통의 메시지가 생기고 아무도 읽지 않는 폴더로 걸러진다.

제목 줄이 아니라 이벤트 레코드에서 시작하세요

실제로 운영하는 릴리스에서 대표적인 저장 이벤트를 읽어 보세요. FortiOS 7.4.8 로그 참조는 SSL VPN 로의 로그인 실패를 이벤트 39426으로 식별하며, 해당 필드에는 action, user, remip, reason, tunneltype 및 vd이 포함된다. 전달받은 메일 제목에서 필터를 설계하면 펌웨어가 다르게 표기하는 필드 이름에 맞추게 된다. 실제 실패 두세 건을 열어 보고 트리거를 작성하기 전에 식별자가 일치하는지 확인하세요. 거기에 드는 오 분은 잘못된 이벤트에 울리는 일주일치 경보보다 짧다.

자동화 스티치는 이벤트 로그 트리거를 작업에 연결하며, 트리거가 바로 이벤트 선택이 있어야 할 자리다. 요구 사항에 필요한 추가 필드 조건만 더하세요. 소수의 필드로 거르는 트리거도 나머지에 대해서는 검증되지 않은 동작을 제공한다.

지원되는 치환으로 간결한 본문을 만드세요

메일 작업에 대한 로그 필드 치환을 문서화한 릴리스에서는 본문이 짧아도 유용할 수 있다. 아래 형태는 예시일 뿐이니, 적용하기 전에 속성 이름과 치환 구문을 펌웨어 버전과 대조해 확인하세요.

config system automation-trigger
    edit "ssl-vpn-login-fail"
        set event-type event-log
        set logid 39426
    next
end

config system automation-action
    edit "mail-vpn-fail"
        set action-type email
        set email-to "[email protected]"
        set email-subject "SSL-VPN login failed"
        set message "Account: %%log.user%% | Source: %%log.remip%% | Reason: %%log.reason%%"
    next
end

빈 필드를 표시하는 템플릿은 이벤트에 그 데이터가 없었다는 것을 증명하지 않는다. 먼저 필드 이름과 치환 구문을 확인하고, 그다음 통제된 실패 하나로 시험해 실제 메시지를 읽으세요. 어느 장비가 메일을 보냈는지 추측하지 않고도 대응자가 전체 레코드를 찾을 수 있도록 장비 식별 정보와 발생 시간을 더하세요.

레코드를 지우지 않고 볼륨을 잠재우세요

속도 제어, 그룹화, 상관 관계는 전달 계층에 속한다. 모든 것에 대해 최소 메일 심각도를 올리는 것은 무관한 이벤트를 숨기는 둔한 도구이고, VPN 로그 범주를 끄는 것은 더 나쁘다. 이벤트가 아예 기록되지 않는다. 승인된 로깅 대상과 보존 정책을 이전 그대로 정확히 유지하세요. 그리고 그 대신 알림 경로가 더 조용해지게 두세요. 무엇을 억제했는지 기록하세요. 다음 사람이 메일함에서 빈틈을 발견하고 그것이 의도적이었음을 알아야 하기 때문이다.

새 경로가 검증되면 겹치는 기존 메일 규칙을 검토된 변경으로 폐기하세요. 두 경로가 모두 울리거나, 기존 것을 먼저 꺼서 둘 다 울리지 않는 것은 시험 전에 정리를 하는 흔한 결과다.

실패를 실패로 읽으세요

실패한 인증 이벤트는 성공한 VPN 세션이 아니며, 이벤트의 사용자 이름은 사람에 대한 검증된 귀속이 아니다. 계정이 침해되었다고 선언하기 전에 이유를 성공한 로그인, 알려진 사용자 활동, 반복된 시도와 상관 지으세요. 그리고 경보에 그중 무엇을 확인했는지 적으세요.

알림은 승인된 수신자에게만 보내세요. 계정 이름, 내부 장비 식별자, 출발지 주소는 운영상 민감하며, 편의 때문에 커지는 배포 목록은 유출 경로가 된다. 실행 가능한 경로 하나와 온전한 감사 추적, 그것이 목표의 전부다.

관련 글