Syn Cookie: 두 판 사이의 차이
IT위키
(새 문서: ;Syn Flooding 공격을 방지하기 위한 방어 기술 == Syn Flooding == * SYN 패킷을 다량으로 보내고 연결을 완료하지 않음으로써 Backlog Queue를 가득...) |
(→설정법) |
||
(다른 사용자 한 명의 중간 판 2개는 보이지 않습니다) | |||
10번째 줄: | 10번째 줄: | ||
* 연결 수립에 필요한 정보들을 Cookie를 통해 보냄으로써 SYN Backlog Queue를 사용하지 않는다. | * 연결 수립에 필요한 정보들을 Cookie를 통해 보냄으로써 SYN Backlog Queue를 사용하지 않는다. | ||
* 고의적으로 연결을 완료하지 않아 Syn Backlog Queue를 가득 채우는 공격을 방지할 수 있다. | * 고의적으로 연결을 완료하지 않아 Syn Backlog Queue를 가득 채우는 공격을 방지할 수 있다. | ||
== 설정법 == | |||
리눅스에선 아래와 같은 명령으로 설정 가능하다. | |||
<pre class='shell'> | |||
# sysctl -w net.ipv4.tcp_syncookies=1 | |||
</pre> | |||
== 한계점 == | == 한계점 == | ||
* 큐 없이 연결 과정에 있음을 확인할 수 있는 부가 정보들을 쿠키에 담아 보내야 하므로 그에 대한 작업 부담이 있다. | * 큐 없이 연결 과정에 있음을 확인할 수 있는 부가 정보들을 쿠키에 담아 보내야 하므로 그에 대한 작업 부담이 있다. | ||
* 연결 요청이 많을 경우 쿠키 값을 만들어 보내고, 쿠키 값을 검증하는 과정만으로 가용성이 많이 떨어질 수 있다. | * 연결 요청이 많을 경우 쿠키 값을 만들어 보내고, 쿠키 값을 검증하는 과정만으로 가용성이 많이 떨어질 수 있다. | ||
[[분류:보안]] | |||
[[분류:정보보안기사]] |
2019년 11월 8일 (금) 09:10 기준 최신판
- 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
한계점[편집 | 원본 편집]
- 큐 없이 연결 과정에 있음을 확인할 수 있는 부가 정보들을 쿠키에 담아 보내야 하므로 그에 대한 작업 부담이 있다.
- 연결 요청이 많을 경우 쿠키 값을 만들어 보내고, 쿠키 값을 검증하는 과정만으로 가용성이 많이 떨어질 수 있다.