HOWTO Configure JIRA Ticketing System to work behind a proxy and use SSL

السلام عليكم ورحمة الله وبركاته

قبل فترة في العمل أحتجت الى نقل الـ svn للشركة ونقل الكثير من الخدمات الأخرى الى خادم آخر جديد في مكان جديد … من بين تلك الخدمات التي أحتجت الى نقلها كان نظام الـ JIRA Ticketing System … المشكلة التي حصلت هي بإنه JIRA يستعمل Tomcat والخدمات الأخرى تم إعداداها على العمل مع Apache2 … هذه نقطة … والنقطة الأخرى والتي كانت أكبر مشكلة هي إنه مديري يريد خدمة إستضافة الموقع مع خدمة JIRA على نفس الـ IP وذلك لكي يستخدم SSL Certificate واحدة لهم … لانه الرخصة أشتريناها على IP واحد ولهذا وضعها على IP آخر لن يتعرف عليها المتصفحات وستعطي خلل … مشكلة أخرى تذكرتها وهي إن الخادم هذا يعمل خلف NAT من الخارج … وهذه بحد ذاتها مشكلة بالنسبة لخادم Tomcat الذي حين ستطلب رابطه من الخارج لن يعرف كيف يعمل الـ resolve بشكل صحيح مع الخدمة الداخلية …

على كل حال أحتجت الى عمل إعداد صحيح للمواقع وذلك بإستعمال Virtual Hosting … وبعد ذلك أستعملت mod_proxy ليكون الأباتشي هو البروكسي للـ JIRA … يعني يكون البوابة Apache2 ويكون النظام في الخلف هو JIRA فعلياً … وقمت بعمل إعداد للبروكسي لكي يستطيع التعامل مع الـ SSL وذلك لكي أستعمل الرخصة التي أشتريناها … على كل حال أترككم مع طريقة الإعداد والذي عملتها في ملف ممكن تحميله من هنا (أضغط) …

إن شاء الله تكون طريقة الإعداد محل فائدة لأحدكم …

Disabling Weak SSLv2 Support in Apache Server

السلام عليكم ورحمة الله وبركاته

هذه واحدة من المشاكل التي وجدتها بعد الفحص الخارجي الذي قمت به من أجل متطلبات الـ PCI Compliance الأسبوع الماضي … على الرغم من كون أغلب المتصفحات اليوم تقوم بإستعمال TLSv1 الأقوى و SSLv3 ولكن مع هذا يجب عمل تعطيل كامل لـ SSLv2 ولهذا ما لنا سوى تنفيذ الحلول :)

عملية ترقيع هذه المشكلة بسيطة للغاية …
بالبداية أبحث في ملف httpd.conf أو ssl.conf عن التوجيه SSLCipherSuite ومن ثم غييره الى التالي:

SSLProtocol -ALL +SSLv3 +TLSv1
Continue reading

0day – إستعمال PS3 لإختراق SSL

السلام عليكم ورحمة الله وبركاته

أعلنت مجموعة من المخترقين بإنهم إستطاعوا أن يهزموا/يخترقوا الـ SSL وذلك من خلال إستعمال تجميع cluster لـ 200 جهاز من نوع PlayStation 3 … حيث قاموا بذلك من خلال إستغلال في الخوارزمية الخاصة بالـ MD5 المستعملة في بعض التواقيع الألتكترونية digital signatures والشهادات الألكترونية certificates … المجموعة تمكنت من صناعة Certification Authority (CA) مغشوشة وسمحت لهم بعمل شهادات SSL خاصة بهم … هذا ربما يعني بإنه ليس كل المواقع التي نقوم بتصفحها هي مزييفة ونحن لا نملك أي خبرة في إكتشاف أو معرفة ذلك !!!
Continue reading

طرق التشفير في قواعد البيانات MySQL

السلام عليكم ورحمة الله وبركاته

إستكمالاً لما بدأت به حول التعامل مع قواعد البيانات MySQL اليوم أريد أن أوضح كيفية حفظ البيانات مشفرة بداخل القواعد MySQL … أي كيف نقوم مثلاً بعمل جدول خاص بالمستخدمين وكل مستخدم تكون الكلمة السرية له مشفرة …

هناك ثلاث طرق أو بالأحرى موضوعي يركز على الثلاث طرق والتي هي:
الأولى بإستعمال التشفير (أو Hash) المعروفة MD5
الثانية بإستعمال التشفير (أو Hash) المعروفة SHA1
الثالثة بإستعمال التشفير AES، حيث يستعمل 128 بت.

ملاحظة: هناك طرق أخرى ولكن موضوعي يشرح الثلاث طرق أعلاه فقط …

الآن لنرى كيف نقوم بعمل ذلك … سنبدأ مع طريقة MD5 … قم بالبداية بإنشاء جدول على أن يكون حجم حقل الكلمة السرية بـ 32 حرف/رمز/رقم، كما يلي:

CREATE TABLE user_md5 (username VARCHAR(16), password VARCHAR(32));

قمنا بعمل جدول يتكون من حقلين، حقل يخص اسم المستخدم وحقل يخص الكلمة السرية له …
الآن لنقوم بإضافة بيانات تجريبية له، مثلاً أسم مستخدم binary وكلمة سرية له ولتكن binary أيضاً … Continue reading