صناعه وحفظ اقوى كلمات السر باستخدام KeePassXC

بالنسبه للاستيثاق الثنائي 2FA عن طريق استخدام KeePassXC شرح هنا


بسم الله الرحمن الرحيم , السلام عليكم ورحمه الله وبركاته , تحيه طيبه اما بعد…

اليوم سنتحدث عن اداة يجب ان لا تفارق كل شخص لحفظ وصناعه كلمات السر.

KeePassXC هو عباره عن fork من KeePassX الذي توقف دعمه في ال2016, وهو متوافق مع قاعده بيانات KeePass Password Safe.

لن ندخل في التفاصيل العميقه واليكم طريقه التنصيب:

  • التوزيعات الديبيانيه:

البرنامج موجود على نسخ ديبيان Buster وكذلك يمكن تحميله واليكم الطريقه:

sudo apt install keepassxc

  • التوزيعات الفيدراويه:

sudo dnf install keepassxc

  • عن طريق الAppImage لجميع توزيعات جنو/لينكس:

– نقوم بتحميل نسخه الAppimage الخاص بKeePassXC من هنا (نذهب الىOfficial AppImage ونضغط عليه لنحمله) وكذلك نقوم بنفس الامر لتحميل SHA-256 digest و GPG signature او مثل ما موضح بالصوره:

– في نفس مكان تحميل النسخه مع الفتاح ولنفرض /Downloads فنذهب الى هناك ونفتح الTerminal:

للتحقق من GPG:

gpg --fetch-keys https://keepassxc.org/keepassxc_master_signing_key.asc

ثم:

gpg --verify KeePassXC-*.sig

سيظهر لك مخرج شبيه بهذا:

gpg: assuming signed data in 'KeePassXC-X.X.X-Win64-Portable.zip'
gpg: Signature made Thu 22 Oct 2020 01:57:33 CEST
gpg:                using RSA key C1E4CBA3AD78D3AFD894F9E0B7A66F03B59076A8
gpg: Good signature from "KeePassXC Release <release@keepassxc.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: BF5A 669F 2272 CF43 24C1  FDA8 CFB4 C216 6397 D0D2
     Subkey fingerprint: C1E4 CBA3 AD78 D3AF D894  F9E0 B7A6 6F03 B590 76A8

(يجب ان يظهر لك Good signature)

للتحقق من DIGEST:

shasum -a 256 -c KeePassXC-*-x86_64.AppImage.DIGEST

– وسيكون المخرج بهذا الشكل مع كلمه OK

KeePassXC-*-x86_64.AppImage: OK

– بعدها نكتب هذا الامر لجعل صيغه الappimage تعمل معنا في نفس مكان التحميل:

chmod a+x KeePassXC-2.3.4-x86_64.AppImage

– ونضغط عليه نقرتين وسيعمل معك.


الان انتهينا من طريقه التنصيب ولنذهب الى ما بعد التنصيب:

  • بعد فتح التطبيق , نختار Create new database (على اعتبار انك اول مره تستخدمه)

  • اختر اسم مناسب لمحفظتك

  • اذا قمت بزياده وقت فتح التشفير سيقوم بزياده الامن عندك لكن وقت اكثر (5 ثواني ليست مشكله)

  • هنا كيف تريد ان تقوم بفتح المحفظه؟ اذا اخترت Password هل تريدها مع كلمه سر تكتبها بنفسك؟ ام كلمه سر يقوم KeePassXC بتوليدها لك ثم تحفظها في مكان اخر؟
    او اذا اخترت Key File يمكن اضافه Key File سابق او القيام بتوليد Key File جديد (يستخدم مع كلمه السر Password ايضا).

Key File هو ان المحفظه ستقوم بعمل مفتاح خاص بها لا يمكن فتحها الا به ثم ان اردت احفظه في مكان اخر مثلا على فلاشه او هارد خارجي ومتى ما اردت فتح المحفظه تقوم بوضع الفلاشه الخاصه بك وتفتح المحفظه (يفضل ان لا يكون المكان الذي فيه المحفظه متصل بالانترنت على الاقل عند فتحها) عن طريق الضغط على Browse والذهاب الى مكان المفتاح وبعد فتح المحفظه ازل الفلاشه وارجع الانترنت واعمل بشكلك الطبيعي.

