본문 바로가기

Layer7/WriteUp

SYN Flood 정리

3 Way Handshake

클라이언트는 SYN패킷( sequence number 포함 )을 생성해서 서버에 전달한다.

② 서버는 SYN 패킷( sequence number 포함 )과 받은 ACK 패킷( SYN의 대답 / acknowledgement number 포함 )을 클라이언트에게 전달한다.. 그리고 서버는 클라이언트의 접속을 받아들이기 위해, 램( RAM )에 일정 공간을 확보 해 둔다.

③ 클라이언트는 방금 받은 ACK 패킷( SYN의 대답 / acknowledgement number 포함 )을 서버에 전달합니다. 여기서도 마찬가지로 acknowledgement number의 값은 방금 받은 SYN 패킷의 sequence number 값에 일정 값을 증가시켜서 보낸다.

SYN Flooding

3 Way Handshake 2번 과정에서, 클라이언트가 SYN 패킷만을 계속적으로 보내고 ACK 패킷을 안 보내게 되면, 서버는 클라이언트의 연결을 받아들이기 위해 램( RAM ) 공간을 점점 더 많이 확보해둔 상태에서 대기한다.

 

그리고 서버의 램( RAM )이 꽉 차게 되면 더이상 연결을 받아들일 수 없게되고, 서버는 서비스를 서비스를 계속할 수가 없게 된다.

 

SYN Flooding 대응방안

1. Syncookie 기능을 활성화

2. 특정 IP 주소에서 오는 SYN 패킷의 수를 제한

'Layer7 > WriteUp' 카테고리의 다른 글

File Descriptor 개념 정리  (0) 2024.08.29
시스템해킹 환경구축  (0) 2024.08.13
ARP 정리  (0) 2024.07.26
DNS 정리  (0) 2024.07.26
나만의 vm C언어로 구현하기  (0) 2024.07.16