'tcp_syncookies'에 해당되는 글 1건

  1. 2013.02.28 DOS SYS_FLOODING 공격 방어

반응형

 

DOS 방어를 위한 kernel 파라미터 변경 처리

## DOS(Denial Of Service) Attack 서비스 거부 공격
## SYN Attack 이라고 TCP 상에서 SYN_RECV 형태의 상태로 계속 접속하여 서버를 느리게 한다.


## 백로그큐 사이즈를 늘려준다.
## 기존 1024으로 되어 있는 부분을 8192로 변경
## syn_flooding 공격을 막기위한 것으로 백로그큐 사이즈를 늘림.

sysctl -w net.ipv4.tcp_max_syn_backlog=8192

echo "8192" > /proc/sys/net/ipv4/tcp_max_syn_backlog

echo "net.ipv4.tcp_max_syn_backlog=8192" >> /etc/sysctl.conf

 

## syncookies(신쿠키) 기능활성화
## 기존 0(비활성화) 으로 되어 있는 부분을 1(활성화) 로 변경
## TCP헤더의 특정한 부분을 뽑아내어 암호화 알고리즘을 이용하는 방식으로 Three-way Handshake가 성공적으로 이루어지지 않으며
## 더이상 소스 경로를 거슬러 올라가지 않게 함으로써 적절한 연결 요청에 대해서만 연결을 맺기 위해 리소스를 소비하게 된다.

sysctl -w net.ipv4.tcp_syncookies=1

echo "1" > /proc/sys/net/ipv4/tcp_syncookies

echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf

 

## FIN_TIMEOUT 대기 시간을 줄여준다.
## 기존 60으로 되어 있는 부분을 30으로 변경

sysctl -w net.ipv4.tcp_fin_timeout=30

echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout

echo "net.ipv4.tcp_fin_timeout=30" >> /etc/sysctl.conf

 

## 문제가 있는 상태에서의 TCP연결 재시도 횟수를 줄여준다.
## 기존 3으로 되어 있는 부분을 2로 변경

sysctl -w net.ipv4.tcp_retries1=2

echo "2" > /proc/sys/net/ipv4/tcp_retries1

echo "net.ipv4.tcp_retries1=2" >> /etc/sysctl.conf

 

 

 

반응형
Posted by 공간사랑
,