بعد تركيب برنامج الحماية الآن نإتي الى شرح الحماية السيرفر من عمليات الفلود وهجمات الـ DDOS ATTACK :
هذا الجزء متعلق بالحماية :
1 • الحماية ضد Dos , DDos
? تقوية sysctl.conf و host.conf
كود PHP:
cd /etc/
mv sysctl.conf sysctl.conf.css
كود PHP:
pico sysctl.conf
ضع فيه التالي :
كود PHP:
#Kernel sysctl configuration file for Centos 5.x
# http://www.securecentos.com
# See sysctl(8) and sysctl.conf(5) for more details.
kernel.panic = 60
net.ipv4.ip_forward=0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.lo.log_martians = 0
net.ipv4.conf.eth0.log_martians = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
kernel.sysrq = 0
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.log_martians = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_max_tw_buckets = 1440000
net.ipv4.ip_local_port_range = 16384 65536
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
ثم نحفظ العمل
كود PHP:
sysctl -w net.ipv4.route.flush=1
ثم
كود PHP:
cd /etc
mv host.conf host.conf.css
نضع فيه التالي :
كود PHP:
# Lookup names via DNS first then fall back to /etc/hosts
order hosts,bind
# Check for IP address spoofing.
nospoof on
# multiple IP addresses
multi on
ثم
الساين كوكيز يمكن تفعيلها عن طريق الأمر :
كود PHP:
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
الي مركب البرنامج احنا راح ننزل برنامج APF + BFD مع افضل الأعدادات :
نـبداء الشرح :
اولا : تركيب برنامج الجدار الناري APF مع افضل اعدادات
نكتب الأمر التالي لتركيب البرنامج :
بعد تنزيل البرنامج نكتب الأمر التالي لضبط الأعدادات :
كود PHP:
pico /etc/apf/conf.apf
ونتإكد من القيم التالية بإنها :
كود PHP:
EGF="1"
USE_DS="1"
USE_AD= 1
بعد ذلك نسوي حفظ للعمل
بعد ذلك نذهب الى الملف التالي :
كود PHP:
pico /etc/apf/ad/conf.antidos
ونتأكد من القيم التالية :
كود PHP:
LP_KLOG="1"
CONAME="Your Company"
USR_ALERT="1"
USR="you@yourco.com"
ARIN_ALERT="1"
بعد ذلك نسوي خفظ للملف
هذه اوامر مهمة للفايرول :
تشغيل الفايرول :
كود PHP:
/usr/local/sbin/apf -s
اعادة تشغيل الفايرول :
كود PHP:
/usr/local/sbin/apf -r
ايقاف الفايرول :
كود PHP:
/usr/local/sbin/apf -f
مشاهدة حالة الفايرول :
كود PHP:
/usr/local/sbin/apf -st
للسماح للأي بي
كود PHP:
/usr/local/sbin/apf -a 124.11.11.11
لحظر أي بي شخص بالفيرول
كود PHP:
/usr/local/sbin/apf -d 124.11.11.11
بعد الانتهاء نقوم بتشغيل الفايرول اكتب الأمرين التالين :
كود PHP:
/etc/apf/ad/antidos -a
/usr/local/sbin/apf -r
ثانيا : بعد الانتهاء من تركيب الفايرول نقوم بتركيب برنامج الحماية BFD (Brute Force Detection)
لتركيب البرنامج اكتب الأمر التالي :
ولضبط اعدادات البرنامج نكتب الأمر التالي :
كود PHP:
pico -w /usr/local/bfd/conf.bfd
يجب انت تكون القيم كتالي :
كود PHP:
ALERT_USR="1"
EMAIL_USR=you@yoursite.com
مع استبدال البريد الإلكتروني
نسوي حفظ للملف
لتشغيل البرنامج نكتب الأمر التالي :
كود PHP:
/usr/local/sbin/bfd -s
معلومة هامة حول البرنامج :
للسماح بالأي بي
كود PHP:
pico -w /etc/apf/allow_hosts.rules
ونضع الأي بي داخل الملف ونسوي له حفظ
ولحظر اي بي نروح الى
كود PHP:
pico -w /usr/local/bfd/ignore.hosts
ونضع الأي بي داخل الملف ونسوي له حفظ
ثالثا : تركيب برنامج الحماية من هجمات DOS-Deflate
تنصيب البرنامج :
كود PHP:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0755 install.sh
./install.sh
بعد ذلك نقوم بضبط الأعدادات :
كود PHP:
pico /usr/local/ddos/ddos.conf
ونغير التالي :
كود PHP:
Set NO_OF_CONNECTIONS=150
هذا الرقم 150 يفضل وضعها في السيرفر وعدم تغيرها اذا حاب تزيد في قيمة الحد الأقصى لعدد الأتصال بالسيرفر للأي بي الواحد بتغير الرقم 150
يفضل وضعها 150 او 250 او 300
اذا صار هجوم قوي جدا على السيرفر قم بتغير القيمة الى 45 او 35 لكي يتم حجب الفلود بشكل سريع
وتإكد من القيم التالية :
كود PHP:
APF_BAN=1
EMAIL_TO=xxx@xxx.com
هذا عدد الوقت بالثانية للحظر 600 ثانية
BAN_PERIOD=600
لمعرفة المتصلين بالسيرفر نكتب الامر هذا
كود PHP:
cd /usr/local/ddos/;./ddos.sh
sh /usr/local/ddos/ddos.sh
لحظر اي شخص ندخل هنا
كود PHP:
pico /usr/local/ddos/ignore.ip.list
ونضع الأي بي داخل الملف ونسوي له حفظ
تشغيل البرنامج :
كود PHP:
/usr/local/ddos/ddos.sh -c
iptables -F
ولجعل البرنامج يعمل بعد الريستارت نروح للملف :
كود PHP:
pico /etc/rc.d/rc.local
ونضع في نهاية الملف التالي :
كود PHP:
## Add the following lines at the bottom of the file
/usr/local/ddos/ddos.sh -c
لو رغبت بحذف البرنامج اكتب الأمر التالي :
كود PHP:
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
sh uninstall.ddos
وهذا اعدادات للحماية من الفلود :
وهذا ملف لتعزيز الحماية من هجمات الدوس وتعطيل بعض الخدمات وحصرها :
كود PHP:
#!/bin/bash
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
rm /root/.dyn*
echo "Setting kernel tcp parameters to reduct DoS effects"
#Reduce DoS'ing ability by reducing timeouts
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog
#ANTISPOOFING
for a in /proc/sys/net/ipv4/conf/*/rp_filter;
do
echo 1 > $a
done
##
#NO SOURCE ROUTE
for z in /proc/sys/net/ipv4/conf/*/accept_source_route;
do
echo 0 > $z
done
#SYN COOKIES
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#echo $ICMP_ECHOREPLY_RATE > /proc/sys/net/ipv4/icmp_echoreply_rate
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "1" > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# NUMBER OF CONNECTIONS TO TRACK
echo "65535" > /proc/sys/net/ipv4/ip_conntrack_max
# 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
طبعا انصح الجميع بالتعديل في اخر السطور :
كود PHP:
/sbin/iptables -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN
هذا لتحديد اقصى حد لعدد المتصلين بالسيرفر يجب تغيرها حسب ما ترغب يفضل ضعها بدل 100 غيرها 200
و الـ 150 غيرها 300
بعدين احفظ الملف وارفعه على السيرفر بإسم :
ولتنصيب الملف اكتب الأمر التالي :
للمعلوماية الطريقة الأخيرة مع المحتمل انها لا تعمل مع السيرفرات VPS
الأن نجي لطريقة صد الهجمات الفلود هذا الشرح عشان يكون الموضوع له قيمة والدرس يكون مفيد للكل :
بعد الانتهاء من اعداد برامج الحماية السيرفر والفايرول افضل اعدادات اقدم لكم معلومات لكيفة صد اي هجوم DOS يتعرض له السيرفر وكيفية معرفة ذلك
اكتب الأمر التالي لمعرفة عدد المتصلين بالسيرفر :
كود PHP:
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
or
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
راح يظهر لك النتيجة كتالي :
كود PHP:
1 195.229.235.36
1 195.229.235.39
1 195.229.236.214
1 195.229.237.39
1 195.229.242.53
1 195.229.242.55
1 195.229.242.56
1 196.12.217.252
1 196.20.126.97
1 41.200.213.119
1 86.60.97.145
1 89.108.0.85
2 195.229.235.41
2 41.201.175.161
2 41.248.162.42
2 77.30.118.133
2 94.97.78.197
3 84.11.138.148
400 41.235.239.187
هذا يعني ان الأي بي
41.235.239.187
مسوي فلود على السيرفر طيب الحين عرفنا مسبب الفلود الحين نجي نسوي له حظر
اكتب الأمر التالي :
كود PHP:
pico /usr/local/ddos/ignore.ip.list
وضع الأي بي الشخص المسبب للحظر
ولحظر الأي بي بواسطة برنامج BFD
ولحظر اي بي نروح الى
كود PHP:
pico -w /usr/local/bfd/ignore.hosts
ونضع الأي بي داخل الملف ونسوي له حفظ
وايضا نروح للبرنامج APF ونحط الأي بي
كود PHP:
/usr/local/sbin/apf -d 41.235.239.187
وهذه طريقة اخرى لخظر الشخص
كود PHP:
iptables -I INPUT -s 41.235.239.187 -j DROP
بعد كذا نكتب الامر
كود PHP:
service iptables save
service iptables restart
تركيب برنامج الفايرول CSF :
هذا البرنامج لا انصح به اطلاقا في تركيبه على السيرفرات VPS لأنه راح يسبب مشاكل في السيرفر لذلك لا تقم بتركيبه وبالنسبة للبرامج الي ذكرتها كفاية وقوية جدا
راح اشرحه للي يرغب بتركيبه على سيرفره :)
كود PHP:
cd /usr/src
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh disable_apf_bfd.sh
sh install.sh
نجي نضبط اعداداته :
كود PHP:
pico /etc/csf/csf.conf
تاكد من هذه الخيارات انها على ذات القيم الموضحة :
كود PHP:
AUTO_UPDATES = "1"
كود PHP:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,953,993,995,2077,2078,2082,2083,2086,2087,2095,2096,6102"
كود PHP:
TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,587,873,953,2087,2089,2703,6102"
ملاحظة لا تنسى وضع بورت الشل ضمن هذه الارقام وذلك وبضع , ويليها ارقم بدون مسافات
ملاحظة : 6102 هو بروت الشل الي وضحته في الشرح لا تضعه ضمن البروتات
ثم احفظ الملف
كود PHP:
service csf restart
نذهب الى WHM :
Main >> Plugins >> ConfigServer Security & Firewall
اضغط على
في هذه الخانة اضغط hight
واخيرا :
نعود الى الشل ونحرر ملف csf.conf
كود PHP:
pico /etc/csf/csf.conf
ctrl + w >> LF_MODSEC
اجعلها هكذا :
كود PHP:
LF_MODSEC = "10"
او ضع مكان الرقم 10 اي عدد يفضل ان لا يكون اقل من 5
احفظ الملف ثم
كود PHP:
service csf restart
ولحظر اي شخص من خلال برنامج csf
اكتب الأمر التالي :
كود PHP:
csf -d 124.11.11.11
انتهى الشرح وهذا افضل طريقة للحظر هجمات الدوس وهي طريقة مجربة
عند عمل فلود راح توصلك رسالة كتالي على بريدك
IP addresses banned on Wed Aug 13 17:10:07 AST 2008
كود PHP:
Banned the following ip addresses on Wed Aug 13 17:10:01 AST 2008
41.249.56.19 with 205 connections
[/CENTER]
تــــابع الشرح :
المفضلات