رصد وحماية نوع من أنواع الـ Ddos Attack وهو Syn Attack
السلام عليكم
أخوتي هذا شرح طريقة للحماية من الـ Syn Attack وهو نوع من الانواع المستخدمة في الـ Ddos Attack وهذا الحل يحد بنسبة 90% من هذا النوع من الأتاك .
اولاً شرح طريقة ما هي الطريقة لهذا الأتاك
SYN ترسل طلب من البوت الى السيرفر SERVER
SYN ACK السيرفر SERVER يستجيب للطلب ويرسل رد
ACK الجهاز يرجع يرسل الطلب مع تأكيد على السيرفر SERVER لقبول الطلب
وهكذا عند استعمال كمية كبيرة من البوتات تسبب ضغط على السيرفر SERVER وترفع اللود على المعالج + الرام وبذلك تتسبب بايقاف المواقع عليه .
كيف تحدد بحال سيرفر SERVERك متعرض لهذا النوع من الأتاك .
من على السيرفر SERVER نفسه , سوي أمر wget لأي ملف مستضاف على أي موقع داخل السيرفر SERVER حصراً .
النيجة سوف تكون مثال رمز PHP:
Resolving www.example.com... 1.1.1.1
Connecting to www.example.com|1.1.1.1|:80... connected.
HTTP request sent, awaiting response... [COLOR="Red"]200 [/COLOR]OK
مع النظر الى الناتج في الأسفل وهو 200 جزء من الثانية , هذه النتيجة الطبيعية للسيرفر SERVER وأي نتيجة أعلى من هذه تعني انه هناك ضغط كبير .
بحال اتى الناتج
And this is where things hang for a long time ... The server takes a very long time to open a network socket.
هذا يعني انه هناك Syn Attack على السيرفر SERVER .
هذا الأمر يعطيك ناتج طلبات الـ Syn الحالية بحال موجودة
رمز PHP:
netstat -tuna | grep :80 | grep SYN_RECV
مثال على نتيجة عند استعمال هذا الأتاك
اقتباس
tcp 0 0 1.1.1.1:80 70.56.83.204:1609 SYN_RECV
tcp 0 0 1.1.1.1:80 2.2.2.2:1723 SYN_RECV
tcp 0 0 1.1.1.1:80 209.112.192.126:4988 SYN_RECV
tcp 0 0 1.1.1.1:80 2.2.2.2:1724 SYN_RECV
tcp 0 0 1.1.1.1:80 2.2.2.2:1727 SYN_RECV
tcp 0 0 1.1.1.1:80 2.2.2.2:1733 SYN_RECV
tcp 0 0 1.1.1.1:80 24.158.121.0:3337 SYN_RECV
tcp 0 0 1.1.1.1:80 2.2.2.2:1753 SYN_RECV
tcp 0 0 1.1.1.1:80 2.2.2.2:1811 SYN_RECV
tcp 0 0 1.1.1.1:80 2.2.2.2:1821 SYN_RECV
tcp 0 0 1.1.1.1:80 2.2.2.2:1831 SYN_RECV
tcp 0 0 1.1.1.1:80 24.7.27.61:52142 SYN_RECV
tcp 0 0 1.1.1.1:80 207.118.0.58:50819 SYN_RECV
tcp 0 0 1.1.1.1:80 115.64.40.38:52865 SYN_RECV
الان نأتي للحل بحال هناك هذا الأتاك على سيرفر SERVERك .
نفذ هذا الأمر
رمز PHP:
sysctl -w net.ipv4.tcp_syncookies=1
ثم
رمز PHP:
cat /etc/sysctl.conf
نتأكد بأن السطر هذا تم اضافته
رمز PHP:
net.ipv4.tcp_syncookies = 1
ثم ننفذ الأمر التالي
رمز PHP:
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
الان الأتاك سوف يستمر ولكن السيرفر SERVER سوف يرسل كوكيز فارغة ولن تسمح للبوت بأعادة الأرسال من جديد .
قد يظهر شيء مثل هذا في اللوغ للأباتشي
رمز PHP:
[1116377.589736] possible SYN flooding on port 80. Sending cookies.
[1116439.567828] possible SYN flooding on port 80. Sending cookies.
[1116500.631623] possible SYN flooding on port 80. Sending cookies.
لتفعيل الأوامر
رمز PHP:
service httpd restart
service cpanel restart
الدرس مفصل حصري لديزاد باتنة , يسمح بنقله مع ذكر الرابط لو سمحتم .
تحياتي
م . خالد محيسن
https://fbcdn-sphotos-d-a.akamaihd.n...93518507_n.png
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©