피드로 돌아가기
Dev.toSecurity
원문 읽기
Laravel 앱의 가용성 확보를 위한 5단계 계층 방어 전략
Rate Limiting and DDoS Protection for Laravel Apps on Deploynix
AI 요약
Context
트래픽 급증과 DDoS 공격으로 인한 서버 CPU 100% 점유 발생. DB 커넥션 풀 고갈로 응답 시간이 30초까지 지연되는 성능 저하 현상 노출. 단순 마케팅 효과와 악의적 공격을 구분하기 어려운 인프라 구조의 한계.
Technical Solution
- Laravel RateLimiter를 통한 애플리케이션 레벨의 세밀한 제어 및 사용자 플랜별 차등 제한 로직 적용
- Nginx limit_req_zone 설정을 통해 PHP 프로세스 진입 전 고부하 요청을 사전 차단하는 고성능 필터링 계층 구축
- Cloudflare 프록시 및 Under Attack Mode를 활용한 엣지 단의 Volumetric DDoS 공격 완화
- Deploynix 방화벽 규칙 설정을 통한 비웹 포트 차단 및 Cloudflare IP 대역 외의 HTTP/HTTPS 트래픽 제한
- CPU, 메모리, 디스크, Load Average를 실시간 감시하는 Deploynix 알림 시스템 기반의 리소스 임계치 모니터링
Impact
- 인증 경로 제한: 분당 5회 요청
- 일반 API 경로 제한: 사용자당 분당 60회 요청
- 파일 업로드 경로 제한: 사용자당 분당 10회 요청
- Nginx 일반 트래픽 제한: 초당 10회 요청
- Nginx 로그인 경로 제한: 초당 1회 요청
Key Takeaway
단일 솔루션이 아닌 애플리케이션, 웹 서버, 엣지, 인프라를 아우르는 다층 방어 체계를 통해 공격 비용을 높이고 서비스 생존성을 확보하는 설계 원칙.
실천 포인트
인증 및 업로드 등 리소스 소모가 큰 엔드포인트부터 엄격한 Rate Limiting을 적용하고, 인프라 레벨의 방화벽으로 신뢰할 수 있는 IP 대역만 허용할 것