السلام عليكم ورحمة الله وبركاته
 .. كيف الحال .. عساكم بخير ان شاء الله
 .. الفترة الماضية .. واجهة توقفات كثيرة بسيرفري .. وخبراء استغربوا من الفلود وقوته على السيرفر
 جربنا كل الطرق ما نفعت .. بسبب قوة الفلود .. ودام الفلود قوي نحتاج شي قوي للتصدي للفلود
 من واقع تجربة شخصية .. برنامج CSF .. يحتاج كم برنامج معه للتصدي للفلود
 ولكن مشكلة هالكم برنامج .. انها ما تركب في جميع التوزيعات !!
 ولا يقدر يتصدى لفلود قوته كيبر جداً .. لحاله .. لذلك .. شرحي بيعتمد على فيروول APF
 مع اضافة برامج مساعده .. وان شاء الله .. مافيه مكان للفلود على سيرفرك
 نبدا بسم الله ..
 كيف تعرف انه فيه فلود على سيرفرك ؟
 فيه عدة ظواهر .. بتلاحظ بطئ شديد في التصفح .. واغلب فترات التصفح تعطيك صفحة خطأ داخلي
 في الملقم .. واذا دخلت لوحة تحكم السيرفر .. بتحصل الأباتشي حالته Filed
 ومافيه أي خطأ بالأباتشي أو السيرفر .. بحيث لو دخلت وسويت له ريستارت .. عادي 
 ولكن حالته Filed .. بعدها طال عمرك .. ادخل الـ SSH
 نفذ هذا الأمر
	كود:
	 netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
  يعطيك أكثر الايبيهات اللي شابكه بالسيرفر .. وبجانبها .. عدد اتصالاتها
 لابد عدد الاتصالات ما يتجاوز 50 اتصال .. في حال حصلت ايبيهات في هذا الكم ..
 تأكد انه فيه فلود على سيرفرك ..
 طيب .. عرفنا ان فيه فلود .. وش الحل ؟؟
 الخطوات 
 (( تركيب برنامج APF ))
  من الـ SSH نفذ هالأوامر
	كود:
	 cd /root/
 wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz
 tar -xvzf apf-current.tar.gz
 ls
  الآن بيعرض لك المجلدات في مجلد الروت .. شف مجلد جديد نزل اسمه apf وبجانبه رقم الاصداره
 انسخها ونفذ هالأمر
  استبدل file بإسم مجلد الـ APF اللي حصلته
 بعدها نفذ هالأمر للتنصيب
 وانتظر شوي لين ينتهي من التنصيب .. طبعاً راح يعطيك تحذير
 انه الاعدادات لابد تسويها بنفسك .. ما عليك منه الحين نسويها بإذن الله
 نفذ هالأمر
  ثم نفذ هالأمر .. لتحرير ملف اعدادات البرنامج
  الآن اضغط بالكيبورد على Ctrl+w للبحث داخل الملف
 ابحث عن هالعباره
 
  بتحصل بجانبها علامتين " "
 ضع بين العلامتين المنافذ اللي تبي تفتحها بالسيرفر
 مثلاً منافذ الديجي شات ( اذا كان عندك ) أو منافذ السي بنل والـ whm والـ SSH
 والبريد واالـ ftp .. الخ
 وهذي البورتات الأساسية .. للبرامج المذكورة بالأعلى ضعها بين علامتين " "
	كود:
	 21,22,25,26,53,80,110,143,443,2082,2083,2086,2087,
2095,2096,19638
  الآن اضغط Ctrl+w مرة ثانية  وابحث عن هالعباره
 
  ضع بين علامتين " "  هالرقم
  النتيجة بتكون كذا
 الآن اضغط Ctrl+x
 ثم اضغط حرف y لحفظ التعديلات
 الآن نفذ هالأمر لتشغيل برنامج APF على السيرفر
   في حال ظهرت معك اي مشاكل لا قدر الله ..
 وقف البرنامج بالأمر
  .. الحمد لله كذا انتهينا من الخطوة الأولى ..
 الآن .. نركب برنامج  Dos-Deflate
 ملاحظة .. هالبرنامج يعتمد على الجداري الناري APF في حال عدم وجوده .. ما راح يشتغل !!
 الآن .. نفذ هالأوامر
	كود:
	 wget http://www.inetbase.com/scripts/ddos/install.sh
 chmod 0700 install.sh
 ./install.sh
   كذا الحمد لله .. تم التنصيب .. الآن .. تعالوا نحرر اعدادات البرنامج
 اكتب هالأمر
 
	كود:
	pico /usr/local/ddos/ddos.conf
  اضغط Ctrl+w ابحث عن هالعباره
  ضع قيمتها = 20
 و APF_BAN= 1
 ثم اضغط Ctrl+x
 ثم y
 ثم سوي ريستارت للأباتشي بالأمر
	كود:
	 /etc/rc.d/init.d/httpd restart
  في حال ظهرت اي مشاكل لا قدر الله .. نفذ هالأوامر لحذف البرنامج
	كود:
	wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos
  كذا تمام ولله الحمد .. الآن تركيب Mod_Evasive
 نفذ هالأوامر لتحميل البرنامج وفك ضغطه ..
	كود:
	 cd /usr/local/src
 wget http://www.nuclearelephant.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
