티스토리 뷰

Syn Flooding 공격 시 발생하는 로그 이다.

Syn Flooding 공격이란?

Dos공격으로 SYN트래픽을 발생시켜 서버 가용량 리소스를 소모하는 공격이다.

tcp 통신은 3 way handshacke로 통신을 한다.


1. 클라이언트가 서버에게 접속을 요청하는 SYN 패킷을 보내고
2. 서버는 클라이언트에게 응답을 받았다는 요청과 함께 SYN,ACK를 보낸다
3. 클라이언트는 서버에세 ACK를 보내고 세션이 연결이된다

SYN Fooding 공격은 2번 상태에서 공격이 진행 되며, 클라이언트는 서버에게 ACK를 보내지 않게되고 서버는 클라이언트의 응답을 기다리는 Half Open상태가 된다.
일정 시간동안 요청이 오지 않을 경우 연결을 초기화를 하고 초기화 되기전 까지는 메모리 공간인 백로그 큐에 계속 쌓이게된다.

서버는 ACK 패킷을 기다리는 SYN_RECVIED 상태로 된다.
SYN패킷이 백로그큐에 저장되다가 결국 꽉 차게되어 연결을 거부하는 상태가 된다.


Syn Flooding 공격 확인

netstat -anp | grep -i syn_recv 

tcp 0 0 61.250.171.252:28004 94.9.83.63:3072 SYN_RECV
tcp 0 0 61.250.171.252:28004 3.7.244.2:3072 SYN_RECV
tcp 0 0 61.250.171.252:28004 48.32.206.32:3072 SYN_RECV

dmesg

possible SYN flooding on port 80. Sending cookies.

Syn Flooding 공격 방어

cat /proc/sys/net/ipv4/tcp_max_syn_backlog (백로그큐 사이즈 UP)
1024 
- 1024 이상으로 설정
cat /proc/sys/net/ipv4/tcp_syncookies  (syncookies 값 변경)
0 -> 1 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함