메뉴 건너뛰기

조회 수 9555 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
방화벽에서 비정상 접속 패킷 차단. iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
# 룰 적용 후 iptables-save 명령어로 config 를 확인하여,
/etc/sysconfig/iptables 파일을 수정한다.

# 커널파라메터 수정
/etc/rc.local 에 등록하거나,
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_window_scaling=0
sysctl -w net.ipv4.tcp_sack=0
sysctl -w net.ipv4.tcp_max_syn_backlog=1024

/etc/sysctl.conf 설정 수정.
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_max_syn_backlog = 1024
sysctl -p 명령어로 적용.
확인방법
sysctl -a | grep net.ipv4.tcp_max_syn_backlog

# ddos 서버 IP 확인.
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n


Check whether it shows lot of SYN_WAIT / TIME_WAIT / FIN_WAIT. If yes its due to the high number of connections. You can reduce these by adding some rules to the Iptables.
# iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
# iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
# iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP

# service iptables save
# service iptables restart

Adding rules to sysctl.conf
Also you can reduce these by adding some rules to sysctl.conf, the details given below.
# echo 1 > /proc/sys/net/ipv4/tcp_syncookies
Put following in /etc/sysctl.conf
# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1
# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 30
# Turn off the tcp_window_scaling
net.ipv4.tcp_window_scaling = 0
# Turn off the tcp_sack
net.ipv4.tcp_sack = 0


Then execute the command :-
# /sbin/sysctl -p

A quick and usefull command for checking if a server is under ddos is:
# netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Reference : http://linuxhow2.net/?p=9

# Set default policies
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -F
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F -t mangle
/sbin/iptables -X
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -d 127.0.0.0/8 -j REJECT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -m state --state INVALID -j DROP
### chains to DROP too many SYN-s ######
/sbin/iptables -N syn-flood
/sbin/iptables -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN
/sbin/iptables -A syn-flood -j LOG --log-prefix "SYN flood: "
/sbin/iptables -A syn-flood -j DROP
Reference : http://www.webhostingtalk.com/archive/index.php/t-355411.html

List of Articles
번호 제목 날짜 조회 수
177 리눅스 보안 Tip 2014.02.27 8785
176 리눅스 보안 - 시작 프로그램 수동 등록 및 서버 표준시간 설정 2014.04.23 7817
175 리눅스 방화벽 iptables 설정 2014.04.23 8220
174 리눅스 문자열 치환하기 2014.02.27 7810
173 리눅스 마운트 (mount)를 해보자 file 2015.06.09 8529
172 리눅스 기본보안설정(9) file 2014.05.15 7514
171 리눅스 기본보안설정(13) file 2014.05.15 7297
170 리눅스 기본보안설정(12) file 2014.05.15 7900
169 리눅스 기본보안설정(11) file 2014.05.15 8346
168 리눅스 기본보안설정(10) file 2014.05.15 7742
167 리눅스 기본보안설정(1-8) 2014.05.15 7636
166 리눅스 계정 파일 위치 file 2015.07.01 8117
165 리눅스 yum 명령어 2016.09.11 7993
164 리눅스 vsftpd 500 OOPS 에러 (CENTOS 7) file 2020.03.04 298
163 리눅스 SSH 로그인 점검 2016.07.26 9147
162 리눅스 NFS (네트워크 파일 시스템 ) 설치하기 2014.02.27 7110
161 리눅스 Iptables 보안정책 2014.04.23 7776
160 리눅스 - 동시접속자 확인 방법 2014.02.27 7699
159 도메인에 자동으로 www 붙도록 설정하기 2014.02.27 7581
158 도메인 포워딩 설정 2014.02.27 7970
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved