은 만병 통치약이 없다,하지만 당신은 할 수 있습니다 : (당신의 의지를 제한하거나) 인증되지 않은 클라이언트를 대신 비싼 작업을하지 마십시오
- 을
- 스로틀 인증 시도
- 인증 된 각 클라이언트를 대신하여 스로틀 작업이 수행되고 너무 짧은 시간 내에 너무 많은 일이 발생하면 계정을 임시 잠금으로 설정합니다.
- 모든 unauthentica ted 클라이언트를 검색하고 진행중인 공격을 감지 한 경우이 설정을 낮추십시오.
- 공격 중에 공격을 사용하여 모든 인증되지 않은 액세스를 비활성화 할 수있는 플래그가 있습니다.
- 인증되지 않은 클라이언트 대신 물건을 저장하지 마십시오. 각 인증 된 클라이언트의 저장소를 제한하는 할당량
- 일반적으로 가능한 한 빨리 비정상적으로 복잡하거나 부작위 또는 엄청나게 큰 요청을 모두 거부하고 공격 탐지에 도움이되도록 기록합니다.
- 사용하지 마십시오. 인증되지 않은 클라이언트의 요청이 캐시 캐싱 공격의 대상이 될 수 있기 때문에 순수 LRU 캐시 인 경우 (악의적 인 클라이언트가 다른이 자주 당신이 당신의 캐시에서 모든 유용한 일을 퇴거 및
이 기억) 합법적 인 고객 서비스를 제공하기 위해 더 많은 일을 할 필요가 원인이 물건을 사용, 그것은, 예를 들면 (스로틀 요청을 철저하게 거부하는 것이 중요합니다 HTTP 503: Service Unavailable) 또는 조절 된 응답 (비슷한 응답을 사용하는 프로토콜에 해당). 대기열에 대기열을 지정하면 대기열에서 모든 메모리를 다 소모하게되고 DoS 공격은 조절을하지 않은 경우보다 효과적입니다. 는 HTTP 서버에 대한
좀 더 구체적인 조언 :
- 하는 웹 서버가 첨부
Content-Length
헤더없이 POST
메시지를 거부하도록 구성되어 있는지 확인하고 요청을 거부하기 위해 (그리고 잘못된 클라이언트 스로틀)을 초과 Content-Length
언급하고 할 보안 문제입니다 그냥 때문에 POST
(또는 PUT
)는
를 대상으로 서비스에 대한 긴 부당있는
Content-Length
와 요청을 거부하기 그것은 ServerFault에 속하지 않는다는 것을 의미하지는 않습니다. 프로그래밍은 그러한 보안 문제의 작은 부분 만 처리합니다. – ProfK물론 DoS로부터 보호 할 수 있습니다. 방화벽을 사용하고 IP 주소 당 연결 수를 제한하십시오. DDoS 공격으로부터 보호하는 것이 훨씬 어렵습니다. –