📌 애플리케이션 로그 모니터링
🔍 Loki
- Loki는 Grafana에서 만든 로그 수집 및 검색 시스템이다.
- Prometheus처럼 메트릭을 수집하듯, 로그를 라벨을 기반으로 수집하고 조회한다.
- 특징:
- 로그를 전체 인덱싱하지 않고 메타데이터만 인덱싱하여 성능과 저장 비용 절약할 수 있다.
- Grafana와 연동하여 로그 시각화 및 알람 설정 가능하다.
🔧 logback-loki-appender
- 애플리케이션에서 logback 사용 시, 로그를 Loki로 전송할 수 있는 Appender이다.
- 로그를 JSON 형태로 포맷하여 HTTP로 Loki에 Push할 수 있다.
활용 장점: 로그를 중앙에서 검색, 필터링이 가능해 운영 효율성 향상된다.
🔐 시큐어 코딩 보안 항목
🔸 CORS (Cross-Origin Resource Sharing)
- 다른 도메인 간 요청을 허용하거나 제한하는 정책이다.
- 기본적으로 브라우저는 출처가 다른 요청을 차단한다.
- 서버에서 CORS 설정을 통해 특정 Origin 또는 모든 Origin(*) 허용 가능하다.
🔸 CSRF (Cross-Site Request Forgery)
- 사용자의 인증된 세션을 악용한 요청 위조 공격이다.
- 예: 사용자가 로그인된 상태에서 공격자가 의도한 요청을 실행시킨다.
- 방어 방법:
- CSRF Token 사용 (Spring Security 기본 적용)
- SameSite 쿠키 정책 설정
- Referer/Origin 검사
🔸 XSS (Cross-Site Scripting)
- 웹 페이지에 악의적인 스크립트를 삽입하여 사용자 브라우저에서 실행된다.
- 예: <script>alert('Hacked!')</script>
- 방어 방법:
- 사용자 입력값을 무조건 Escape 처리
- HTML/JS에 출력 시 th:text, c:out, StringEscapeUtils 등 활용
- 보안 라이브러리 사용 (e.g., OWASP Java Encoder)