(هنالك USB Key مثل Nitrokey ولكن هذا اتركه لك تستكشفه)

  • نختار ما هو المكان المناسب لمحفظه كلمات السر (دون تغيير .kdbx)

  • بعد فتح المحفظه نذهب و نضغط على Root بالزر الايمن

  • نقوم بانشاء مجموعه جديده , ولنفرض مجموعه خاصه بالمواقع الخاصه بي شخصيا

  • كما نرى ننشىء اسم للمجموعه وكذلك وصف للمجموعه اذا احتجت الى ذلك, توجد كلمه Expires اذا اردت بان هذه المجموعه يتم انهائها بعد انتهائك من عمل معين فتستطيع ان تختار الوقت الذي ستنتهي به (بعد يوم شهر سنه …الخ) , Search هو عمليه اظهارها في نتيجه البحث داخل الKeePassXC نفسه, الAuto-Type في حال فعلت عمليه كتابه اسم المستخدم وكلمه السر بشكل تلقائي داخل المتصفح.

  • هنا تستطيع ان تختار اي ايقونه تحب ان تجعلها مع المجموعه

  • بعد انشائك للمجموعه , نضغط على ايقونه المجموعه ثم نضغط على الزر الموضح بالصوره لانشاء مدخل

  • هنا يعطيك اختيارات متعدده مثل Title هو وضع عنوان للمدخل , username اسم المستخدم اما الايميل او اسم فقط …الخ حسب الموقع كيف ستدخله , Password هو كلمه السر ولانشاء واحده نقوم بالضغط على المكعب الاسود على اليمين ثم تظهر لنا قائمه في كيفيه تفضيلاتك لانشاء كلمه السر مثلا الاحرف الانكليزيه بالشكل الكبير والصغير وكذلك الارقام والرموز مثل @!% وهناك رموز اخرى وهي Extended ASCII مثل £¥₩ (طبعا تستطيع ان تختار جميع هذه الرموز للتشفير او اختيار ما يناسبك) , Length هو طول كلمه السر بمقياس عدد خاناتها , Exclude look-alike characters يعني سيقوم بازاله الرموز/الاحرف المتشابهه , Pick characters from every group سيقوم باختيار الاحرف/الرموز من كل المجاميع التي اخترتها لانشاء كلمه السر (من احرف وارقام والخ). بعد اختيار كل هذا اضغط على Generate توليد ثم Apply لتطبيق الامر.

  • URL اذا اردت ان تضع الموقع الذي تود الدخول اليه. اذا اردت ان تجعل انتهاء زمني لكلمه السر او هذا المدخل فتستطيع كذلك مثل ما موضح بالصوره.

  • مثل ما موضح بالصوره هذه اهم ثلاثه خيارات ستستخدمها , وهي عمل نسخ لاسم المستخدم او كلمه السر او الموقع الذي ستقوم بالدخول اليه.

انتهى الشرح ويمكنك استخدام KeePassXC دون الحاجه الى الانترنت.


نقطه اضافيه لمن اراد وهي ان تجعل KeePassXC يعمل داخل المتصفح ويقوم بكتابه كلمات السر بشكل اوتماتيكي (ولكن اقل امنا) وهي عن طريق:

  • نذهب الى الاعدادت ونفعل مثل ما هو موضح بالصوره , ثم نقوم بعدها باضافه KeePassXC-Browser الخاصه بfirefox من هنا.

ملاحظه: هناك الكثير من الامور الاخرى التي يمكن القيام بها من خلال KeePassXC ولكن ليست ضروريه ومن يحتاج اكثر من الضروري فيمكنه ان يبحث عن ذلك بنفسه.


شرح خاص لمستخدمي توزيعه Qubes الامنيه:

  • نقوم بعمل كيوب مبني على هونكس محطه العمل (او ما يعجبك) . بالنسبه لي اخترت هونكس :

– اختار اي اسم او لون يعجبك لوصف هذا الكيوب
– نختار standalone qube based on a template وهذا الخيار يقوم بعمل هونكس مشتق من هونكس template ولكن على شكل منفصل عنه تماما ولا يرتبط به.
– template من اي توزيعه تريد ان تبني/تشتق هذا الكيوب الذي تود عمله
– من اين يأخذ اتصال النت وهنا اجعله none لاننا لا نريد انترنت يدخل لهذا الكيوب

  • بعدها نذهب الى Firewall rules من الQubes Managerونختار Limit outgoing internet connection

بعد هذا سيفصل الانترنت عن هذا الكيوب بشكل نهائي وهذا ما نحتاجه لحمايه كلمات السر. بعد الانتهاء من كل هذا وفتح محفظه كلمات سر خاصه بك اذن كيف ستنسخ كلمه السر او اسم المستخدم او الخ من المحفظه التي بداخل هذا الكيوب الى كيوب اخر في متصفح او برنامج اخر؟؟

قام مطوري كيوبز بعمل ازرار خاصه لنسخ الكلمات بشكل امن بين الالات الافتراضيه :

– مثلا قمت بعمل نسخ لكلمه سر او اسم المستخدم او الخ من على keepassxc بعد النسخ copy قم بالضغط على

Ctrl + Shift + c

– هنا ستنسخ الكلمه او الجمله الى Qubes Clipboard

– بعدها نذهب الى الاله الافتراضيه التي تود ان تضع اسم المستخدم او كلمه السر فيه فنضغط على الخانه التي تود ان تضع فيه النص المنسوخ ونضغط:

Ctrl + Shift + v

– هنا سينقل النص او كلمه السر الى الاله الافتراضيه وبعدها ستقوم بعمل لصق داخل الموقع او الخانه الفارغه اما:

Ctrl + v

او بالنقر على المكبس الايمن للفأره لديك ثم اختيار paste او لصق.

ملاحظه: اذا كنت ستستخدم 2FA في KeePassXC داخل اله افتراضيه تابعه لهونكس (فقط هونكس تفعل هذه الخطوه) وتكون على شكل offline (كما في المثال السابق) يجب ان تغلق الsdwdate لانها ستخرب وقت التوليد الخاص المفاتيح/الارقام (راجع هنا). لاصلاح الوقت فقط بعمل هذا الامر داخل الاله الافتراضيه:

sudo systemctl disable sdwdate && sudo systemctl disable bootclockrandomization

3 إعجابات

شكرا لك على الموضوع المهم فعلا هذا من أهم البرامج.
لكن كنت أتمنى أن تذكر خاصية تشفير الملف وخياراتها في ال database settings

إعجاب واحد (1)

تقصد الفرق بين argon2 و KDF …الخ ؟

إعجاب واحد (1)

ﻻ ما كنت أقصده هو خيارات تشفير ملف قاعدة البيانات مثل نوع الخوارزمية وباقي الأمور.

برنامج ممتاز, الغريب واجهت بعض المواقع ترفض كلمة السر تكون اكثر من 20 حرف