Linux ETC

SYN_Flooding 공격 막기

2015.09.25 14:48

호스트웨이 조회 수:6552

SYN_Flooding 공격은 TCP 세션 연결 시 존재하는 취약성을 이용한 공격이며, DDoS 공격의 일종입니다.


일반적으로 TCP 세션은 보내는 서버와 받는 서버간의 몇 단계 확인 작업이 거쳐 패킷을 전송합니다.

SYN 과 ACK 패킷을 이용하여 송수신 준비를 합니다.


#cat /proc/sys/net/ipv4/tcp_syncookies

0

#cat /proc/sys/net/ipv4/tcp_max_syn_backlog

1024


SYN 패킷을 받은 서버는 SYN 과 ACK 패킷을 보내고, 소스서버에서 ACK 패킷을 보내기를 기다립니다.

이때, 백로그큐가 허용하는 공간에 연결 정보를 보관합니다.

이런 상태가 계속 쌓이면 목적지 서버의 서비스에 영향을 미치게 됩니다.


해당 공격을 차단하기 위해 두 가지 설정이 필요합니다.

1. 백로그큐 사이즈를 늘려준다.

2. tcp_syncookies 값을 "1" 로 설정한다.


정상적인 ACK 패킷이 도달하지 않으면 TCP 세션 연결을 위한 리소스 낭비를 하지 않게 됩니다.