| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 데이터베이스
- SpringFramework
- Java
- sql
- servlet
- MVC패턴
- 웹 보안
- spring boot
- 웹개발기초
- job
- two pointers
- coding test
- jsp
- vite
- react
- 웹개발
- MSA
- CSS
- BCIT
- Grafana
- Doit알고리즘코딩테스트
- html
- 서버 모니터링
- 자바
- Bambino
- 모니터링
- 웹개발자
- DevOps
- Spring MVC
- 시큐어코딩
- Today
- Total
목록분류 전체보기 (176)
초보 개발자의 기록
SQL Injection은 공격자가 웹 애플리케이션의 취약점을 이용해 악의적인 SQL 쿼리를 삽입하거나 조작하는 공격 기법이다. 주로 애클리케이션 사용자 입력값을 적절히 검증하지 않거나, 쿼리를 문자열로 직접 구성할 때 발생한다. 이 공격을 통해 공격자는 민감한 정보를 탈취하거나, 데이터를 조작하고, 심한 경우 시스템 전체를 장악할 수 있다. SQL Injection의 위험성데이터 탈취: 사용자의 개인정보, 계정 정보 등 민감한 데이터를 조회할 수 있다.데이터 변조: 데이터를 삭제하거나 변경하는 등의 작업이 가능하다.권한 상승: 일부 데이터베이스는 특정 취약점을 통해 관리자(DBA) 권한까지 탈취할 수 있다.시스템 장악: 데이터베이스 명령 실행 -> 서버 파일 시스템 접근 -> 최종적으로 서버 전체를 장..
XSS(Cross-Stie Scripting)란?XSS(Cross-Site Scripting)는 웹 애플리케이션의 취약점을 악용해 악성 스크립트를 다른 사용자의 브라우저에서 실행시키는 공격 기법이다. 이를 통해 공격자는 사용자의 세션 탈취, 악성 코드 실행, 피싱, 웹사이트 변조 등 다양한 공격을 수행할 수 있다. 웹 페이지에 신뢰할 수 없는 입력이 그대로 반영될 때 주로 발생하며, 가장 흔한 웹 취약점 중 하나이다. XSS 공격 유형반사형 XSS (Reflected XSS)사용자의 이볅이 서버에서 즉시 반영되어 브라우저에서 실행될 때 발생하는 유형이다. 보통 URL 파라미터나 쿼리 스트링을 통해 악성 스크립트를 삽입한다.http://example.com/search?q=검색어를 그대로 페이지에 출력하는..
CSRF 란?CSRF(Cross-Site Request Forgery)는 웹 애플리케이션의 취약점을 이용해 사용자가 의도하지 않은 요청을 보내도록 하는 공격 기법이다. 공격자는 사용자가 인증된 상태를 악용하여, 사용자가 원하지 않는 행동을 수행하게 만들 수 있다.예를 들어, 사용자가 은행 사이트에 로그인한 상태에서 악성 웹사이트를 방문하면, 해당 사이트가 사용자의 권한을 이용해 은행 계좌에서 돈을 송금하도록 요청할 수 있다. CSRF 발생 상황1. 사용자 로그인: 사용자가 웹 애플리케이션에 로그인2. 세션 유지: 로그인 후 세션 쿠키가 브라우저에 저장3. 악성 웹사이트 방문: 공격자가 CSRF 코드를 포함한 사이트로 유도4. 악의적인 요청 전송: 사용자의 세션 쿠키를 이용해 원본 웹 애플리케이션으로 요청..
CORS 오류 (403, 405)의 진짜 원인과 해결 방법SPA + Spring Boot 환경에서 흔히 발생하는 CORS 문제SPA(React, Vue 등) 프런트엔드에서 API호출을 했는데 403(Forbidden), 405(Method Not Allowed) 오류가 발생하는 경험은 매우 흔하다. 방화벽에서 GET, POST, DELETE, PATCH를 모두 열어두었는데 왜 문제가 발생할까? 그 이유는 바로 CORS 기본 동작 방식과 Preflight 요청(OPTIONS) 때문이다. CORS란?CORS(Cross-Origin Resoure Sharing) 은 한 출처(origin)에서 실행되는 웹 애플리케이션이 다른 출처의 리소스에 접근할 수 있도록 브라우저가 제공하는 보안 기능이다. 동일 출처(Sam..
애플리케이션 운영에서는 로그는 문제 분석, 장애 대응, 성능 확인 등 매우 중요한 정보를 제공한다. 최근에는 단순 로그 파일 저장 방식이 아닌, 로그 집계(Log Aggregaton) 시스템을 활용해 로그를 중앙에서 조회하고 분석하는 방식이 일반화되고 있다. 그중에서도 Grafana Loki는 가볍고 빠르며, Prometheus처럼 라벨 기반의 로그 쿼리를 제공하는 강력한 로그 집계 솔루션이다. 이번 글에서는 Loki의 개념 그리고 Java (Spring Boot)에서 loki-logback-appender를 통해 로그를 Loki로 직접 전송하는 방법을 소개한다. Loki란 무엇인가? Loki는 Fragana Labs에서 개발한 로그 집계 시스템으로, Prometheus의 메트릭 수집 방식과 유사한 ..
Grafana는 오픈소스 데이터 시각화 및 모니터링 플랫폼으로, 다양한 데이터 소스를 기반으로 대시보드를 만들고 데이터를 직관적으로 시각화할 수 있게 해 줍니다. 특히 Prometheus와 조합해 사용하는 것이 DevOps 및 SRE 환경에서 가장 널리 쓰이는 모니터링 스택입니다. 주요 기능대시보드 생성그래프, 파트, 게이지, 테이블 등 다양한 시각화 컴포넌트를 제공사용자는 원하는 방식으로 데이터를 시각화하여 대시보드를 만들 수 있음모니터링 화면을 자유도 높게 구성 가능다양한 데이터 소스 지원Grafana는 단일 데이터베이스에 의존하지 않는다.아래와 같은 수십 개의 데이터 소스를 플러그인 형태로 지원함:PrometheusInfluxDBDraphiteElasticsearchMySQL / PostgreS..
Prometheus는 오픈 소스 시스템 모니터링 및 경고(Alert) 도구로, Cloud Native 환경에서 널리 사용된다.원래 SoundCloud에서 개발되었으며 현재는 CLoud Native Computing Foundation (CNCF)에서 관리, 호스팅 하고 있다. Prometheus는 시계열 데이터베이스 (Time Series Datavase, TSDB) 를 기반으로 메트릭 데이터를 수집하고 저장하며 쿼리 및 시각화를 통해 시스템 상태를 모니터링하고 경고를 설정할 수 있다. 주요 구성 요소prometheus 서버메트릭 데이터를 수집하고 저장하는 핵심 컴포넌트각 타깃(target)으로부터 데이터를 주기적으로 스크랩(scrape) 하여 시계열 데이터베이스에 저장TSDB는 시간에 따라 변화하는 데..
Spring Boot Actuator란?Spring Boot Actuator는 SPring boot 애플리케이션의 상태와 성능을 모니터링하고 관리할 수 있도록 다양한 엔트포인트를 제공하는 기능이다.운영 환경에서 애플리케이션의 상태를 확인하고 성능을 점검하는 데 매우 유용하며, 헬스 체크(health check), 메트릭스(metrics), 환경 정보(env), 로그(loggers)등 애플리케이션의 핵심 정보를 손쉽게 조회할 수 있다. Actuator는 개발/운영 단계에서 모두 활용할 수 있으며, 특히 Kubernetes, AWS, Docker, Cloud환경의 헬스 체크 및 모니터링 시스템에서 필수적으로 사용된다.의존성 추가implementation 'org.springframework.boot:spri..
모니터링이란?모니터링은 시스템의 성능, 안정성, 가용성을 실시간으로 관찰하고 측정하는 과정이다.전용 모니터링 도구를 활용하면시스템 상태를 지속적으로 추적하고잠재적인 문제를 감지하며성능을 최적화하고장애 발생 시 빠르게 대응할 수 있다.즉, 모니터링은 운영 안정성을 지키는 핵심 활동이다. 모니터링의 중요성문제 예방: 모니터링을 통해 이상 징후를 초기에 발견하고, 장애로 이어지기 전 선제적으로 대응할 수 있다.빠른 대응: 문제가 발생했을 때 원인을 빠르게 식별하여 다운타임을 최소화할 수 있다.성능 최적화: CPU, 메모리, DB 쿼리 등 병목 지점을 찾아 최적화하는 데 도움이 된다.사용자 경험 향상: 안정적이고 빠른 서비스를 제공해 사용자 만족도를 높일 수 있다.비즈니스 연속성 확보: 시스템 가용성을 보장함으..