docs: API Key 보안 강화 작업 내역 업데이트
This commit is contained in:
@@ -1,5 +1,74 @@
|
||||
# SAM API 저장소 작업 현황
|
||||
|
||||
## 2025-11-13 (수) 19:30 - API Key 보안 강화 및 Rate Limiting 구현
|
||||
|
||||
### 주요 작업
|
||||
- 글로벌 미들웨어로 API Key 검증 적용
|
||||
- 화이트리스트 확장 (Swagger, Health check 등 공개 엔드포인트)
|
||||
- Rate Limiting 미들웨어 추가 (10회/분, IP 기반)
|
||||
- 보안 로그 강화 (무단 접근 시도 기록)
|
||||
- 민감 정보 로깅 제외 (password 필드)
|
||||
- code-workflow 스킬 사용한 체계적 보안 강화
|
||||
|
||||
### 수정된 파일
|
||||
|
||||
1. **app/Http/Middleware/ApiKeyMiddleware.php**
|
||||
- 화이트리스트 라우트 패턴 매칭 추가 (와일드카드 지원)
|
||||
- 공개 라우트 API Key 검증 스킵
|
||||
- 보안 로그 강화 (Log::warning으로 무단 접근 기록)
|
||||
- 민감 정보 제외 ($request->except(['password', 'password_confirmation']))
|
||||
|
||||
2. **app/Http/Middleware/ApiRateLimiter.php** (신규)
|
||||
- IP 기반 Rate Limiting (10회/분)
|
||||
- API Key 없는 요청에 대한 속도 제한
|
||||
- 429 Too Many Requests 응답
|
||||
- retry_after 헤더 포함
|
||||
|
||||
3. **bootstrap/app.php**
|
||||
- 글로벌 미들웨어 적용 (ApiRateLimiter, ApiKeyMiddleware)
|
||||
- 미들웨어 실행 순서 최적화 (Rate Limit → API Key 검증)
|
||||
|
||||
4. **app/Services/MemberService.php**
|
||||
- 부서 역할 기반 권한 조회 로직 개선
|
||||
|
||||
### 작업 내용
|
||||
|
||||
#### 1. 보안 문제 분석
|
||||
**문제:** `@fs/etc/passwd` 같은 악의적 경로 탐색 공격이 Laravel 라우터까지 도달
|
||||
**IP:** 213.136.76.215 (자동화된 보안 스캔봇)
|
||||
**영향:** 불필요한 서버 리소스 낭비, 로그 오염
|
||||
|
||||
#### 2. 이중 보호 구조 구현
|
||||
```
|
||||
Nginx (L7) → 악의적 패턴 즉시 403 차단
|
||||
↓
|
||||
Laravel 글로벌 미들웨어 (Rate Limiting)
|
||||
↓
|
||||
Laravel 글로벌 미들웨어 (API Key 검증)
|
||||
↓
|
||||
컨트롤러
|
||||
```
|
||||
|
||||
#### 3. 화이트리스트 라우트
|
||||
- api/v1/login, signup, register, refresh, debug-apikey
|
||||
- api-docs/* (Swagger UI)
|
||||
- docs/api-docs.json (Swagger JSON)
|
||||
- up (Health check)
|
||||
|
||||
### Git 커밋
|
||||
```bash
|
||||
# API 저장소 (6f7d754)
|
||||
git commit -m "feat: API Key 보안 강화 및 Rate Limiting 구현
|
||||
|
||||
- 글로벌 미들웨어로 API Key 검증 적용
|
||||
- 화이트리스트 확장 (Swagger, Health check 등)
|
||||
- Rate Limiting 미들웨어 추가 (10회/분)
|
||||
- 보안 로그 강화 (무단 접근 시도 기록)
|
||||
- 민감 정보 로깅 제외 (password 필드)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2025-11-10 (일) 21:30 - 파일 업로드 DB 에러 및 메시지 구조 개선
|
||||
|
||||
### 주요 작업
|
||||
|
||||
Reference in New Issue
Block a user