SYN 쿠키 란 무엇입니까?
SYN 쿠키는 서버 관리자가 SYN 플러딩이라고하는 방법을 통해 서버에 대한 서비스 거부 (DoS) 공격을 방지 할 수있는 방법입니다. 이 유형의 공격은 3 방향 핸드 셰이크라고하는 클라이언트와 호스트 사이의 연결이 설정되어 호스트에 과도한 클라이언트 요청 수, 시스템 정지 또는 충돌을 유발하는 프로세스를 활용합니다. 그러나 이러한 공격은이를 피하는 SYN 쿠키 사용과 같은 방법을 통해 대부분 구식이되었습니다. 이 쿠키는 호스트 나 클라이언트에 보안 위협이나 위험을 초래하지 않으며 연결 문제 나 문제를 일으키지 않습니다.
SYN 쿠키가 작동하는 방식은 많은 서버와 사용자 또는 호스트 및 클라이언트 시스템이 서로 연결하는 기본 방식으로 구축됩니다. 이 프로세스를 3 방향 핸드 셰이크라고하며 클라이언트 시스템이 호스트 시스템에 대한 연결 요청을 보낼 때 시작됩니다. 요청을 동기화 메시지 또는 SYN이라고하며 호스트 시스템에서 수신합니다. 그런 다음이 호스트 시스템은 확인 응답 또는 SYN-ACK 메시지를 클라이언트에 다시 전송하여 SYN이 수신되었음을 확인합니다.
클라이언트 시스템이이 SYN-ACK 메시지를 수신하면 최종 ACK 메시지가 클라이언트에 의해 호스트로 다시 전송됩니다. 호스트 시스템이이 최종 ACK를 수신하면 클라이언트가 시스템에 액세스 한 다음 다른 클라이언트로부터 추가 SYN 요청을 수신 할 수 있습니다. 대부분의 호스트 서버에는 SYN 요청을위한 상당히 작은 대기열이 있으며 대개 한 번에 8 개만 있습니다.
SYN 플러딩으로 알려진 DoS 공격의 형태는이를 사용하여 호스트 시스템을 압도합니다. 이는 SYN-ACK가 호스트에 의해 전송되는 SYN 메시지를 전송함으로써 이루어 지지만, 최종 ACK 메시지는 클라이언트에 의해 전송되지 않으며, 큐의 위치는 열린 상태로 유지됩니다. SYN 플러드 공격 중에이 작업이 올바르게 수행되면 응답하지 않은 요청이 전체 대기열을 차지하고 합법적 인 클라이언트의 새 요청을 수락 할 수 없습니다.
SYN 쿠키는 호스트가 마치 실제 대기열보다 큰 대기열을 가지고있는 것처럼 행동하도록하여 이러한 유형의 공격을 피할 수 있도록 도와줍니다. SYN 플러드 공격의 경우 호스트는 SYN 쿠키를 사용하여 SYN-ACK를 클라이언트에 보낼 수 있지만 해당 클라이언트의 SYN 항목은 제거합니다. 이것은 기본적으로 SYN이 수신되지 않은 것처럼 호스트가 기능하도록합니다.
그러나, SYN 쿠키를 갖는이 SYN-ACK가 클라이언트에 의해 수신되면, 호스트로 다시 전송되는 대응하는 ACK는 원래의 SYN-ACK에 관한 데이터를 포함한다. 그러면 호스트는이 ACK와 포함 된 SYN 쿠키를 사용하여 원래 SYN-ACK와 해당 원래 요청에 대한 적절한 항목을 재구성 할 수 있습니다. 이 작업이 완료되면 클라이언트는 호스트에 연결할 수 있지만 전체 프로세스는 SYN 서비스 장애 공격에 의해 점유 될 수있는 대기열을 효과적으로 우회했습니다.