메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
77 AIDE를 이용한 리눅스 파일 시스템의 무결성 점검 2014.03.26 8555
76 qmail 587 포트 추가 2014.03.26 7388
75 sendmail 587 포트 사용 2014.03.26 7731
74 Proftp 설치 2014.03.26 7022
73 Apache 웹서버 server-status 모니터링 file 2014.03.26 6954
72 chkrootkit 0.49 설치 및 사용법 그리고 변조파일 정상 복원 2014.03.26 8869
71 ZendOptimizer 3.3.9 설치하기 2014.03.26 7052
70 웹호스팅용 리눅스 서버 셋팅 file 2014.03.26 7940
69 시스템 이상시 복구 모드 사용법..(rescue mode) Linux 2014.03.26 7260
68 mail 명령어 사용법 2014.03.26 7110
67 ncftp 설치및 스크립트 백업 방법 file 2014.02.27 7931
66 rsync 와 ssh 를 이용한 네트워크 백업하기 2014.02.27 7747
65 ssh에서 sftp 사용 막기 2014.02.27 7494
64 Apache(아파치)를 사용해 redirect(리다이렉트) 하는 방법 7 2014.02.27 7667
63 yum (Yellowdog Updater Modified) 명령어 정리 2014.02.27 7625
62 Apache 웹서버 server-status 모니터링 2014.02.27 8074
61 웹호스팅용 리눅스 서버 셋팅 file 2014.02.27 7735
60 리눅스 해킹사고 분석 및 대응절차 2014.02.27 8506
59 LILO, GRUB root 패스워드 리셋 2014.02.27 7895
58 OpenSSH chroot 설정 file 2014.02.27 8742
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 Next
/ 12

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved