مقدمة #
تتزايد أهمية خدمات SSL، وعلينا التأكد من استخدام إصدارات أحدث من بروتوكول TLS وتشفيرات آمنة. ولكن في الواقع، حيث تختلف أنواع العملاء والأجهزة التي نستخدمها في خدماتنا، علينا ضمان الاتصال بخدماتنا الآمنة.
لذا، قد يكون من المفيد تحديد العملاء المتصلين (أو الذين يحاولون الاتصال) بخدمات SSL الخاصة بنا. في هذه الحالة، يمكنك استخدام الأداة com.tcpdump لموازن التحميل أو أي خادم Linux.
تنفيذ tcpdump باستخدام مرشح SSL #
الامر com.tcpdump في موازن التحميل أو خادم لينكس، يسمح لك بالتصفية حسب حقول TCP، لذا يجب مطابقة البايتات وفقًا لرقم إصدار حزم SSL الموجودة في الموضع الثاني عشر. أيضًا، نظرًا لإمكانية وجود مواضع مختلفة لـ SSLv12، وSSLv2، وTLS3، وTLS1.0، يجب استخدام تركيبة من عدة مرشحات:
root@noid-ee-01:~$ tcpdump -i any -n "(((tcp[((tcp[12] & 0xf0) >> 2)] = 0x14) || (tcp[((tcp[12] & 0xf0) >> 2)] = 0x15) || (tcp[((tcp[12] & 0xf0) >> 2)] = 0x17)) && (tcp[((tcp[12] & 0xf0) >> 2)+1] = 0x03 && (tcp[((tcp[12] & 0xf0) >> 2)+2] < 0x03))) || (tcp[((tcp[12] & 0xf0) >> 2)] = 0x16) && (tcp[((tcp[12] & 0xf0) >> 2)+1] = 0x03) && (tcp[((tcp[12] & 0xf0) >> 2)+9] = 0x03) && (tcp[((tcp[12] & 0xf0) >> 2)+10] < 0x03) || (((tcp[((tcp[12] & 0xf0) >> 2)] < 0x14) || (tcp[((tcp[12] & 0xf0) >> 2)] > 0x18)) && (tcp[((tcp[12] & 0xf0) >> 2)+3] = 0x00) && (tcp[((tcp[12] & 0xf0) >> 2)+4] = 0x02))"
سيتم انتظار الأمر حتى يتم إلغاؤه يدويًا باستخدام Crtl+C.
اختبار مرشح SSL #
لاختبار اتصال SSL مع خادم يستخدم بروتوكول SSL معين، يمكنك استخدام بينسل في جانب العميل، كما هو موضح أدناه مع اتصال ناجح.
العميل:~$ openssl s_client -connect 192.168.56.10:443 -tls1 CONNECTED(00000003) [...] --- سلسلة الشهادات [...] --- شهادة الخادم -----بداية الشهادة----- MIID8DCCAtigAwIBAgIJAJ22cPNVcSZYMA0GCSqGSIb3DQEBCwUAMIGMMQswCQYD VQQGEwJFUzEOMAwGA1UECAwFU3BhaW4xDjAMBgNVBAcMBVNwYWluMRMwEQYDVQQK DApaZXZlbmV0IFNMMRswGQYDVQQLDBJUZWxlY29tbXVuaWNhdGlvbnMxCjAIBgNV [...]
تغيير الخادم والمنفذ المطلوب. كما يمكنك تغيير المعلمة -tls1 لاستخدام البروتوكول المطلوب.
تفسير النتائج #
في جانب الخادم، سوف ترى شيئًا كهذا:
root@noid-ee-01:~$ tcpdump [...] tcpdump: تم إلغاء الإخراج المفصل، استخدم -v أو -vv للاستماع الكامل لفك تشفير البروتوكول على أي نوع من أنواع الارتباطات LINUX_SLL (مُعدَّل بواسطة Linux)، حجم الالتقاط 262144 بايت 12:20:46.984131 IP 192.168.56.1.58286 > 192.168.56.10.444: أعلام [ص.]، التسلسل 1580373103:1580373207، الإقرار 4195613909، نظام التشغيل Windows 502، الطول 104 12:20:46.988648 IP 192.168.56.10.444 > 192.168.56.1.58286: أعلام [ص.]، التسلسل 1:1414، الإقرار 104، نظام التشغيل Windows 29، الطول 1413 [...]
عنوان IP 192.168.56.1 تم اكتشاف اتصال غير آمن بالخدمة 192.168.56.10.444 في الخادم.