IT용어위키



Syn Cookie

Syn Flooding 공격을 방지하기 위한 방어 기술

Syn Flooding

  • SYN 패킷을 다량으로 보내고 연결을 완료하지 않음으로써 Backlog Queue를 가득차게 만들어 정상적인 연결을 못하게 만든다.
  • 자세한 내용은 Syn Flooding 문서 참조

Syn Cookie

  • 클라이언트에서 연결요청이 있을 경우 SYN/ACK 패킷에 특별한 쿠키값을 담아 보낸다.
  • ACK이 올 경우 쿠키값을 검증하여 제대로 된 값인 경우 연결을 형성한다.
  • 연결 수립에 필요한 정보들을 Cookie를 통해 보냄으로써 SYN Backlog Queue를 사용하지 않는다.
  • 고의적으로 연결을 완료하지 않아 Syn Backlog Queue를 가득 채우는 공격을 방지할 수 있다.

설정법

리눅스에선 아래와 같은 명령으로 설정 가능하다.

# sysctl -w net.ipv4.tcp_syncookies=1

한계점

  • 큐 없이 연결 과정에 있음을 확인할 수 있는 부가 정보들을 쿠키에 담아 보내야 하므로 그에 대한 작업 부담이 있다.
  • 연결 요청이 많을 경우 쿠키 값을 만들어 보내고, 쿠키 값을 검증하는 과정만으로 가용성이 많이 떨어질 수 있다.

  출처: 공대위키(공대위키에서 최신 문서 보기)
  * 본 페이지는 공대위키에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 공대위키에서 확인하세요!