피드로 돌아가기
Node.js BlogSecurity
원문 읽기
Node.js 10.15.2가 HTTP keep-alive 연결에 headersTimeout을 일관되게 적용하여 Slowloris 공격 방지
Node.js 10.15.2 (LTS)
AI 요약
Context
Slowloris 공격은 HTTP keep-alive 연결을 유지한 채 의도적으로 천천히 요청을 전송하여 서버 리소스를 고갈시키는 Denial of Service 공격이다. Node.js의 기존 구현에서는 keep-alive 모드의 연결에 headersTimeout이 일관되게 적용되지 않아 이 취약점에 노출되어 있었다.
Technical Solution
- HTTP 및 HTTPS 연결의 keep-alive 모드에서 server.headersTimeout 설정값을 일관되게 적용하는 로직 추가
- Slowloris 공격으로부터의 방어 강화: 설정된 타임아웃 시간 내에 헤더 수신이 완료되지 않으면 연결 종료
- CVE-2019-5737 취약점 패치 적용
Impact
아티클에 정량적 수치가 제시되지 않음.
Key Takeaway
HTTP 타임아웃 설정은 모든 연결 상태(초기 요청, keep-alive 재사용)에 동일하게 적용되어야 공격자의 느린 전송 전략에 대비할 수 있다.
실천 포인트
Node.js 기반 HTTP 서버를 운영하는 팀은
1
0.
1
5.2 이상으로 즉시 업그레이드하고, server.headersTimeout 값을 명시적으로 설정(기본값 40초)하여 Slowloris 공격에 대한 기본 방어선을 구축할 수 있다.