로그를 남기는 것을 보면 프로그램마다 기준이 다른 것 같다. 개발자의 생각과 운영자의 생각이 다르기 때문에 발생하는 차이도 있을 것인데, 기본적으로 로그를 남기는 것은 운영자의 입장에서 생각을 해야한다.

그러나, 난 개발자이므로, 개발자의 관점에서 생각나는대로 적어보려고 한다. 아래에 기술하는 시스템이란, 웹 응용프로그램일수도 있고, 일반적인 서비스나 사용자 프로그램일 수도 있다.

1. 로그를 통해 어떤 시스템의 상태변화를 알 수 있어야한다.
2. 시스템에 대한 사용자의 입력을 재현할 수 있어야한다.
    - 아주 훌륭한 입력 동작 재현기가 있다면, 임의의 상태에서 로그를 통해 현재 상태까지 재현가능한 입력을 만들어 낼 수 있어야한다.
3. 사용자의 입력이 환경에 의해 임시로 판단해야하는 경우 반드시 남겨야한다.
    - 즉, 메모리나 디스크의 부족, 전원관리나 혹은 알 수 없는 소켓의 종료등에 의해 논리적인 판단이 아닌 환경에 의해 판단이 달라질 수 있는 것은 중요한 관리 포인트이다.
4. 외부에서 들어온 입력에 대해 시스템의 상태 변화 (저장/변경/삭제)와 그에 따른 출력을 연관지어 추적할 수 있어야한다.
5. 시스템 설계시에는 주요한 보안 모델에 대한 기술이 있어야하며, 그 보안 모델의 변화를 기록할 수 있어야 한다.
    - 즉, 사용자/비밀번호, 사용자의 접근권한, 메뉴에 대한 접근권한, 테이블등의 자료에 대한 접근권한, 접근시도 등에 대한 기술이 있어야한다.

오늘은 여기까지.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

+ Recent posts