Triển khai hệ thống

Một phần của tài liệu Đồ án tốt nghiệp - Tìm hiểu tấn công DDoS (Trang 78 - 81)

Tối u hóa server ở tầng TCP/IP

Bật chức năng tcp_syncookies : Bật chức năng này là cách đơn giản nhất để chống lại SYN flood.

sysctl -w net.ipv4.tcp_syncookies=1

Đặt giá trị cho backlog queue : Giá trị tcp_max_syn_backlog sẽ quyết định có bao nhiêu gói SYN đợc lu trữ. tcp_syncookies phải đợc bật giá trị này mới có hiệu lực.

Đặt lại số lần truyền lại gói SYN,ACK để reply lại gói SYN request. Mặc định là 5 lần tơng đơng với thời gian timeout của kết nối TCP là 180 giây. Đặt giá trị là 1 tơng đơng với thời gian timeout là 9 giây.

sysctl -w net.ipv4.tcp_synack_retries="1" Bật chức năng IP spoofing protaction

sysctl -w net.ipv4.conf.all.rp_filter ="1"

Không chấp nhận forward broadcast

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts="1"

Không chấp nhận source routed packet

sysctl -w net.ipv4.conf.all.accept_source_route=0 Tắt ICMP redirect

sysctl -w net.ipv4.conf.all.accept_redirects=1 Bật bad error message protection

sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1j

Một số cấu hình TCP khác :

tcp_abort_on_overflow : Có 2 giá trị 0(mặc định) và 1. Nếu có giá trị là 1 kernel sẽ reset những kết nối mới khi queue đầy.

tcp_fin_timeout : Mặc định là 60 giây.Giá trị của biến này quyết định kernel sẽ giữ những socket ở trạng thái FIN_WAIT-2 trong bao lâu nếu không nhận đợc gói ACK/FIN từ phía client

tcp_orphan_retries: Mặc định là 7.Giá trị này sẽ quyết định TCP/IP stack thử ngắt kết nối ở phía client trớc khi đóng kết nối từ server.

somaxconn: Mặc định là 128.Giá trị này giới hạn kích thớc của listen queue cho các gói new SYN.

ip_conntrack_max: số kết nối tcp lớn nhất mà hệ thống có thể quản lý.

Cài đặt module connlimit cho Iptables

Cài rpm-build

yum install rpm-build

Đặt password cho user dungna

passwd dungna

Login vào user ruby

Xác định version của kernel đang dùng

uname –a

Xác định version của Iptables đang dung

iptables –v

Download các packet và đặt ở th mục home của user

wget http://mirror.centos.org/centos/5/updates/SRPMS/kernel- 2.6.18-92.1.22.el5.src.rpm (cùng version với kernel đang dùng)

wget

http://www.netfilter.org/projects/iptables/files/iptables- 1.3.5.tar.bz2 (cùng version với Iptables đang dùng)

wget http://ftp.netfilter.org/pub/patch-o-matic- ng/snapshot/patch-o-matic-ng-20090326.tar.bz2 Xây dựng môi trờng build cho user

cd ~

mkdir -p \ rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} echo ‘%_topdir %(echo $HOME)/rpmbuild’ > .rpmmacros\ Cài kernel source

rpm -i kernel-2.6.18-92.1.22.e15.src.rpm cd ~/rpmbuild/SPECS

rpmbuild -bp –target=`uname -m` kernel-2.6.spec

Sau bớc trên kernel source sẽ đợc tạo ra tại :

~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686 Giải nén iptables và path-o-matic-ng

cd ~

tar -xvjf iptables-1.3.5.tar.bz2

tar -xvjf path-o-matic-ng-20090326.tar.bz2

Tạo và gán giá trị cho 2 biến môi trờng

export KERNEL_DIR=~/rpmbuild/BUILD/kernel-2.6.18/linux- 2.6.18.i686

export IPTABLES_DIR=~/iptables-1.3.5/ Patch modules connlimit

cd path-o-matic-ng-20090326 ./runme download

./runme connlimit

Cập nhật module vào kernel

cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686 make oldconfig make prepare make modules_prepare cd net/ipv4/netfilter make -C ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686 M=$PWD modules

sudo cp ipt_connlimit.ko /lib/modules/2.6.18- 92.1.22.e15/updates

sudo cd /lib/modules

sudo depmod 2.6.18-92.1.22.e15 Load module ipt_connlimit

sudo modprobe ipt_connlimit

-Sử dụng : Giới hạn chỉ có 5 connection từ một IP đến apache iptables -A INPUT -p tcp --syn --dport 80 -m connlimit -- connlimit-above 5 -j REJECT

Cài đặt Snort inline

Một phần của tài liệu Đồ án tốt nghiệp - Tìm hiểu tấn công DDoS (Trang 78 - 81)

Tải bản đầy đủ (DOC)

(116 trang)
w