السلام عليكم ورحمة الله وبركاته
.. كيف الحال .. عساكم بخير ان شاء الله
.. الفترة الماضية .. واجهة توقفات كثيرة بسيرفري .. وخبراء استغربوا من الفلود وقوته على السيرفر
جربنا كل الطرق ما نفعت .. بسبب قوة الفلود .. ودام الفلود قوي نحتاج شي قوي للتصدي للفلود
من واقع تجربة شخصية .. برنامج 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
دعواتكم لي ولوالدي .. اي شخص متورط في فلود ومحتاج مساعده في تنفيذ الخطوات .. يبلغنا ..
أخوكم في الله .. حسين
تشآآآآآآآآو