tar -zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive
  الآن .. لبدء التنصيب
 .. في عندك حالتين .. اذا كان الأباتشي تبعك من الجيل الأول apache 1.3.x
 نفذ هالأمر للتنصيب
	كود:
	 /usr/local/apache/bin/apxs -cia mod_evasive.c
  وفي حال كان الأباتشي تبعك من الجيل الثاني apache 2.0.x
 نفذ هالأمر للتنصيب
	كود:
	 /usr/sbin/apxs -cia mod_evasive20.c
  الآن .. بقى آخر خطوة .. ندخل ملف الأباتشي .. ونسوي اعدادات الموديول
 نفذ هالأمر
	كود:
	 pico /etc/httpd/conf/httpd.conf
  ثم بالكيبورد Ctrl+w وابحث عن هالعباره
  .. وبيطلع معك سطر ادراج الموديول LoadModule
 السطر اللي تحته .. ضع التالي
 في حال كان الأباتشي تبعك من الجيل الأول apache 1.3.x ضع التالي /
	كود:
	 <IfModule mod_evasive.c>
    DOSHashTableSize    3097
    DOSPageCount        2
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
    DOSEmailNotify      mail@mail.com
    DOSSystemCommand    "su - root -c '/sbin/... %s ...'"
    DOSLogDir           "/var/lock/mod_evasive"
</IfModule>
  لاتنسى استبدال mail@mail.com .. بإيميلك .. 
 في حال كان الأباتشي تبعك من الجيل الثاني apache 2.0.x
 ضع التالي /
 
	كود:
	 <IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        2
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
    DOSEmailNotify      mail@mail.com
    DOSSystemCommand    "su - root -c '/sbin/... %s ...'"
    DOSLogDir           "/var/lock/mod_evasive"
</IfModule>
  لاتنسى استبدال mail@mail.com .. بإيميلك .. 
 الآن اضغط Ctrl+x
 ثم y
 ثم
	كود:
	 /etc/rc.d/init.d/httpd restart
  الحمد لله كذا .. تمام .. في حال ظهور أي خطأ لا قدر الله .. حرر الأباتشي واحذف السطر اللي اضفنها
 وسطر LoadModule .. وسوي ريستارت ..
 الآن نفعل الساين كوكيز .. بالأمر التالي
 
	كود:
	echo 1 > /proc/sys/net/ipv4/tcp_syndcicookies
  ثم نفذ هالأوامر لإعداد بعض خواص الـ IPtables ..
	كود:
	 iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP     
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 ALL FIN,URG,PSH -j DROP        
iptables -A INPUT -p tcp --tcp-flags ALL FIN -j DROP                
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP               
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
  الآن عمل اعداد بسيط لملف sysctl.conf
	كود:
	 cd /etc/
 
 mv sysctl.conf sysctl.conf.css  
 pico sysctl.conf
  بيفتح معك صفحة فارغة ضع فيها التالي
	كود:
	 # Kernel sysctl configuration file for Red Hat Linux 
# 
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and 
# sysctl.conf(5) for more details. 
# Controls IP packet forwarding 
net.ipv4.ip_forward = 0 
# Controls source route verification 
net.ipv4.conf.default.rp_filter = 1 
net.ipv4.conf.all.rp_filter = 1 
net.ipv4.conf.lo.rp_filter = 1 
net.ipv4.conf.eth0.rp_filter = 1 
# Do not accept source routing 
net.ipv4.conf.default.accept_source_route = 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 
# Disable ICMP Redirect Acceptance 
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 
# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets 
net.ipv4.conf.all.log_martians = 0 
net.ipv4.conf.lo.log_martians = 0 
net.ipv4.conf.eth0.log_martians = 0 
# Lower retry rates 
net.ipv4.tcp_synack_retries = 2 
net.ipv4.tcp_syn_retries = 3 
# Controls the System Request debugging functionality of the kernel 
kernel.sysrq = 0 
# Max File Handlers 
fs.file-max = 8192 
# Disable CTR+ALT+DEL Restart Keys 
kernel.ctrl-alt-del = 1 
# Controls whether core dumps will append the PID to the core filename. 
# Useful for debugging multi-threaded applications. 
kernel.core_uses_pid = 1 
# Decrease the time default value for tcp_fin_timeout connection 
net.ipv4.tcp_fin_timeout = 15 
# Decrease the time default value for tcp_keepalive_time connection 
net.ipv4.tcp_keepalive_time = 1800 
# Turn off the tcp_window_scaling 
net.ipv4.tcp_window_scaling = 0 
# Turn off the tcp_sack 
net.ipv4.tcp_sack = 0 
# Turn off the tcp_timestamps 
net.ipv4.tcp_timestamps = 0 
# Enable TCP SYN ****** Protection 
net.ipv4.tcp_syn******s = 1 
# Enable ignoring broadcasts request 
net.ipv4.icmp_echo_ignore_broadcasts = 1 
# Enable bad error message Protection 
net.ipv4.icmp_ignore_bogus_error_responses = 1 
# Log Spoofed Packets, Source Routed Packets, Redirect Packets 
net.ipv4.conf.all.log_martians = 1 
# Increases the size of the socket queue (effectively, q0). 
net.ipv4.tcp_max_syn_backlog = 1024 
# Increase the tcp-time-wait buckets pool size 
net.ipv4.tcp_max_tw_buckets = 1440000 
# Allowed local port range 
net.ipv4.ip_local_port_range = 16384 65536
  ثم اضغط Ctrl+x ثم y
 تعديل بسيط على ملف host.conf
	كود:
	 mv host.conf host.conf.css
 pico host.conf
  بتفتح معك صفحة فارغة ان شاء الله ضع فيها التالي
	كود:
	 # 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
   هذا ما لدي .. والله اعلم
 الموضوع اهداء للأخ : SiL3nT M4n 
 دعواتكم لي ولوالدي .. اي شخص متورط في فلود ومحتاج مساعده في تنفيذ الخطوات .. يبلغنا ..
 أخوكم في الله .. حسين 
 تشآآآآآآآآو