البحث في الموقع
المحتوى عن 'تأمين'.
-
أثناء كلّ معاملاتنا الإلكترونية تقريبًا وعلى معظم المواقع، نحتاج دائمًا لإدخال اسم مستخدم وكلمة مرور قوية حتى نتمكن من الاستفادة من محتوى ذلك الموقع أو حتى التطبيق. لكن مع كثرة هذه المواقع والتطبيقات، نجد أنفسنا عاجزين عن تذكر كلّ كلمات المرور التي وضعناها كاملةً بصورة سليمة، فقد ننسى بعضها وقد نرتكب خطأً في إدخال البعض الآخر، ما قد يدخلنا في متاهة استعادة الحساب وتغيير كلمة المرور وتأكُّد المواقع من هوياتنا. طبعًا إذا لم تحتوِ هذه الحسابات على معلومات مهمّة جدًّا لنا وكانت سهلة التسجيل مجدّدًا، فقد نقرّر التسجيل بحساب جديد؛ أمّا إذا كان الحساب خاصًّا بالعمل فقد يكون الأمر صعبًا جدًّا إذا احتوى على معلومات مهمة، ففي بعض الأحيان قد تكون المعلومات المتوفِّرة على الحساب المفقود مهمة جدًّا لدرجة قد تتسبّب في خسارة بعض العملاء أو الملفّات المهمة لاجتماع مهمّ مثلًا، إلى جانب تحمُّل المسؤولية التامة عن ضياعه والمعلومات التي يحتويه؛ ومن أسوء الحالات أيضًا، الإيقاف أو التجميد المؤقّت لحساب محفظتنا المالية الإلكترونية مثلًا، نتيجة نسياننا لكلمة المرور الخاصة بها، طبعًا هنا الأمر لن يكون سهلًا جدًّا على أيّ منّا لكثرة الإجراءات والمدّة التي سنستغرقها لاسترجاع حسابتنا، وهو ما يسفر عنه تأخير بعض الالتزامات ربّما أو إلغاء بعضها ومواجهتنا لبعض المشاكل التي كان يمكنك تجنبها بطريقة ما. لحلّ هذه المشكلة يلجأ بعضنا لحفظ كلمات المرور المهمة على أوراق خارجية (وهو ما لا ننصح به إلًا إذا كنّا على يقين تام من حفظها بمكان يستحيل الوصول إليه من الغير)، صحيح أنّها طريقة عمليّة احتياطًا، لكن لا يمكننا الاعتماد عليها بصورة مطلَقة، فحتى هي قد تتلف أو قد ننسى مكانها، كما يمكن لأحد أفراد العائلة تغيير مكانها عن طريق الخطأ دون علمك وينساها هذا إذا لم نُغيّر نحن مكانها بأنفُسنا وننساه، أمّا الأسوء فهو أن يستخدمها شخص آخر عوضًا عنّا ويسرق حساباتنا منّا؛ والحل الآخر السهل والذي يلجأ إليه الأغلبية، فهو إعلام المتصفِّح الذي نستخدمه بتذكُّر معلوماتنا من الموقع الذي سجلنا فيه، طبعًا هنا تُعدّ هذه الطريقة سهلة الاستخدام وتستحضر لنا المعلومات فور دخولنا للموقع، بحيث نكون في غنى عن الحاجة المتكررة لإدخال المعلومات في كلّ مرة، لكن هل سبق وتساءلت عن عيوب هذه الطريقة؟ حسنًا سأخبرك. من أكثر الأمور التي تُعيب هذه الطريقة هي أنه لو تعرض حاسوبنا الخاص لعملية اختراق مثلًا فسنكون في ورطة فعلية، إذ ستكون كافة معلوماتنا مقدَّمة ببساطة وعلى طبق من ذهب للمخترق، وهذا سيسبِّب لنا مشاكل جمّة منها انتحال شخصيتنا إلكترونيًا، والاستفادة من معلوماتنا وملفات أعمالنا، ومالنا؛ كما أنّ حفظها على المتصفّح فقط سيُتيح لأي شخص يستخدم حاسوبنا (وهاتفنا إن كانت خيارات المزامنة مفعلة بين الحاسوب والهاتف) القدرة على الاطلاع على كلّ معلوماتنا وبياناتنا المحفوظة واستخدامها في عدّة مواقع، ناهيك عن إمكانية الاطلاع على المعلومات المحفوظة بالهاتف الجوال أيضًا في كثير من الأحيان، نظرًا لارتباط الكثير من معلومات الحاسوب بالهاتف، فأغلبية الأشخاص يستعملون حسابات جوجل والذي يزامن ما بين الحاسوب والهاتف الجوال، بحيث يمكن الاطلاع بسهولة من خلال الإعدادات على المواقع المسجل بها على اسم المستخدم لكلّ موقع سجّلنا فيه وكلمة مروره. الحالة الأخيرة المشابهة هي استعمال كلمة مرورة واحد لكل حسابتنا وهذه الحالة مشابهة للحالة السابقة، إذ عيب هذه الطريقة أن حسابتنا كلها ستكون عرضة للخطر إن عُرِفَت أو كشفت كلمة المرور، وهي أشبه بمن يضع البيض في سلة واحدة. طبعًا هذا يبدو مخيفًا كلما زادت أهمية المواقع والتطبيقات التي حفظنا كلمات المرور لها، لكن لا داعي للقلق كثيرًا، إذ توجد بعض البرامج والتطبيقات التي تحمل درجة أمان مرتفعة، تُستخدَم خصيصًا لحفظ معلومات الدخول للمواقع بطريق آمنة، وفي هذا المقال سنتحدّث عن استخدام برامج يُعدّ آمنًا وقويًا جدًّا إلى حد بعيد لحفظ معلومات الدخول إلى المواقع، وهو برنامج KeePass. ما هو برنامج إدارة كلمات المرور؟ بما أنّ استخدام كلمات مرور مُعقّدة قد أصبح ضروريًّا، فقد برزت الحاجة إلى استخدام برنامج إدارة كلمات المرور لتعقّب كلمات مرورنا المختلفة، لأن تذكّرها جميعًا سيُشكّل عبئًا علينا. ويمكننا عدّ هذه البرامج خزنةً آمنةً لكلمات مرورنا، بحيث يمكن الوصول إليها عبر استخدام كلمة مرور مُعقّدة. إذ تمتلك هذه البرامج إمكانيّة حفظ كلمات المرور التي تُدخلها تلقائيًا، وهكذا ستحتاج إلى تذكر كلمة مرور هذا البرنامج فقط للوصول إلى بقيّة كلمات مرورك المُخزّنة هناك، ومن بين أشهر برامج إدارة كلمات المرور المعروفة حتى الآن، نذكر الآتي: 1Password Dashlane KeePass LastPass Roboform لكن، تُعدّ معظم برامج إدارة كلمات المرور خدمات مدفوعة، فإذا كنا نرغب في استخدام حلول مجانيّة فربما يجدر بنا تفقّد KeePass، الذي سنفصِّل فيه في هذا المقال، وهو واحد من بين أشهر برامج إدارة كلمات المرور وحفظ معلومات الحسابات. إذ يُعَدّ أحد أكثر البرامج أمانًا وسهولةً في الاستخدام، كما أنّه متاح على كلّ أنظمة التشغيل سواءً أنظمة تشغيل الحواسيب، أو الهواتف الجوالة، إلى جانب احتوائه على عِدّة نسخ محسَّنة، تُمكّن من الربط بين البرنامج المحمّل على الحاسوب والهاتف معًا، ليكون علينا فقط تذكُّر كلمة مرور واحدة فقط للدخول إلى قاعدة البيانات التي نضعها فيه. سنتعرف أكثر فيما يلي على هذا البرنامج، وكيفية استخدامه، ولماذا رُشّح للاستخدام بالدرجة الأولى. لماذا برنامج KeePass تحديدا؟ نحن هنا لا نفرض عليك استخدام برنامج محدّد لحفظ معلوماتك دون سواه، لكننا سنذكر بعض المميزات التي ينفرد بها KeePass إلى الآن، والتي قد تراها ربّما السبب في اختيار هذا البرنامج دون سواه. أولًا: أهم ميزة لهذا البرنامج هي عدم توفره فقط على لغة أو اثنتين مثل غالبية البرامج الأخرى، فهو يدعم أكثر من 33 لغة، ويمكننا استخدام الأنسب لنا، كما أنّه يوفر في نسخته KeePassXC الخاصة بأنظمة أجهزة الحاسوب واجهةً باللغة العربية، لذا فيمكننا اعتماده واستخدامه بأريحية تامة. ثانيًا: من أبرز الأمور التي يتميز بها KeePass هي أنه مجاني، بمعنى لن نحتاج للدفع والدفع المتواصل حتى نستفيد من خدماته، إذ يكفي فقط تنزيله، وتثبيته على الحاسوب أو الهاتف، لنتمكّن من استخدامه على الفور. ثالثًا: يتميّز KeePass أيضًا بكونه حرًّا ومفتوح المصدر، بمعنى أنّ شيفرة البرنامج مكشوفة ومفتوحة للجميع، ويمكن للمبرمجين قراءتها والتأكد منها بعدم احتوائها على أيّ آليات خبيثة مخفية من شأنها سرقة كلمات المرور الخاصة بنا، عبر قراءتها، ونقل نسخة منها إلى مكان آخر مجهول بطريقة خفية دون علمنا. ثالثًا: قد يصعب علينا في بعض الأحيان اختيار كلمة مرور طويلة وقوية بما يكفي للتسجيل في موقع مهم بالنسبة لنا، كما أنّ ابتكارنا للكلمات بأنفسنا في كلّ مرّة، قد يوقعنا في فخ التكرار، والذي يسهّل كثيرًا الوصول إلى معلوماتنا في كلّ المواقع التي استعملنا فيها الكلمة المكرَّرة، إن انكشفت في موقع واحد منها، ولذلك فربحًا للوقت والجهد، وللتوصل إلى نتيجة آمنة وقوية فورية، يتيح KeePass خاصيةً لوضع كلمات مرور قوية عشوائية من اختياره، وما علينا سوى تحديد طول كلمة المرور التي نريدها، مع الإشارة إلى الأمور التي نريد أن تحويها، فهل نريد الرموز أو الحروف الكبيرة أوالصغيرة أو الأرقام؟ وهكذا فقط، حتى نجد كلمة السر المناسبة قد جُهزت لنا دون تعب أو انشغال بإعدادها وحفظها في ذاكرتنا. رابعًا: توجد نُسخ كثيرة من KeePass، وهي متاحة للاستخدام على كلّ أنظمة التشغيل الموجودة حتى الآن، سواءً على الحواسيب أو على الهواتف الجوالة، ما يعني إمكانية الاعتماد عليه وحده في حفظ مختلف معلومات الدخول الخاصة بنا على كلّ الأجهزة وأنظمة التشغيل. خامسًا: يستخدم أغلبيتنا حسابات جوجل نفسها بين الحاسوب والهاتف الجوال، وكما سبق وذكرنا، فحسابات جوجل تُزامن الأجهزة معًا، ولهذا يتيح KeePass خاصية إمكانية الربط بين البرنامج المُثبّت على الحاسوب والتطبيق المرفوع على الهاتف الجوال، وذلك من أجل تسهيل عملية الحفظ، فبدل تثبيته مرتين وحفظ المعلومات على قاعدتي بيانات مختلفتين، يمكننا تثبيته من الجهتين، والاكتفاء بنفس قاعدة البيانات الخاصة بنا. ويمكن القول أنّ مزايا هذه الخاصية لا تنحصر فقط في استغنائنا عن حفظ كلمتي مرور والاكتفاء بواحدة فقط، بل الأمر أبعد من ذلك بكثير. ففي بعض الأحيان مثلًا، قد تتعطّل إحدى أجهزتنا المستخدَمة فجأةً (الهاتف أو الحاسوب)، وهذا قد يتسبب في فقدان الكثير من البرامج والتطبيقات المحمّلَة عليها إن لم نفقدها كاملةً، ليُعاد تحميلها وتهيئتها من جديد بعد إصلاحها، فإذا لم يكن ثمّة ربط بين الحاسوب والهاتف الجوال، فسنجد أنفسنا في موقف صعب جدًّا، نتيجة انتظار إصلاح الجهاز وعدم امتلاكنا لمعلومات الدخول حتى إصلاحه، إلى جانب إمكانية فقدان كلّ معلومات الدخول إلى عدّة مواقع دفعةً واحدةً حتى بعد إصلاحه نتيجة عدم القدرة على استرجاعها بعض معلومات التطبيقات المستخدمة سابقًا -حسب حجم الضرر بالجهاز-، لكن مع هذه الخاصية، فلا داعي أبدًًا للقلق بخصوص هذه المشكلة. كيفية استخدام برنامج KeePass تتشابه أشكال نسخ KeePass الموجودة إلى الآن بدرجة كبيرة، ما يجعل شرح طريقة استخدامه سهلةً على أيّ نسخة، وبما أنّ النسخة التي تدعم الكثير من اللغات ومن بينها اللغة العربية هي النسخة KeePassXC، فسنعتمدها هنا للشرح حتى تكون الأمور أكثر بساطة. قبل البدء بشرح هذه النسخة، نودّ الإشارة إلى أنه رغم دعم هذه النسخة للغة العربية إلا أنّ دعمها لها غير كامل، حيث نجد بعض المحتوى معرّب، وفي أحيان أخرى نجد نصًا غير معرّب. من أجل الحصول على نسخة KeePassXC، يمكن الدخول إلى الموقع الرسمي لـ KeePassXC، والتوجه إلى تنزيل. سنجد أمامنا عِدّة خيارات للأنظمة التي يمكن التنزيل لها، وهنا علينا باختيار نظام التشغيل الذي نستخدمه مع الأخذ بنسخته بالحسبان، وبعد تنزيل البرنامج ما علينا سوى تثبيته تمامًا بنفس طريقة التثبيت المعتمدة في أيّ برنامج آخر، والآن سنبدء في شرح طريقة استخدامه. قبل الانطلاق في شرح طريقة استخدامه، سنبدأ أولًا بشرح محتويات واجهة البرنامج حتى تسهل عملية استخدامه لاحقًا. كما نرى بالصورة أعلاه، فهذه هي واجهة المستخدم في نسخة KeePassXC، حيث تشير الأيقونات التي رقّمناها من 1 إلى 23، إلى ما يلي: قاعدة البيانات: يتيح لنا الضغط على هذا الزرّ إمكانية فتح قاعدة بيانات جديدة، أو فتح واحدة موجودة، أو حتى الفتح حسب الترتيب الزمني لآخر فتح لها، كما يتيح لنا إمكانية استيراد قاعدة بيانات من برنامج آخر، أو من قاعدة لدينا بالأساس على الحاسوب، وهنا تظهر بتسمية (KeePass 1)؛ أو التعديل على القاعدة على حدة، بمعنى التعديلات التي تتمّ هنا، ليست عامة، وإنما على القاعدة الواحدة؛ Entries: وتتعلق بالمدخلات التي ندخلها بقاعدة البيانات بعد فتحها، من إمكانية الإضافة والحذف، إلى جانب النسخ إلى الجهة المطلوبة، ونسخ البيانات، المحفوظة بالقاعدة المفتوحة، وفتح الروابط المضافة؛ المجموعات: يتيح KeePass خاصية جمع البيانات المتشابهة، أو من نفس الصنف، ضمن مجموعة واحدة؛ الأدوات: وتشمل الإعدادات الخاصة بإغلاق قاعدة البيانات والتعديل عليها، واختيار مواصفات كلمات السرّ؛ View: وتتعلّق بالتعديلات التي نودّ القيام بها على مستوى العرض، ويمكننا التحكم بها كما نشاء؛ مساعدة: وفيها نحصل على المساعدة اللازمة بشأن الاستخدام، أو المشاكل التي قد تعترضنا؛ حقل بحث: يمكننا من خلاله البحث عما نريد حول البيانات؛ فتح قاعدة بيانات موجودة؛ حفظ قاعدة البيانات؛ إضافة مُدخَلة جديدة؛ عرض، أو التعديل على المُدخَلة؛ حذف المُدخَلة؛ نسخ اسم المستخدم إلى الحافظة؛ نسخ كلمة المرور إلى الحافظة؛ نسخ الرابط إلى الحافظة؛ تنفيذ النمط التلقائي؛ غلق قاعدة البيانات؛ مولد كلمات المرور؛ الإعدادات، للتعديل العام على البرنامج عامةً، إنشاء قاعدة بيانات جديدة؛ فتح قاعدة بيانات حالية، أي مفتوحة سلفًا، ومفتوحة فعلًا؛ استيراد من ملفّات 1password، أو CVS، أو من قاعدة لدينا بالأساس على الحاسوب، لاستيراد مفتاح، أو لفتح قاعدة أو إضافة واحدة جديدة؛ المفتوحة أخيرًا، وتشير إلى قواعد البيانات المتاحة لدينا، والتي فتحت آخر شيء، حسب الترتيب الزمني. ويمكننا اختيار اللغة التي نريد استخدامها عبر النقر على نافذة التعديل العامة الموجودة في خيارات التعديل، من خلال التوجه إلى Tools ضمن الأيقونة المرقمة بـ (18) ثم settings، بعدها نتجه إلى أسفل إلى حيث يتواجد خيار واجهة المستخدم (user interface)، بعدها نجد خيار اللغة (language)، لنختار اللغة التي تناسبنا أكثر في الاستخدام، وسنشرح هنا طريقة الاستخدام باعتماد اللغة العربية خيارًا لنا. كما يُظهر الشكل الآتي: بعد اختيار اللغة، نضغط على "حسنا" لنعود إلى الرئيسية. قد نحتاج إلى إغلاق التطبيق وفتحه مرة أخرى حتى تظهر الواجهة باللغة العربية. ولإنشاء قاعدة بياناتنا الآن نضغط على أنشئ قاعدة بيانات جديدة (الأيقونة رقم 01)، فتظهر لنا النافذة الآتية: حيث يستوجب علينا هنا وضع تسمية لقاعدة البيانات التي نريد فتحها في خانة اسم قاعدة البيانات (database Name). وبعد إدخال المعلومات التي نريد، تظهر لنا النافذة الخاصة بالتعديلات الخاصة بالتشفير والموضّحة في الشكل الآتي: وهنا يمكننا التعديل عبر التعديلات الظاهرة أو عبر التعديلات المتقدمة (Advanced Settings)، إذا أردنا ضبط خيارات التشفير والتعمية الخاصة بقاعدة بياناتنا ولكن الخيارات الافتراضية الموصى بها جيدة، لذا فيمكننا تجاوز هذه الخطوة دون إجراء أيّ تعديل، والانتقال مباشرةً إلى الخطوة التالية. بعد النقر على زرّ "تابع" ستظهر لنا نافذة لإدخال معلومات التحقّق من قاعدة البيانات (Database Credentials)، وهنا سنُدخل المعلومات التي نودّ اعتمادها فنُدخل كلمة السرّ التي يجب أن تكون قويةً كافيةً، حتى نضمن حمايةً أكبر لبياناتنا المدخَلة، وتجدر الإشارة إلى أنّ وضع كلمة السر هنا قد يتم من قبلنا عبر الإدخال اليدوي لها، كما يمكننا اعتماد الإدخال الذي يختار فيه KeePass كلمة مرورّ قوية عشوائية من اختياره، وذلك عبر النقر على الأيقونة المتواجدة جانب أيقونة الإظهار -التي هي تظهر بالشكل الآتي تحت الرقم 01-، وهي مندرجة تحت الرقم 02 من الصورة الآتية. لكن بالنسبة لكلمة مرورّ قاعدة البيانات حصرًا، فيستحسن تحوّطًا عدم استعمال مولّد كلمات المرور التي يمنحها البرنامج، والعمل على وضع كلمة طويلة صعبة، تحوي أرقامًا ورموزًا، وكذا أحرفًا كبيرةً وصغيرة في الآن ذاته، تفاديًا لأي مشكلة محتملة مستقبلًا. ننتبه إلى أنّ كلمة المرور التي سنضعها هذه مهمة جدًا ويفضل حفظها وتذكرها أو الاستعانة بمكان آمن لحفظها، لأنّ نسيانها قد يمنعنا من الوصول إلى قاعدة بيانات كلماتنا المرور. لذا، انتبه إلى هذه النقطة جدًا. يمكن كما ذكرنا توليد كلمة مرور وذلك بالضغط على الأيقونة 02، فستظهر النافذة الآتية، والتي تحوي كلمة السرّ التي يختارها KeePass عشوائيًا، وهنا يمكننا التدخل باختيار الأشياء التي نريد للكلمة احتواءها من أرقام ورموز مثلًا. وكما نرى، فالأمور التي نريد للكلمة الاحتواء عليها ستظهر في هذه النسخة باللون الأخضر، بينما الأمور التي لم نخترها فستظهر باللون الرمادي -في نسخ أخرى لـ KeePass قد يكون الاختيار من عدمه في ظاهرًا في أيقونات التعيين جانب الخيار-، كما يمكننا تغيير الكلمة عبر أيقونة الإعادة، وكذا التحكم في طول الكلمة عبر اختيار طولها. في نسخ أخرى لـ KeePass قد يكون الاختيار من عدمه ظاهرًا في أيقونات التعيين جانب الخيار، وهو ما يُظهره الشكل الآتي: بعدما نُدخل كلمة المرور التي نريد (كلمة مولدة، أو من اختيارنا وكتابتنا نحن)، سنضغط على زرّ تطبيق كلمة المرور "Apply Password"، بعدها "تمّ"، وهنا قبل الضغط على زرّ تمّ. سواءً كتبنا كلمة مرور من اختيارنا أو ولدنا كلمة مرور عشوائية، فلابدّ من التأكد من حفظنا الجيد جدًّا لتلك الكلمة التي تمثل مفتاح الوصول إلى قاعدة البيانات، سواءً حفظها في ذهننا، أو على ورقة خارجية، مع ضرورة التأكد من الإثنين لاحقًا، إذ أنّ نسيانها سيعني عدم القدرة على فتح قاعدة البيانات بأيّ طريقة، إذ لا توجد خاصية استرجاع كلمات المرور المنسية كما هو الحال بباقي البرامج والمواقع، وهذا يُعَدّ أحد أسباب أمان البرنامج، لكنه سيعني أيضًا وقوعنا في مشكلة كبيرة في حال نسيان كلمة السر هذه، ولهذا فلابدّ من تخزين كلمة المرور بمكان آمن جدًّا خارج الحاسوب وخارج الهاتف أيضًا، كما يجب عند حفظه عدم ذكر تسمية إلام تعود هذه الكلمة، حتى لا يسهل الدخول إلى قاعدة بياناتنا في حال وقوع الورقة مثلًا بيد شخص يمكنه استعمال هاتفنا أو حاسوبنا الذي وضعنا عليه البرنامج أو التطبيق. بما أنّ إمكانية سرقة أحدهم لكلمة مرورّ قاعدة بيناتنا، أو اكتشافه لها بطريقة ما، هي أمر وارد، فقد جاءت فكرة زيادة التأمين على قاعدة البيانات، وللتأمين أكثر عليها في KeePass، يمكننا قبل حفظ معلومات القاعدة والضغط على زرّ تمّ، أن نختار ملف المفتاح (Key File) الذي علينا ربطه بقاعدة البيانات، مع اختيار الملف الذي نريد من الحاسوب- هذا في حال كنّا قد استخدمنا البرنامج من قبل-، أمّا في المرّة الأولى أو في أيّ مرّة أخرى نريد الربط بملف مفتاحي جديد، فعلينا إنشاء ملف مفتاح من خلال إدخال تسمية الملف وفقًا لما نريد ليُحفظ ويُربط مباشرةً مع البرنامج - بين الحاسوب والبرنامج-. والأمر هنا شبيه تمامًا بوضع قُفلٍ آخر على باب المنزل بالإضافة للقفل الاعتيادي، فيصبح للباب مفتاحان (شكل كلّ مفتاح مختلف عن الآخر)، ويتوجّب فتح الباب تطابق المفتاحان؛ أمّا الملف الثاني فهو مثل المفتاح الثاني للباب تمامًا، ويجب أن نولّده ونحفظه في مكان آخر آمن ليس بجانب قاعدة البيانات وإلا لن يكون له قيمة مثل وضع المفتاح بجانب الباب تمامًا، ليتمكن أيّ شخص من الوصول للباب (قاعدة البيانات) أخذ المفتاح الذي بجانبه وفتح أول قفل. وبعد حفظ ملف المفتاح تظهر لنا هذه الجزئية من النافذة الخاصة بـ بيانات قاعدة البيانات المعتمدة، والتي تعبّر عن إضافة ملفات المفتاح، يمكننا التعديل إن أردنا، أو فتح ملف مفتاح آخر حسب رغبتنا، كما يمكننا ببساطة تجاهل العملية بأكملها والضغط مباشرةً على رزّ "تمّ". نعود ونؤكد على أنّ هذه الجزئية هي فقط لزيادة التأمين، فإذا خشينا فقدان المفتاح المولّد، فلا داعي لإضافة هذا الخيار من التأمين والاعتماد على كلمة المرور فقط، وينصح بعد توليد المفتاح بنسخه على قرص أو ذاكرة خارجية، وحفظها بمكان آمن (فلا نضع معها قاعدة البيانات ولا كلمة المرور لأننا بذلك سنكون قد وضعنا كلّ البيض في سلة واحدة). بهذا نكون قد أنهينا خطوات فتحنا لقاعدة بيانات جديدة، والآن بعد فتحنا لها تظهر لنا النافذة الآتية: والآن لابدّ من البدء في إدخال البيانات الخاصة بنا والمتعلقة بالبريد الخاص بنا على سبيل المثال. ولهذا فسنضغط على الأيقونة رقم 10 حسب الترقيم المعتمد في شرح الواجهة، وفي البداية ستظهر لنا نافذة المدخلة فارغة وقابلة للتعديل وإضافة المعلومات تمامًا كما يوضِّح الشكل الآتي: وكما نلاحظ هنا، يمكننا إضافة الكثير من المعلومات حول الحساب الواحد الذي نريد حفظ معلوماته، فإذا أردنا مثلًا حفظ معلومات حسابنا على أكاديمية حسوب مثلًا، فببساطة سنضع في العنوان كلمة "academy hsoub" أو أيّ كلمة قريبة فقط من أجل تسهيل معرفتنا لمحتوى المُدخَلة، بعدها نضع اسم المستخدِم المسجل في الموقع، وهنا سنضع بريدًا عشوائيًّا على أساس مثال فقط، تليها كلمة السرّ، ويمكننا هنا وضع كلمة السر الخاصة بنا حاليًّا أو اختيار واحدة جديدة بأنفسنا أو عبر الاختيار العشوائي لـ KeePass كما سبق وشرحنا، كما يمكننا وضع تاريخ لنهاية صلاحة افتراضية لهذه الكلمة لينبّهنا البرنامج بضرورة تغييرها عندما يحين الوقت، وطبعًا هنا لن يحدث شيء لكلمة المرور التي نستخدمها حتى لو وصل أو مرّ الوقت الذي حددناه، فالأمر أشبه فقط بمنبه ولا يُغيّر من شيء فعلًا، لهذا فيمكننا التغيير عندما يذكرنا، كما يمكننا فقط تجاهل التنبيه، وإن كنا نرغب في عدم التغيير فلا نضع أيّ إشارة على الأيقونة الخاصة بنهاية الصلاحية تحت اسم "Expires". كما أن التغيير على مستوى KeePass وحده، لن يغيرها من الموقع، لذا يجب أولًا تغييرها على الموقع، ثم عكس التغيير هنا على قاعدة البيانات. وإن أردنا تسهيل ولوجنا ومعرفة الحساب الذي نريد استخدامه، يمكننا وضع رابط الموقع المسجَّل فيه ضمن خانة الرابط، كما يمكننا وضع ملاحظات إضافية في خانة الملاحظات بالأسفل، من خلال وضع أيّ أشياء قد تهمنا معرفتها عن حسابنا المسجل هذا، مثل: رقم الهاتف، واسم الحساب البنكي المربوط بهذا الموقع، أو غيرهما من الملاحظات التي قد نرغب في إضافتها لتساعدنا على الدخول السلس إلى حساباتنا. وبعد الانتهاء من كلّ هذا سنضغط على زرّ "حسنًا" لحفظ المدخلة. ومع وضع عِدّة مدخلات لاحقًا، ستظهر لنا قاعدة البيانات من الداخل كما يوضح الشكل الآتي، ويمكننا الدخول إلى المعلومات اللازمة المتعلقة بكلّ مدخلة فقط من خلال الضغط مرّة واحدة على المدخلة، أو بالضغط مرّتين للتعديل عليها. وفي كلّ مرة نحتاج لاستخدام البرنامج أو قاعدة البيانات بعد الخروج والدخول من وإلى البرنامج، فسنحتاج إلى إعادة إدخال المعلومات المتعلقة بقاعدة البيانات فقط، من خلال تذكُّر كلمة مرورها فقط، وبهذا نستطيع الدخول إلى مدخلاتنا الكثيرة ببساطة عبر حفظ كلمة مرور واحدة، وتوضّح الصورة الآتية ذلك. ولاستخدام كل مدخلة سيكفينا نسخها مباشرةً من خيار أيقونة المفتاح التي وضعناها تحت الرقم 14 في بداية مقالنا لشرح واجهة المستخدِم، والتي تشير إلى إمكانية نسخ كلمة المرور إلى الحافظة، حيث يكفينا فقط الضغط عليها لنسخ كلمة المرور لأي حساب، أو مدخلة جديدة. ربط KeePass بين الحاسوب و الهاتف لتعامل سهل وآمن كما سبق وأشرنا، يتيح KeePass خاصية الربط بين البرنامج المثبَّت على الحاسوب وتطبيق الهاتف، كما لا يستلزم أن يكونا من نفس النسخة، وهنا سنشرح طريقة ربط النسخة الموجَّهة للحاسوب KeePassXC، والنسخة الخاصة بالهواتف الجوالة، وسنشرح هنا نسخة KeePassDX، الموجهة لأنظمة التشغيل أندرويد حصرًا؛ أمّا بالنسبة لمن يستخدم نظام تشغيل آخر على هاتفه فيمكن الدخول إلى معلومات التنزيل بالموقع الرسمي لـ KeePass، واختيار النسخة المناسِبة له ولنظام تشغيل الهاتف. وبالنسبة لتنزيل النسخة التي سنتحدث عنها بهذا المقال، فسنحتاج أولًا لتنزيل KeePassDX من متجر جوجل بلاي (Google Play) على الهاتف، أو من خلال الولولج إلى الموقع الرسمي له والتوجه لخيار التنزيل، لكن لتسهيل عملية الربط وتفادي أيّ تعقيدات لاحقًا ننصحك بالتنزيل مباشرةً من متجر جوجل بلاي، لترابطه المباشر بالعملية المراد فعلها لاحقًا. وبهذا يكون لدينا KeePass بكلا الجهازين. بعد ذلك نعمل على الربط، وذلك باستخدام أيّ خدمة تخزين سحابية حسب ما يتناسب معنا ومع الأجهزة التي نستخدمها، ولتكن جوجل درايف مثلًا، حيث سنحمّله بنسخة الحاسوب، من خلال حسابنا على جيميل (gmail)، أو مباشرةً عبر الرابط الآتي: https://www.google.com/drive/download/. أمّا للتنزيل من خلال حسابنا على جيميل فنتبع هذه الخطوات الآتية: يتعيّن علينا أولًا فتح حسابنا على جيميل والدخول إليه؛ نضغط على زر الأيقونة التي تظهر لنا الخدمات التابعة لجوجل والتي ترتبط بحسابنا على جيميل، والمتواجدة بالشريط العلوي، والموضحة في الصورة التالية: بعدها نختار أيقونة درايف (Drive) بالضغط عليها تمامًا كما تظهر الصورة الآتية: بعد فتح درايف على حاسوبنا، نعود للتوجه إلى شريط القائمة العلوي، والضغط على أيقونة التعديلات، لنختار خيار "تنزيل تطبيق درايف لجهاز الكمبيوتر سطح المكتب"، أو كما تظهر لدينا نحن مستخدمي ويندوز "الحصول على تطبيق الاحتفاظ بنسخة احتياطية والمزامنة لنظام التشغيل Windows" كما تُظهر الصورة الآتية: بعدها نثبته لتظهر لنا أيقونة على سطح المكتب مباشرةً، كما يلي: حينها ننقل الملف الخاص بقاعدة البيانات الذي حفظناه سابقًا في الملفات الخاصة بالحاسوب، إلى هذا الملف الخاص بـجوجل درايف. بعدها نفتح التطبيق -الذي حمّلناه سابقًا- من الهاتف المحمول، لتظهر لنا الواجهة، والتي تحوي بالأسفل على شريطين، ينقلنا العلوي منها إلى قواعد البيانات الخاصة بنا وملفّاتنا، وعند الضغط عليه نجد مباشرةً الملفات المرفوعة على جوجل درايف، ومن بينها قاعدة البيانات التي نسخناها سلفًا بملف درايف على الحاسوب. قد يستغرب البعض هذا الربط المباشر والسهل، ولكن الأمر ليس مخيفًا البتة، فكلّ ما بالأمر أنّ كلًّا من (جوجل درايف، ومتجر جوجل بلاي، والبريد الإلكتروني) كلها مترابطة ومتزامنة وتعود جميعها لنفس حسابنا على جوجل، وبالتالي فبرفع أيّ ملف على جوجل درايف، فسيجعلنا هذا قادرين على إيجاده من أيّ جهاز أو نظام، ولهذا وجدنا هنا ملف قاعدة البيانات فور فتحنا للتطبيق وتوجهنا إلى ملفّات درايف. وبهذا نكون قد تأكدنا من تواجد الملفات التي نريدها أن تكون بالهاتف، انطلاقًا من حاسوبنا، ولإتمام العملية والتأكد من سلامة الربط، يمكننا تجريب العملية المعاكسة، بفتح قاعدة بيانات من الهاتف، والتأكد من ارتباطها بالحاسوب، وهنا نعود إلى واجهة التطبيق الأولى، ونضغط على الشريط السفلي أسفل السابق، والذي يخوّل لنا إمكانية فتح قاعدة بيانات جديدة، وهنا نتّبع نفس الخطوات التي اتّبعناها عند فتحنا لقاعدة بيانات من الحاسوب، وهنا سنجد حتمًا الملف على الحاسوب أيضًا، بعد إنهائنا لحفظه من الهاتف، وهذا يعني نجاح الارتباط من الجهتين. أمّا في حالة عدم إيجاد ملف قاعدة البيانات بأحد الطرفين، فهذا سيعني حتمًا وجود خطأ ما، وهنا ننصح بالتأكد من سلامة الخطوات فقط، والتأكد من فتحنا لنفس حساب الجيميل من كلا الطرفين، فالخطأ الذي قد يقع فيه الكثير منا هو عدم الانتباه على الحساب المستعمل عند امتلاك أكثر من حساب جيميل. تًعَدّ عملية الربط بسيطة وسهلة جدًّا فكلّ ما في الأمر هو تنزيل درايف سطح المكتب على حاسوبنا الخاص، ليربط كل شيء بسهولة نصائح مهمة لاستخدام أفضل لـ KeePass لضمان استخدام أفضل لـ KeePass ننصح باختيار كلمات سرّ جدّ قوية وحفظها جيّدًا، مع كتابتها في ورقة خارجية تُحفظ في مكان آمن جدًّا لا يُمكن نسيانه ويكون أقلّ عرضةً للتلف؛ كما ننصح بالحرص قدر الإمكان على اعتماد قاعدة بيانات واحدة، فلو كان لديك مثلًا 3 من البريد الإلكتروني، أحدها شخصي، وآخر للعمل، والثالث للدراسة، يمكنك ببساطة فتح قاعدة بيانات واحدة ونضع بها مدخلات الحسابات الثلاثة التي نملكها، يمكن إنشاء مجموعات وتصنيفات نضع فيها المدخلات، تكون إحداها مثلًا، لحسابات وسائل التواصل الاجتماعي والمجموعة الأخرى للمواقع المسجَّل بها ومجموعة لحساباتك على المنتديات مثلًا، وهكذا، حسب ما تحتاج إليه، وما تراه مناسبًا أكثر. تفاديًا لاحتمالية سرقة بياناتنا أثناء تركنا المؤقَّت لحاسوبنا، أو هاتفنا مفتوحًا أمام الغير أو في حال قرصنة لحاسوبنا، فيُنصح بتغيير إعدادات KeePass، وإعلامه بغلق القاعدة فورًا بعد مرور مدة زمنية معيّنة، مثل اختيار 10 ثواني مثلًا، وذلك من خلال التوجه إلى أيقونة الإعدادات، بعدها نختار الأمان، يمين الواجهة، لنتجه إلى خيارات مهلة نفاذ الوقت، ثم نختار الوقت الذي يناسبنا في كلّ إعداد كما يتضح في الصورة الآتية: عند إنشاء كلمات المرور، ننصح باتباع التّدابير التّالية لإنشاء كلمة مرور قويّة: استخدام 20 محرفًا على الأقلّ مع تفضيل استخدام عدد أكبر؛ استخدام حالات الأحرف الكبيرة والصغيرة؛ استخدام أرقامًا ضمن كلمة المرور؛ استخدام محارف، أو رموز خاصّة، مثل: علامة الاستفهام، أو التعجّب؛ تفادي استخدام أسماء أو كلمات يسهل ربطها بك، مثل ما يأتي: اسم الزّوج أو الزّوجة أو الأطفال؛ اسم حيوانك الأليف؛ اسم شركتك أو المؤسّسة التي تعمل بها؛ اسم فريقك المفضّل أو العلامة التّجاريّة المفضّلة؛ العام الذي ولدت فيه؛ تاريخ ميلادك. تُعَدّ جميع العناصر السّابق ذكرها معلومات شخصيّة، لهذا يوجد خطر متزايد للتّعرض للاختراق عبر استخدام أساليب الهندسة الاجتماعيّة، و لذلك تجنّب استخدامها على الدّوام. خاتمة بهذا نكون قد تطرقنا، لأبرز الأمور التي قد نحتاجها للتعامل بـ KeePass، بدءً من تحمليه، وتثبيته، وفتح قاعدة بيانات عليه، وحفظ معلوماتنا المختلفة، إلى غاية كيفية الربط بين هذا البرنامج المثبّت على الحاسوب، مع ذلك التطبيق المثبّت على الهاتف، وذلك لضمان استخدام أمثل لـ KeePass. وبعد معرفة كل هذه المعلومات واعتماد النصائح المذكورة أعلاه، فقد بات بإمكانك حفظ معلومات الدخول إلى الكثير والكثير من المواقع والبرامج، باستخدام كلمة مرور واحدة، وبدرجة حماية وأمان أكبر بكثير من تلك التي كنت تعتمد عليها سابقًا، دون قلق دائم عما إذا كنت ستفقد تلك المعلومات اقرأ أيضًا كلمات المرور: كيفية حفظها واستعمالها في العالم الرقمي تأمين الأشياء الأساسية المحيطة بك في العالم الرقمي النسخة الكاملة لكتاب دليل الأمان الرقمي
-
- تأمين
- كلمات المرور
-
(و 1 أكثر)
موسوم في:
-
نشر مختلف مكونات تطبيقك على عدِّة عقد (nodes) هو طريقةٌ شائعةٌ لتخفيف الحِمل (load) والبدء في التوسع أفقيًا (scaling horizontally)؛ مثالٌ اعتياديٌ عن ذلك هو ضبط قاعدة بيانات على خادوم منفصل عن تطبيقك؛ وعلى الرغم من العدد الكبير من المحاسن الناتجة عن هذا الإعداد، لكن الاتصال عبر الشبكة ينضوي على مخاطر أمنية. سنشرح في هذا الدرس كيف نعد جدار ناري بسيط على كل خادوم من خواديمك عند استخدامك للضبط الموزَّع (distributed setup)؛ سنضبط السياسة لكي تسمح بمرور البيانات بين المكونات (components)، وتمنع في الوقت ذاته مرور أيّة بيانات أخرى. سنستخدم في هذا الدليل خادومَي أوبنتو 14.04؛ واحدٌ سيحتوي على نسخة من وردبريس مُخدَّمة بوساطة nginx، والآخر يستضيف قاعدة بيانات MySQL للتطبيق. وعلى الرغم من أننا سنستخدم هذا الإعداد كمثال، لكنك تستطيع تعديل التقنيات التي سنستخدمها لكي تلائم متطلبات خادومك. المتطلبات المسبقةللبدء، عليك أن تحصل على خادومَي Ubuntu؛ وتضيف مستخدمًا عاديًا بامتيازات الجذر عبر الأمر sudo على كلي الخادومَين؛ يمكنك اتباع درس الضبط المبدئي لخادوم أوبنتو 14.04 لكي تتعلم كيف تفعل ذلك بشكلٍ صحيح. ضبط جدار ناري بسيطسنبدأ بضبط أساسي للجدار الناري على كل خادوم من خواديمنا. السياسة التي سنتبعها تأخذ منحى «الأمان أولًا»، أي أننا سنمنع كل شيء عدا بيانات التراسل التابعة لخدمة SSH ثم سنفتح «فجوات» في الجدار الناري خاصة بتطبيقنا. يوفر الجدار الناري المضبوط في هذا الدرس إعدادًا أساسيًا لما سنحتاج؛ ثبِّت الحزمة iptables-persistent ثم الصق القواعد الأساسية في ملف /etc/iptables/rules.v4: sudo apt-get update sudo apt-get install iptables-persistent sudo nano /etc/iptables/rules.v4محتويات الملف: etc/iptables/rules.v4/ *filter # Allow all outgoing, but drop incoming and forwarding packets by default :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] # Custom per-protocol chains :UDP - [0:0] :TCP - [0:0] :ICMP - [0:0] # Acceptable UDP traffic # Acceptable TCP traffic -A TCP -p tcp --dport 22 -j ACCEPT # Acceptable ICMP traffic # Boilerplate acceptance policy -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -A INPUT -i lo -j ACCEPT # Drop invalid packets -A INPUT -m conntrack --ctstate INVALID -j DROP # Pass traffic to protocol-specific chains ## Only allow new connections (established and related should already be handled) ## For TCP, additionally only allow new SYN packets since that is the only valid ## method for establishing a new TCP connection -A INPUT -p udp -m conntrack --ctstate NEW -j UDP -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP -A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP # Reject anything that's fallen through to this point ## Try to be protocol-specific w/ rejection message -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable -A INPUT -p tcp -j REJECT --reject-with tcp-reset -A INPUT -j REJECT --reject-with icmp-proto-unreachable # Commit the changes COMMIT *raw :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT *security :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMITإذا كنتَ تجري هذه التعديلات على «بيئة حيّة» فلا تعيد تحميل قواعد الجدار الناري! تحميل القواعد الأساسية المذكورة هنا سيؤدي مباشرةً إلى قطع الاتصال بين تطبيقك وخادوم قواعد البيانات؛ سنحتاج إلى تعديل القواعد لكي تعكس احتياجاتنا لكي يعمل التطبيق قبل إعادة التحميل. معرفة المنافذ التي تستخدمها الخدمات التي تشغلهالكي نستطيع إضافة استثناءات للسماح بالاتصالات بين مختلف مكونات التطبيق، فسنحتاج إلى معرفة المنافذ الشبكية المُستخدَمة؛ يمكنك معرفة المنافذ الشبكية الصحيحة بتفحص ملفات الضبط، لكن طريقة اكتشاف المنافذ غير مرتبطة بالتطبيقات هي التحقق من الخدمات التي «تستمع» إلى الاتصالات على كل جهاز. يمكننا استخدام الأداة netstat لمعرفة ذلك؛ ولمّا كان تطبيقنا يتواصل عبر IPv4 فقط، فسنضيف الوسيط -4 لكنك تستطيع إزالته إذا كنت تستخدم IPv6 أيضًا؛ الوسائط الأخرى اللازمة لمعرفة الخدمات التي تعمل هي -plunt. على خادوم الويب، سنرى شيئًا شبيهًا بما يلي: sudo netstat -4pluntالناتج: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1058/sshd tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4187/nginx يُظهِر أول عمود عنوان IP والمنفذ للخدمة التي تستمع إليه (الموجود اسمها في آخر السطر)؛ عنوان 0.0.0.0 الخاص يعني أن الخدمة المعنية تستمع إلى جميع العناوين المتاحة (جميع البطاقات الشبكية). وعلى خادوم قواعد البيانات، يجب أن نشاهد شيئًا شبيهًا بما يلي: sudo netstat -4pluntالناتج: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1097/sshd tcp 0 0 192.0.2.30:3306 0.0.0.0:* LISTEN 3112/mysqldيمكنك قراءة الأعمدة السابقة بنفس الطريقة. يمثّل عنوان 192.0.2.30 في المثال السابق عنوان IP الخاص لخادوم قواعد البيانات؛ وعند إعداد التطبيق، لقد حصرنا استخدام MySQL إلى البطاقة الخاصة فقط لأسبابٍ أمنية. الحظ القيم التي ستجدها في هذه الخطوة، هذه هي التفاصيل الشبكية التي سنحتاج لها لكي نعدِّل ضبطنا للجدار الناري. في مثالنا التوضيحي، سنلاحظ أنه علينا التأكد من أن هذه المنافذ متاحة على خادوم الويب: المنفذ 80 على جميع العناوينالمنفذ 22 على جميع العناوين (وذلك موجودٌ في قواعد الجدار الناري)وعلينا التأكد من أن هذه المنافذ متاحةٌ على خادوم قواعد البيانات: المنفذ 3306 على العنوان 192.0.2.30 (أو البطاقة الشبكية المرتبطة معه)المنفذ 22 على جميع العناوين (وذلك موجودٌ في قواعد الجدار الناري)تعديل قواعد الجدار الناري لخادوم الويبلدينا الآن معلومات المنافذ التي نحتاج إليها لتعديل مجموعة قواعد الجدار الناري لخادوم الويب الخاص بنا؛ افتح ملف القواعد في محررك النصي بامتيازات الجذر (عبر sudo): sudo nano /etc/iptables/rules.v4سنحتاج إلى السماح بمرور بيانات التراسل الشبكي على المنفذ 80 في خادوم الويب؛ ولمّا كان الخادوم يستمع إلى الاتصالات على جميع العناوين المتوفرة، فإننا لن نقيّد القاعدة ببطاقة شبكية أو عنوان معيّن. سيستخدم زوار موقعنا بروتوكول TCP للاتصال؛ إطار العمل الذي أنشأناه لجدارنا الناري فيه سلسلة خاصة باسم TCP لوضع استثناءات لتطبيقات TCP؛ يمكننا إضافة المنفذ 80 إلى السلسلة، مباشرةً بعد الاستثناء الخاص بمنفذ SSH: /etc/iptables/rules.v4 *filter . . . # Acceptable TCP traffic -A TCP -p tcp --dport 22 -j ACCEPT -A TCP -p tcp --dport 80 -j ACCEPT . . .سيبدأ خادوم الويب اتصالًا مع خادوم قواعد البيانات؛ ليست الاتصالات الشبكية الخارجة من خادومنا مقيدةً في جدارنا الناري ويُسمَح للاتصالات الواردة المرتبطة مع اتصالات مُنشَأة مسبقًا، لذلك لن نحتاج إلى فتح أيّة منافذ إضافية في هذا الخادوم للسماح بهذا الاتصال. احفظ وأغلق الملف عندما تنتهي من تعديله، يجب أن يملك خادوم الويب الآن سياسة جدارٍ ناريٍ تسمح بمرور البيانات الشرعية وتحجب في الوقت نفسه أي شيءٍ آخر. اختبر ملف القواعد للكشف عن الأخطاء البنيوية (syntax errors): sudo iptables-restore -t < /etc/iptables/rules.v4إذا لم تظهر أيّة أخطاء، فأعد تحميل الجدار الناري لتطبيق مجموعة القواعد الجديدة: sudo service iptables-persistent reloadتعديل قواعد الجدار الناري لخادوم قواعد البياناتيجب علينا السماح بالوصول إلى المنفذ 3306 على عنوان IP الخاص بخادوم قواعد البيانات، الذي هو 192.0.2.30، يمكننا وضع قيود على الوصول لهذا العنوان تحديدًا، أو يمكننا وضع القيود للبيانات القادمة إلى البطاقة الشبكية المرتبطة مع هذا العنوان. لمعرفة البطاقة الشبكية المرتبطة مع هذا العنوان، فنفِّذ الأمر: ip -4 addr show scope globalالناتج: 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 inet 203.0.113.5/24 brd 104.236.113.255 scope global eth0 valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 inet 192.0.2.30/24 brd 192.0.2.255 scope global eth1 valid_lft forever preferred_lft foreverما سبق يظهر أنّ البطاقة eth1 هي البطاقة الشبكيّة المرتبطة مع ذاك العنوان. ومن ثم علينا أن نعدِّل قواعد الجدار الناري في خادوم قواعد البيانات. افتح ملف القواعد بامتيازات الجذر (عبر sudo) في خادوم قواعد البيانات: sudo nano /etc/iptables/rules.v4مرةً أخرى، سنضيف قاعدةً إلى سلسلة TCP لتشكيل استثناء للاتصال بين خادومَي الويب وقواعد البيانات. إذا أردت تقييد الوصول بناءً على العنوان، فيمكنك إضافة قاعدة مثل هذه: /etc/iptables/rules.v4 *filter . . . # Acceptable TCP traffic -A TCP -p tcp --dport 22 -j ACCEPT -A TCP -p tcp --dport 3306 -d 192.0.2.30 -j ACCEPT . . .إذا كنت تفضِّل أن تسمح بالاستثناء بناءً على البطاقة الشبكية التي تستضيف العنوان، فيمكنك إضافة قاعدة شبيهة بالقاعدة السابقة بدلًا منها: /etc/iptables/rules.v4 *filter . . . # Acceptable TCP traffic -A TCP -p tcp --dport 22 -j ACCEPT -A TCP -p tcp --dport 3306 -i eth1 -j ACCEPT . . .احفظ وأغلق الملف عندما تنتهي من تعديله. اختبر ملف القواعد للكشف عن الأخطاء البنيوية: sudo iptables-restore -t < /etc/iptables/rules.v4عندما تكون جاهزًا، فأعد تحميل قواعد الجدار الناري: sudo service iptables-persistent reloadيجب أن يكون كلا الخادومَين محميًا الآن دون تقييد تدفق البيانات بينهما. الخلاصةيجب أن يكون إعداد جدارٍ ناريٍ سليم جزءًا من خطة نشر التطبيق؛ وعلى الرغم من أننا شرحنا هذا الضبط مستخدمين خادومَين يشغِّلان Nginx وMySQL لكي تعمل نسخة من وردبريس، لكن التقنيات المشروحة في هذا الدرس قابلةٌ للتطبيق بغض النظر عن الخدمات المُشغَّلة. ترجمة -وبتصرف- للمقال: How To Set Up an Iptables Firewall to Protect Traffic Between your Servers لصاحبه: Justin Ellingwood.
-
هناك العديد من لغات قواعد البيانات SQL التي تعمل على أنظمة اللينكس واليونكس، ومن أشهر لغات قواعد البيانات العلائقية التي تعمل في بيئات الخوادم هما MySQL وMariaDB. ومع ذلك، مثل أغلب البرامج، هذه الأدوات يمكن أن تكون الاحتياجات الأمنية إذا تم تكوينها بشكل غير صحيح، هذا الشرح التعليمي سوف يرشدك لبعض الخطوات الأساسية التي يمكن اتخاذها لتأمين قاعدة البيانات الخاصة بك سواء MariaDB أو MySQL، والتأكد من أنها ليست بابًا مفتوحًا إلى VPS الخاص بك. من أجل البساطة والوضوح، سوف نستخدم MySQL على خادوم Ubuntu كمثال، ومع أن هذه التقنيات يمكن تطبيقها على توزيعات لينكس الأخرى، ويمكن استخدامها مع MariaDB كذلك. الإعداد الأوليMySQL يمنحك فرصة لاتخاذ الخطوة الأولى نحو تحقيق الأمن أثناء التثبيت، وسوف نطلب منكم وضع كلمة سر root (الجذر). $ sudo apt-get install mysql-server Configuring mysql-server-5.5 While not mandatory, it is highly recommended that you set a password for the MySQL administrative "root" user. If this field is left blank, the password will not be changed. New password for the MySQL "root" user:يمكنك دائما تعيين كلمة سر root في وقت لاحق، ولكن ليس هناك سبب لتخطي هذه الخطوة، لذلك يجب تأمين حساب المسؤول الخاص بك من البداية. بمجرد اكتمال التثبيت، يجب علينا تشغيل عدد قليل من النصوص المدرجة. أولاً، سوف نستخدم "mysql_install_db" وهو سكريبت نصي لإنشاء تصميم قواعد البيانات الخاصة بنا. $ sudo mysql_install_dbبعد ذلك، قم بتشغيل السكريبت الذي يسمى "mysql_secure_installation"، وسيرشدنا لبعض الإجراءات التي من شأنها إزالة بعض الافتراضات التي تشكل خطرا على استخدامها في بيئة الإنتاج. $ sudo mysql_secure_installationأولاً سوف يطلب منك إدخال كلمة السر الجذر وستقوم بإدخالها أثناء التثبيت، وبعد ذلك مباشرة ، سوف يطلب منك سلسلة من الأسئلة، بدءا من إذا كنت ترغب في تغيير كلمة سر الجذر. هذه هي فرصة أخرى لتغيير كلمة المرور الخاصة بك إلى أي شيء آمن إذا لم تكن قد فعلت ذلك بالفعل. يجب أن تكون الإجابة "Y" (نعم) لجميع الأسئلة المتبقية. سيؤدي ذلك إلى إزالة قدرة أي شخص لتسجيل الدخول إلى MySQL افتراضيا، وتعطيل تسجيل الدخول عن بعد على حساب المسؤول، وإزالة بعض قواعد بيانات الاختبار غير الآمنة، وتحديث قاعدة البيانات التي تعمل حاليا لاعتماد هذه التغيرات. اعتبارات أمنيةالقاعدة البسيطة لزيادة حماية MySQL (ومعظم الأنظمة الأخرى) هو إعطاء صلاحيات النفاذ فقط عند الضرورة. أحيانا لكي تكون بياناتك آمنة يجب أن توزان بين الراحة والأمان. في هذا الدليل، سوف نميل إلى الجانب الأمني، لذا فإن استخدامك الخاص لقاعدة البيانات يمكن أن يدفعك لإنتقاء أحد هذه الخيارات. زيادة الأمن من خلال ملف My.cnfملف الإعدادت الرئيسية في MySQL هو ملف يسمى "my.cnf" الموجود في "/etc/mysql/" هذا الامتداد على أوبونتو وامتداد "/etc/" على بعض الخواديم الأخرى. سوف نقوم بتغيير بعض الإعدادات في هذا الملف لتأمين MySQL الخاصة بنا. فتح الملف مع صلاحيات الجذر، تغيير مسار الامتداد حسب الحاجة إذا كنت تتبع هذا الشرح التعليمي على نظام مختلف: $ sudo nano /etc/mysql/my.cnfالإعداد الأولي التي يجب علينا أن نتحقق منه "وضع عنوان IP" ضمن قسم "[mysqld]". ويجب تعيين هذا الإعداد على جهاز الشبكة المحلي loopback ، وهو "127.0.0.1". $ bind-address = 127.0.0.1هذا يجعل من أن MySQL لا تقبل الاتصالات من أي مكان باستثناء الجهاز المحلي. إذا كنت بحاجة للوصول إلى قاعدة البيانات من جهاز آخر، خذ بالاعتبار الاتصال عن طريق SSH للقيام بالاستعلام وادارة قاعدة البيانات الخاصة بك محليا وإرسال النتائج من خلال قناة SSH. الفجوة التالية التي سوف نعدلها، هي وظيفة تتيح لك الوصول إلى نظام الملفات من داخل MySQL، يمكن أن يكون لها تداعيات أمنية خطيرة ويجب ايقافها إلا إذا كنت في حاجة شديدة لها. في نفس المقطع من الملف، سوف نقوم بإضافة التوجيه لتعطيل هذه القدرة على تحميل الملفات المحلية: local-infile=0إذا كان لدينا مساحة كافية ولا تعمل على قاعدة بيانات ضخمة، فإنه يمكن أن يكون مفيدا لتسجيل معلومات إضافية لمراقبة أي نشاط مثير للشبهة. تسجيل معلومات أكثر من اللازم يضعف الأداء، لذلك قم بوزن أي شيء تحتاجه بعناية. يمكنك وضع تسجيل الأحداث المتغيرة داخل القسم نفسه "[mysqld]" التي قمنا بالإضافة فيها: log=/var/log/mysql-logfileتأكد من أن سجل MySQL يعمل، سجل الأخطاء، وسجل MySQL ليس سهل القراءة: $ sudo ls -l /var/log/mysql* -rw-r----- 1 mysql adm 0 Jul 23 18:06 /var/log/mysql.err -rw-r----- 1 mysql adm 0 Jul 23 18:06 /var/log/mysql.log /var/log/mysql: total 28 -rw-rw---- 1 mysql adm 20694 Jul 23 19:17 error.logتأمين MySQL من الداخلهناك عدد من الخطوات التي يمكنك اتخاذها أثناء استخدام MySQL لتحسين الوضع الأمني. سوف نقوم بإدخال الأوامر في هذا القسم في بداخل واجهة MySQL ، لذلك نحن بحاجة إلى تسجيل الدخول. $ mysql -u root -pسيطلب منك إدخال كلمة سر الجذر التي قمت بإعدادها في وقت سابق. تأمين كلمات السر والمستخدمين المرتبطينأولاً، تأكد من وجود مستخدمين بدون كلمة مرور أو المضيف المرتبط في MySQL: SELECT User,Host,Password FROM mysql.user; +------------------+-----------+-------------------------------------------+ | user | host | password | +------------------+-----------+-------------------------------------------+ | root | localhost | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | | demo-user | % | | | root | 127.0.0.1 | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | | root | ::1 | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | | debian-sys-maint | localhost | *ECE81E38F064E50419F3074004A8352B6A683390 | +------------------+-----------+-------------------------------------------+ 5 rows in set (0.00 sec)كما ترون في مثالنا هذا "المستخدم التجريبي " ليس لديه كلمة مرور، وهو ساري المفعول بغض النظر عن ما هو عليه في المضيف، ويعتبر هذا آمن جدا. يمكننا وضع كلمة سر للمستخدم مع هذا الأمر Change "كلمة المرور الجديدة" أدخل كلمة المرور التي ترغب بها. UPDATE mysql.user SET Password=PASSWORD('newPassWord') WHERE User=""demo-user";إذاً علينا التحقق من جدول المستخدم مرة أخرى، وسوف نرى أن المستخدم التجريبي لديه الآن كلمة سر: SELECT User,Host,Password FROM mysql.user;+------------------+-----------+-------------------------------------------+ | user | host | password | +------------------+-----------+-------------------------------------------+ | root | localhost | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | | demo-user | % | *D8DECEC305209EEFEC43008E1D420E1AA06B19E0 | | root | 127.0.0.1 | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | | root | ::1 | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | | debian-sys-maint | localhost | *ECE81E38F064E50419F3074004A8352B6A683390 | +------------------+-----------+-------------------------------------------+ 5 rows in set (0.00 sec)إذا ما نظرت هذا الحقل"host"، سترى أن لا يزال لدينا "٪"، هي عبارة عن بطاقة بديلة وهذا يعني أي مضيف. وليس هذا ما نريده، دعونا نغيرها إلى " localhost". UPDATE mysql.user SET Host='localhost' WHERE User="demo-user";إذا تحققنا مرة أخرى، يمكننا أن نرى أن جدول المستخدم لديه الآن الحقول المناسبة. SELECT User,Host,Password FROM mysql.user;إذا كان لدينا جدول يحتوي على مستخدمين فارغين (لا يجب في هذه المرحلة أن يكونوا "mysql_secure_installation", سنغطي هذه الناحية بأي حال من الأحوال لاحقا)، وينبغي علينا إزالتهم. للقيام بذلك، يمكننا استخدام الأمور التالي لحذف المستخدمين الفارغين من جدول الوصول: DELETE FROM mysql.user WHERE User="";بعد أن يتم تعديل جدول المستخدم، نحن بحاجة إلى إدخال الأمر التالي لتنفيذ صلاحيات جديدة: FLUSH PRIVILEGES;إنشاء مستخدمين محددين لتطبيقات معينة طريقة تشغيل العمليات داخل لينكس تكون معزولة لكل مستخدم على حدى، وتستخدم قاعدة بيانات MySQL نفس طريقة العزل. كل تطبيق يستخدم MySQL يجب أن يمتلك مستخدم خاص به ولديه صلاحيات محدودة ويستطيع الوصول إلى قواعد البيانات التي يحتاج لتشغيلها فقط. عندما نقوم بإعداد تطبيق جديد لاستخدام MySQL، يجب أن ننشئ قواعد البيانات التي يحتاجها هذا التطبيق: create database testDB; Query OK, 1 row affected (0.00 sec)بعد ذلك، يجب علينا إنشاء مستخدم لإدارة قاعدة البيانات، ومنحه الصلاحيات التي يحتاجها فقط، وهذه تختلف من تطبيق لآخر، وبعض الاستخدامات تحتاج لصلاحيات مفتوحة أكثر من غيرها. لإنشاء مستخدم جديد، استخدم الأمر التالي: CREATE USER 'demo-user'@'localhost' IDENTIFIED BY 'password';يمكننا منح المستخدم الجديد صلاحيات على الجدول الجديد بالأمر التالي. انظر الشرح التعليمي حول كيفية إنشاء مستخدم ومنح صلاحيات جديدة في MySQL لمعرفة المزيد عن الصلاحيات المحددة: GRANT SELECT,UPDATE,DELETE ON testDB.* TO 'demo-user'@'localhost';وكمثال على ذلك، إذا كنا بحاجة إلى وقت لاحق لإلغاء الصلاحيات من الحساب، يمكن أن نستخدم الأمر التالي: REVOKE UPDATE ON testDB.* FROM 'demo-user'@'localhost';إذا كنا بحاجة إلى كافة الصلاحيات على قاعدة بيانات معينة، يمكننا تحديد ذلك بما يلي: GRANT ALL ON testDB.* TO 'demo-user'@'localhost';لإظهار الصلاحيات الحالية للمستخدم، علينا أولا أن ننفذ الصلاحيات حددناه باستخدام أمر "flush privileges"، ثم بعد ذلك يمكننا الاستعلام عن الصلاحيات التي بحوزة المستخدم. FLUSH PRIVILEGES; show grants for 'demo-user'@'localhost'; Grants for demo-user@localhost GRANT USAGE ON *.* TO 'demo-user'@'localhost' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' GRANT SELECT, UPDATE, DELETE ON `testDB`.* TO 'demo-user'@'localhost' 2 rows in set (0.00 sec)دائما امسح الصلاحيات عندما تنتهي من إجراء التغييرات. تغيير المستخدم الجذرخطوة إضافية واحدة وهي، ربما تريد تغيير اسم الجذر(root login name )، فإذا كان الهاكر يحاول أن يقوم بتسجيل الدخول باسم الروت في MySQL ، فسوف يحتاج إلى تنفيذ خطوة إضافية هي العثور على اسم المستخدم. تستطيع تغيير اسم المستخدم روت باستخدام الأمر التالي: rename user 'root'@'localhost' to 'newAdminUser'@'localhost';يمكننا أن نرى التغيير باستخدام نفس الاستعلام الذي استخدمناه لقاعدة بيانات المستخدم: select user,host,password from mysql.user;مرة أخرى، يجب علينا مسح الصلاحيات التغيرات التي حدثت: FLUSH PRIVILEGES;تذكر أنه سوف تسجل دخول إلى MySQL مثل اسم مستخدم تم إنشاؤه حديثا عندما ترغب في أداء المهام الإدارية: mysql -u newAdminUser -pبأي حال من الأحوال هذه قائمة شاملة من الاجراءات الأمنية لقواعد البيانات MySQL, MariaDB، وقد أصبح لديك مقدمة جيدة لأنواع القرارات التي ستتخذها عندما تريد تأمين قواعد البيانات الخاصة بك. يمكن الاطلاع على مزيد من المعلومات حول الإعدادت والأمن في قواعد بيانات المواقع MySQL وMariaDB إضافة الى صفحات المختصين، ويمكن للتطبيقات التي اخترت استخدامها أن تقدم المشورة الأمنية. ترجمة -وبتصرّف- للمقال: How To Secure MySQL and MariaDB Databases in a Linux VPS.