DDOS를 방어하는 방법은 무엇입니까?
범주: 컴퓨터/네트워크>> 인터넷
문제 설명:
내 컴퓨터실이 자주 다운되거나 오프라인 상태가 됩니다. 그에게 상세한 공격 정보와 이에 대한 방어 방법을 물어본다.
분석 :
DDOS 공격 세부 분석
⒈TCP 작동 원리
TCP의 작동 원리와 관련하여 가장 유명한 것은 TCP의 3방향 핸드셰이크입니다. 그림과 같이 클라이언트 A는 SYN으로 식별되는 연결 요청 데이터 메시지를 보내고 초기 값 Seq=X를 설정합니다. 서버 B가 연결에 동의하면 Ack=X+1로 확인된 해당 데이터 메시지를 반환합니다. 동시에 역방향 연결 요청 Y를 보냅니다. A는 역방향 연결에 동의하고 확인 Ack=y+1을 반환합니다.
SYN 보내기, Seq=X
SYN 보내기, Seq=Y
ACK, Ack=X+1
ACK 보내기, Ack=Y+1
연결 성공!
⒉SYN_FLOOD 및 ACK_FLOOD 공격
DDoS는 Distributed Denial of Service 공격의 약어입니다.
간단히 말하면, 서비스 거부는 대상의 처리 능력 x를 초과하는 대용량 데이터 패킷을 사용하여 가용 시스템 및 대역폭 자원을 소모하여 대상 네트워크 서비스를 마비시키는 공격 방법입니다. 분산 서비스 거부 공격은 공격의 소스 주소가 단일 또는 일반이 아닌 분산되어 있음을 의미합니다.
SYN 보내기
SYN 보내기
상대방의 SYN에 대한 ACK 보내기
ACK 패킷을 보내지 않고 A 확인
그리고 계속해서 SYN을 보냅니다.
계속해서 루프를 돌립니다.
공격은 성공합니다!
간략한 분석: 호스트 A는 짧은 시간 내에 대량의 SYN 요청 연결 패킷을 보냅니다. 서버 B는 새로운 연결을 준비하기 위해 많은 양의 공간을 차례로 열어 주지만 A는 그렇지 않습니다. 서버 B와 세 번째 연결 패킷을 보내지 않습니다. 핸드셰이크에 대한 확인 패킷입니다. 결과적으로 B의 공간은 해제될 수 없고, 결국 B는 공간 부족으로 인해 다른 합법적인 호스트로부터의 정상적인 연결에 응답할 수 없게 되어 "서비스 거부"가 발생하게 됩니다.
이 과정에서 A는 B에게 보낸 SYN 요청 연결 패킷의 소스 주소를 지속적으로 변경해 공격 추적을 어렵게 할 수도 있고, A는 그 외 다수의 '고기 기계'를 제어할 수도 있다. D.C 공격의 강도와 효과를 높이기 위해 동시에 공격을 시작합니다.
⒊CC 공격
대부분의 WEB 서버와 게임 서버에서 CC 공격은 아마도 가장 위험할 것입니다. 그의 구체적인 작업 과정은 다음과 같습니다.
동시에 C에 페이지 요청 보내기
페이지 요청 보내기
공격이 성공했습니다!
간략한 분석: CC 공격에서는 A가 많은 수의 프록시 서버를 확보하는 것이 어렵지 않습니다. 페이지 요청을 보낸 후 동시에 C에게 페이지를 요청하는 프록시 서버가 많이 있을 것입니다. 요청된 페이지 오버헤드로 인해 크기가 클 경우 C의 트래픽 과부하 및 리소스 고갈이 쉽게 발생하여 결국 "서비스 거부"로 이어질 수 있습니다. 이번 공격에서는 프록시 서버가 사실상 합법이고, 많은 서버들이 이와 관련된 서비스를 요구하기 때문에 이로 인한 '괴롭힘'을 차단하기 어렵고, 이 때문에 이번 공격 역시 예방하기 어렵다.
⒋UDP, ICMP 및 DRDOS 공격 및 그 변종
고기 기계를 제어하여 요청을 보내거나 연결
공격 성공했습니다! /p >
간략한 분석: PING이 누구누구를 죽인다는 말을 누군가가 말하는 것을 여러 번 듣게 될 것입니다. 실제로 ICMP의 작동 원리를 사용합니다.
그는 다음과 같은 기능을 가지고 있습니다:
0 응답 응답(ECHO-REPLY)
3 접근 불가능
4 소스 억제
5 리디렉션
8 응답 요청(ECHO-REQUEST)
11 시간 초과
12 매개변수 실패
13 타임스탬프 요청
14 타임스탬프 응답
15 정보 요청(*구식)
16 정보 응답(*구식)
17 주소 마스크 요청
p>18 주소 마스크 응답
왼쪽의 숫자는 ICMP 유형 값을 나타내며 유형에 대한 간략한 이해가 있습니다. PING 누군가가 실제로 응답 요청 메시지를 보내지 않는 8번 서버입니다. 응답 번호 0을 닫으면 응답 메시지 번호 0이 반환됩니다. 이런 방식으로 대역폭이나 리소스 처리 능력이 B+D+...>C이면 C는 다른 호스트의 정상적인 요청에 응답할 수 없으며 "서비스를 거부"하게 됩니다. 이것이 가장 일반적인 ICMP_FLOOD입니다.
"리소스보다 더 많은 대역폭"이라는 관점에서 UDP_FLOOD 및 DRDOS_FLOOD는 ICMP_FLOOD의 변형입니다. 차이점은 UDP가 포트의 응답 응답을 사용한다는 것입니다.
그러나 더 흥미로운 것은 DRDOS_FLOOD 공격입니다. 무엇보다도 고기 기계를 제어하여 C를 공격하기 때문에 DRDOS_FLOOD는 많은 기계(고기 기계가 아닐 수도 있음)를 "속임수"하여 C를 공격합니다. 그것은 마치 "거짓말쟁이" A가 모든 사람에게 C가 매우 부자라고 말한 다음 모두가 C의 집으로 가서 그를 "강탈"하고 공격하는 것과 같았습니다. 이것은 매우 신비해 보이지만 실제로는 매우 간단합니다. A는 많은 수의 데이터 패킷(예: SYN 요청 패킷)을 많은 컴퓨터 B, D,...로 보내고 소스 주소를 C로 위조합니다. D와 다른 기계들은 패킷을 받았는데, 그것이 C로부터 온 메시지라고 잘못 생각하고 모두 일제히 C에 응답했습니다. 이런 식으로 "서비스 거부" 효과를 쉽게 얻을 수 있습니다! A가 다양한 고기 기계나 기계에 서로 다른 메시지를 보내기 때문에 생성되는 공격 방법도 다를 수 있지만 최종 효과는 "서비스 거부"이므로 DDOS 공격의 변형은 많습니다. 여기서는 하나씩 소개하지 않겠습니다.
자세한 내용을 보려면 sharesec 또는 QQ**********를 클릭하세요.