اذهب إلى المحتوى

لوحة المتصدرين

  1. Hassan Ibrahim

    Hassan Ibrahim

    الأعضاء


    • نقاط

      1

    • المساهمات

      3


  2. عبدالهادي الديوري

    • نقاط

      1

    • المساهمات

      368


  3. إبراهيم محمد

    إبراهيم محمد

    الأعضاء


    • نقاط

      1

    • المساهمات

      28


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 06/08/18 في كل الموقع

  1. SSH عبارة عن بروتوكول آمن يُستخدم كوسيلة أساسيّة للاتصال بخوادم لينكس عن بُعد. SSH تُقدّمُ واجهة نصّية بحيثُ تعطيك الصّلاحيّة لكتابة أي أوامر وتنفيذها مباشرة على الخادوم. بعد الاتصال، جميع الأوامر التي تكتبها على الطرفيّة محليّاً تُرسل إلى الخادوم عن بعد وتُنفّذ هناك. في هذا الدّليل السّريع، سنُغطّي بعضاً من أكثر وسائل الاتّصال بSSH شيوعاً لتحقيق أهدافك. هذا المقال يُمكن أن يُستعمل كمرجع سريعٍ كلّما احتجت إلى معرفة كيفية الاتصال بخادومك أوضبطه بطرق مختلفة. نظرة عامة على SSH أشهر وسيلة للاتّصال بخادوم لينكس عن بعد هي استعمال SSH .SSH اختصار ل Secure Shell أو شل آمن، حيث تُوفّر وسيلة آمنة لتنفيذ الأوامر، إضافة تعديلات وضبط الخدمات عن بُعد. عندما تتّصل عبر SSH، تقوم بتسجيل الدّخول باستخدام حساب موجود على الخادوم. كيف يعمل SSH عندما تتّصل عبر SSH، ستدخلُ إلى جلسة شل (shell session)، وهي واجهة نصّيّة تُمكّنك من التّفاعل مع خادومك. أثناء الجلسة جميع الأوامر التي تُنفّذها في الطرفيّة محليّاً تُرسل عبر نفق SSH أو SSH tunnel مُشفّر وتُنفّذ على الخادوم. اتصال SSH يُنفّذ باستخدام نموذج خادوم خاص بالعميل. هذا يعني أن إنشاء اتصال SSH يتطلّب تشغيل برمجيّة تسمى عفريت SSH على الخادوم. تستمع هذه البرمجيّة للاتصالات على منفذ شبكة معيّن، طلبات تسجيل الدّخول والاستيثاق authentication من هوية صاحب الاتصال وتقوم بتقديم البيئة المناسبة إذا قام المستخدم بتوفير المعلومات الصّحيحة. يجب على المُستخدم أن يمتلك على جهازه برمجية تسمى عميل SSH أو SSH client، البرمجية تعرف كيف تتواصل باستخدام بروتوكول SSH ويُمكن أن تُمنَح معلومات عن المُضيف البعيد (الخادوم) للاتّصال به،عن طريق اسم المستخدم ومعلومات يجب تمريرها للاتّصال بنجاح. يمكن للعميل أيضاً أن يحدّد تفاصيل معيّنة عن نوع الاتّصال المرغوب فيه. كيف يقوم SSH بتسجيل دخول المستخدمين العميل يصادق إمّا باستخدام كلمات المُرور ( أقلّ أماناً وغير منصوح بها) أو عن طريق مفاتيح SSH، التي تعتبر آمنة جدّاً. كلمات المرور تُشفَّرُ وتعتبر سهلة الفهم بالنّسبة للمُستخدمين الجُدد. لكنّ المُخترقين يستعملون برمجيّات خبيثة يُمكن لها أن تُكرّر محاولات الدّخول إلى حواسيب من يستخدمون كلمات المرور، ما قد يُؤدي إلى اختلال أمني. لهذا السّبب ننصح دائما بالاعتماد على استيثاق SSH المبدئي لمُعظم الإجراءات. مفاتيح SSH هي مجموعة من المفاتيح المُشفّرة يُمكن استعمالها للاستيثاق. كلّ مجموعة تحتوي على مفتاح عام وخاص. يُمكن نشر المفتاح العام بشكل حرّ، أما المفتاح الخاص فيجب الاحتفاظ به ولا يجب أن يُكشف لأحد. للاستيثاق باستخدام مفاتيح SSH، يجب على المستخدم أن يمتلك زوج مفتاح SSH على جهازه المحلي. وعلى الخادم البعيد المفتاح العام يجب أن ينسخ إلى ملفّ بداخل مجلّد منزل المُستخدم على ssh/authorized_keys./~ . هذا الملفّ يحتوي على قائمة من المفاتيح العامّة - واحد في كلّ سطر- مُخوّلٌ لها بالدّخول إلى الحساب. عندما يتّصل عميل بالمُضيف Host راغباً باستخدام استيثاق مفتاح SSH، سيُعلم الخادومَ عن أي مفتاح عام يستخدم. يتحقّق الخادوم بعد ذلك من ملفّ المفاتيح المُخوّل لها authorized_keys باحثاً عن المفتاح العام المُستخدم. ثم يولّد سلسلة نصّية عشوائيا ويُشفّر باستخدام المفتاح العام، هذا النّص المُشفّر يُمكن فك تشفيره فقط باستعمال المفتاح الخاصّ المُقترن. سيُرسل الخادوم هذه الرّسالة المُشفرة إلى العميل لاختبار إذا ما كان فعلا يمتلك المفتاح الخاصّ المُرتبط. عند استلام الرّسالة، سيقوم العميل بفك التّشفير باستخدام المفتاح الخاص ويجمع السّلسلة نصّية العشوائية مع هوية جلسة سابقة (session ID) . ويولّد بعد ذلك مزيج MD5 الخاص بالقيمة وينقلها مجدّدا إلى الخادوم. الخادوم يمتلك سابقا الرّسالة الأصليّة وهوية الجلسة، لذلك يُمكنه أن يُقارن مزيج MD5 المولّد من القيّم ويُحدّد بأن العميل يجب أن يمتلك المفتاح الخاص. الآن بما أنّك تعلم كيف يعمل SSH، يُمكننا البدء في الحديث عن بعض الأمثلة للتعرّف على الطّرق المُختلفة للعمل مع SSH. توليد مفاتيح SSH والعمل معها هذا القسم سيغطي كيف تولّد مفاتيح SSH على جهاز عميل ونشر المفتاح العام إلى الخوادم حيث يجب أن تُستخدم. هذا قسم جيّد للبدء به إذا لم يسبق لك أن ولّدت مفاتيح، ويجب عليك البدء به إذا أردت تأمين خادومك نظراً لزيادة الأمان التي تتيحه لنا في الاتصّالات المُستقبليّة. توليد زوج مفاتيح SSH توليد زوج مفاتيح SSH عام وخاص على جهازك المحلي هو أول خطوة نحو استيثاق مع خادوم عن بعد بدون كلمة مرور. إلا إذا كنت تملك سببا جيدا لعدم فعل ذلك، يجب عليك دائما الاتصال باستخدام مفاتيح SSH. يمكن استخدام مجموعة من خوارزميّات التشفير لتوليد مفاتيح SSH، مثل RSA، DSA، ECDSA. مفاتيح RSA مُفضلة بشكل عام وهي نوعية المفاتيح الافتراضية. لتوليد زوج مفاتيح RSA على جهازك المحلي، أكتب: $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/demo/.ssh/id_rsa): هذا المحث (prompt) يتيح لك اختيار مكان لتخزين مفتاح RSA الخاص. اضغط Enter للخيار الافتراضي، الذي سيُخزنها في مجلّد .ssh المخفي قي مجلد المنزل. ترك المسار الافتراضي سيتيح لعميل SSH إيجاد المفاتيح آلياً. Enter passphrase (empty for no passphrase): Enter same passphrase again: المحث التالي يتيح لك إدخال جملة مرور بطول اعتباطي لتأمين مفتاحك الخاص. افتراضياً يجب عليك إدخال جملة المرور هذه في كل مرّة تستعمل المفتاح الخاص، كإجراء أمني إضافي. يُمكنك أن تضغط Enter لترك الحقل فارغا إذا لم ترغب في إنشاء كلمة مرور. تذكّر فقط أن هذا سيخوّل أي شخص يملك قابلية التحكم بمفتاح SSH الخاص للدخول إلى الخادوم الخاص بك. إذا اخترت وضع كلمة مرور لن يظهر شيء على الشاشة أثناء الكتابة، وهذا من أجل الاحتياط الأمني. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 8c:e9:7c:fa:bf:c4:e5:9c:c9:b8:60:1f:fe:1c:d3:8a root@here The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | + | | o S . | | o . * + | | o + = O . | | + = = + | | ....Eo+ | +-----------------+ هذه العملية ولّدت زوج مفاتيح SSH من نوع RSA، وملفّات تحت المجلد المخفي .ssh في مجلد المنزل وهذه الملفّات هي: ssh/id_rsa./~: المفتاح الخاص. لا تنشر هذا الملفّ! ssh/id_rsa.pub./~: المفتاح العام المُرتبط. هذا الملفّ يمكن مشاركته بحرية. توليد زوج مفاتيح مع رقم أكبر من البتات Bits مفاتيح SSH تكون افتراضياً 2048 بت. هذا يعتبر جيّداً بشكل عام أمنياً، لكنّك تستطيع تحديد عدد أكبر لمزيد من الأمان. لفعل ذلك ضَمِّن معامل -b مع عدد البتات الذي تريد. معظم الخوادم تدعم 4096 بت على الأقل. المفاتيح الأطول يُمكن ألّا تُقبل لأغراض الحماية من DDOS: ssh-keygen -b 4096 إذا سبق لك أن أنشئت مفتاحاً، سيُطلب منك إذا ما كنت ترغب في الكتابة فوق المفتاح السّابق: Overwrite (y/n)? إذا اخترت نعم (y)، فإن المفتاح الجديد سيكتب فوق المفتاح السّابق ولن تستطيع استعمال المفتاح القديم بعدها للدّخول إلى الخادوم، لذلك كن حذرا أثناء تغيير المفتاح. حذف وتغيير جملة المرور على المفتاح الخاص إذا سبق لك وأن عيّنت جملة مرور للمفتاح الخاص ورغبت في تغييرها فالأمر بسيط، ويمكنك أن تقوم به بسهولة. ملاحظة: لتغيير أو حذف جملة المُرور، يجب عليك معرفة جملة المرور الأصليّة. إذا فقدت جملة المرور إلى المفتاح،فللأسف لا يوجد طريقة لإرجاعها وسيتوجّب عليك توليد زوج مفاتيح جديد. لتغيير أو حذف جملة المرور، فقط أكتب: ssh-keygen -p Enter file in which the key is (/root/.ssh/id_rsa): يُمكنك أن تُحدد مسار المفتاح الذي تحاول تعديله أو اضغط Enter لقبول القيمة الافتراضيّة: Enter old passphrase: أكتب جملة المرور القديمة المراد تغييرها. بعد ذلك ستُسأل لإدخال جملة مرور جديدة: Enter new passphrase (empty for no passphrase): Enter same passphrase again: هنا أكتب جملة المرور الجديدة أو اضغط Enter لحذفها. عرض بصمة مفتاح SSH ينشر كل زوج مفاتيح بصمة مُشفّرة يُمكن استعمالها لتعريف المفاتيح بشكل فريد. يُمكن أن يكون هذا جيّدا في كثير من الحالات. لإيجاد بصمة مفتاح SSH، اكتب: ssh-keygen -l Enter file in which the key is (/root/.ssh/id_rsa): إذا كان هذا هو مسار المفتاح الصحيح اضغط ENTER ، أو اكتب المسار الخاص إذا كان المسار مختلفاً، ستُرجع سلسلة نصيّة تحتوي على سعة المفتاح من البتات، البصمة، والحساب والمُضيف الذي أنشئت له، والخوارزمية المُستخدمة: 4096 8e:c4:82:47:87:c2:26:4b:68:ff:96:1a:39:62:9e:4e demo@test (RSA) نسخ مفتاح SSH العام إلى الخادوم مع SSH-Copy-ID لنسخ مفتاحك العام إلى الخادوم، بغرض الاستيثاق بدون كلمة مرور، سنتخذ بعض الإجراءات. إذا كنت حالياً تمتلك وصولا إلىSSH عن طريق كلمة مرور مضبوطاً على الخادوم، وتمتلك أداة ssh-copy-id مثبّتة، فهذه العمليّة بسيطة. أداة ssh-copy-id تأتي مضمّنة على حزم OpenSSH في كثير من توزيعات لينكس، لذلك فمن المُحتمل أن تكون لديك افتراضيا. إذا كنت تملك هذا الخيّار، يُمكنك بسهولة نقل مفتاحك العام باستعمال: ssh-copy-id username@remote_host سيُطلب منك إدخال كلمة مرور المُستخدم على الجهاز البعيد: The authenticity of host ‘111.111.11.111 (111.111.11.111)’ can’t be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed – if you are prompted now it is to install the new keys demo@111.111.11.111’s password: بعد كتابة كلمة المرور، مُحتوى مفتاح ssh/id_rsa.pub./~ سوف يُلحق إلى آخر ملف ssh/authorized_keys./~ الخاصّ بحساب المُستخدم: Number of key(s) added: 1 Now try logging into the machine, with: "ssh ‘demo@111.111.11.111’" and check to make sure that only the key(s) you wanted were added. يُمكنك الآن الدّخول إلى الحساب بدون كلمة مرور: ssh username@remote_host نسخ مفتاح SSH العام إلى خادوم بدون SSH-Copy-ID إذا لم تكن تملك أداة ssh-copy-id، لكنك لا زلت تملك وصولا إلى الخادوم البعيد بكلمة مرور، يُمكنك نسخ محتويات المفتاح العام بطريقة مختلفة. يُمكنك إرجاع مُحتويات المفتاح وتمريرها إلى أمر SSH، في الجهة البعيدة يُمكنك التأكد إذا ما كان مجلّد ssh./~ موجوداً، وبعد ذلك ألحق المحتوى المُمَرّر إلى ملفّ ssh/authorized_keys./~: cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" سيُطلب منك كتابة كلمة المرور للحساب البعيد: The authenticity of host ‘111.111.11.111 (111.111.11.111)’ can’t be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes demo@111.111.11.111’s password: بعد إدخال كلمة المرور، سيُنسخ مفتاحك، متيحاً لك الاتصال بدون كلمة مرور: ssh username@remote_IP_host نسخ مفتاح SSH العام إلى خادوم يدويا إذا لم تكن تملك وصولا عن طريق كلمة مرور، ستحتاج لإضافة مفتاحك العام إلى الخادوم البعيد يدويّاً. على جهازك المحليّ، يُمكنك إيجاد محتويات ملفّ مفتاحك العام بكتابة: cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== demo@test يُمكنك نسخ هذه القيمة، ولصقها يدويّاً في المكان المناسب على الخادوم البعيد. يجب عليك أن تتّصل بالخادوم بوسيلة مختلفة. على الخادوم البعيد، أنشئ مجلّد ssh./~ إذا لم يكن موجوداً من قبل: mkdir -p ~/.ssh بعد ذلك، يُمكنك إنشاء أو إلحاق ملفّ ssh/authorized_keys./~ بكتابة: echo سلسلة_المفتاح_العام >> ~/.ssh/authorized_keys يجب عليك الآن أن تتمكّن من الدّخول إلى الخادوم بدون كلمة مرور عبر أمر ssh: ssh username@remote_IP_host ترجمة -مع شيءٍ من التصرّف- للقسم الأول من مقال: SSH Essentials: Working with SSH Servers, Clients, and Keys.
    1 نقطة
  2. إذا كنت تستخدم Sublime Text قم بتحميل إضافة live reload و ايضا تحميل إضافة للمتصفح كروم Live Reload. , و الاسهل ان تستخدم Visual Studio Code و كل ما عليك فعله هو تحميل إضافة Live Server. ألحل الثالث هو استخدام Webpack و هو الافضل ولكن الاكثر تعقيدا
    1 نقطة
  3. أحيانًا تكون على شبكة غير آمنة أو لديها جدار ناري يملك قيودًا مُفرطة، وتحتاج الوصول إلى موقع على شبكة الإنترنت. تريد أن تتأكد أنه لا أحد في المنتصف يشاهد البيانات المارة. أحد الحلول هو استخدام VPN، ولكن يتطلب VPN برنامج عميل خاص على حاسوبك، وقد لا يكون لك صلاحيات اللازمة لتثبيته. إذا كان كل ما تريد تأمينه هو متصفح الويب الخاص بك، فهناك بديل بسيط: نفق وسيط SOCKS 5. وسيط SOCKS هو بالأساس نفق SSH حيث توّجه تطبيقات مُحدّدة دفق بياناتها خلال النفق إلى الخادوم، ثمّ على الخادوم، يقوم الوسيط (Proxy) بإعادة توجيه دفق البيانات إلى شبكة الإنترنت. على عكس VPN، يجب أن يتم ضبط وسيط SOCKS لكل تطبيق على حدة في حاسوب العميل، ولكن يُمكن إعداده بدون أي وكلاء عميل متخصصة. طالما لديك خادوم بوصول SSH، فيمكن استخدامه كوسيط SOCKS. سنستخدم خادوم أوبنتو 14.04 كالوسيط، ومتصفح فَيرفُكس كتطبيق العميل. وعندما ننتهي ينبغي أن تكون قادرًا على تصفح المواقع بشكلٍ آمن عبر النفق. المتطلبات كما ذُكر بالأعلى، أول شيء نحتاجه هو خادوم يعمل بأي توزيعة لينكس، مثل أوبنتو 14.04، بوصول SSH. أنشئ خادوما (هذا المثال يستخدم أوبنتو 14.04) مطلوب تثبيت بعض البرمجيات على حاسوبك المحلي. لهذا ستحتاج أن تُنزل برنامجًا أو اثنين. متصفح فَيرفُكس (للجميع) PuTTY (مستخدمي ويندوز) يُمَكننا فَيرفُكس من إعداد الوسيط لفَيرفُكس فقط بدلًا من إعداد الوسيط لكامل النظام. يُستخدم PuTTY لإعداد نفق الوسيط لمستخدمي ويندوز. لدى مستخدمي Mac OS X أو لينكس الأدوات اللازمة لإعداد النفق مُثبتة مسبقًا. الخطوة الأولى (Mac OS X/لينكس) - إعداد النفق أنشئ مفتاح SSH على حاسوبك المحلي. إذا كان لديك مفتاح SSH، فيمكنك استخدامه. على الرغم من أن تحديد كلمة مرور لمفتاح SSH هي عادة جيدة، سنترك كلمة المرور فارغة الآن لنتجنب مشاكل لاحقة. وأنت تَعُدّ المفتاح، تأكد أن تُضيفه للمفاتيح المخولة لمستخدم sudo على الخادوم (في هذا المثال، هذا هو المستخدم sammy). افتح برنامج الطرفية على حاسوبك. على Mac OS X، تجد الطرفية Terminal في Applications > Utilities. أنشئ النفق بهذا الأمر: $ ssh -D 8123 -f -C -q -N sammy@example.com شرح المعاملات D-: يُخبر SSH بأننا نريد نفق SOCKS على رقم المنفذ المُحدد (اختر رقم بين 1025-65536) f-: يضع العملية في الخلفية C-: يضغط البيانات قبل إرسالها q-: يستخدم الوضع الصامت N-: يُخبر SSH بأنه لا يوجد أي أمر سيُرسَل بمجرد فتح النفق تأكد من استبدال sammy@example.com بمستخدم sudo الخاص بك وعنوان IP أو اسم نطاق الخادوم. بمجرد أن تُدخل الأمر، ستعود إلى مِحث سطر الأوامر مرة أخرى بدون أي إشارة على النجاح أو الفشل؛ هذا طبيعي. تحقق من أن النفق يعمل بالأمر: $ ps aux | grep ssh ينبغي أن ترى سطرًا في المُخرجات مثل: sammy 14345 0.0 0.0 2462228 452 ?? Ss 6:43AM 0:00.00 ssh -D 8123 -f -C -q -N sammy@example.com يمكنك إغلاق تطبيق الطرفية وسيظل النفق يعمل. هذا لأننا استخدمنا الخيار f- الذي يضع جلسة SSH في الخلفية. ملاحظة: إذا أردت أن تُنهى النفق سيتوجب عليك معرفة PID الجلسة عبر ps واستخدام الأمر kill، وهذا ما سنُريك كيفية القيام به لاحقًا. الخطوة الأولى (ويندوز) - إعداد النفق افتح PuTTY. إذا لم تُثبته بعد، نزل PuTTY واحفظه بالمكان الذي تُحب. لا يحتاج PuTTY صلاحيات المُدير لتثبيته؛ حمل الملف التنفيذي exe. وشغلهُ فقط. أكمل الخطوات التالية لإعداد النفق: من قسم Session، أضف اسم مُضيف (أو عنوان IP) Host Name (or IP address) خادومك، ومنفذ Port SSH (عادة يكون المنفذ رقم 22) على الجانب الأيسر، انتقل إلى: Connection > SSH > Tunnels ادخل رقم أي منفذ مصدري source port بين 1025-65536. استخدمنا في هذا المثال المنفذ رقم 1337 اختر Dynamic اضغط Add ارجع إلى Session على الجانب الأيسر. اضف اسم اسفل Saved Sessions واضغط زر Save الآن اضغط Open لتفتح الاتصال ادخل اسم مُستخدم sudo وكلمة سر الخادوم للدخول. يمكنك تصغير نافذة PuTTY الآن، لكن لا تُغلقها. ينبغي أن يفتح اتصال SSH. تلميحة: يمكنك حفظ اسم مُستخدم sudo ومفتاح SSH للجلسة الحالية باتباع تعليمات مفتاح SSH الخاص ببرنامج PuTTY. وهكذا لن تَضطرّ إلى إدخال اسم المُستخدم وكلمة السر كل مرة تفتح الاتصال. الخطوة الثانية - ضبط متصفح فَيرفُكس Firefox ليستخدم النفق الآن بما أنه أصبح لدينا نفق SSH، فقد حان الوقت لضبط فَيرفُكس ليستخدم هذا النفق. تذكر لكي يعمل نفق SOCKS 5، يجب أن تستخدم تطبيق محلي يُمكنهُ استغلال النفق؛ فَيرفُكس يقوم بهذا. هذه الخطوة متشابهة لمُستخدمي ويندوز، Mac OS X ولينكس. تأكد أن لديك رقم المنفذ الذي استخدمته في أمر SSH أو في PuTTY. لقد استخدمنا 8123 في مثال OS X / لينكس و 1337 في مثال ويندوز حتى الآن، أو قد تكون استخدمت منفذًا مُختلفًا. نُفذَت الخطوات التالية على نُسخة فَيرفُكس 39 وينبغي أن تعمل على النُسخ الأخرى، على الرغم من احتمال اختلاف أماكن الخيارات. اضغط على أيقونة الهامبرجر في أعلى الركن الأيمن للوصول إلى قائمة فَيرفُكس: اضغط على أيقونة Preferences أو Options انتقل لقسم Advanced اضغط على تبويب Network اضغط على Settings أسفل العنوان Connection. ستفتح نافذة جديدة. اختر Manual proxy configuration: اكتب localhost أمام SOCKS HOST ادخل نفس رقم المنفذ Port من اتصال SSH الخاص بك؛ ترى في الصورة أننا أدخلنا 1337 ليُطابق تعليمات ويندوز. اضغط OK لحفظ وإغلاق ضبطك. الآن، افتح تبويبًا آخر في فَيرفُكس وتصفح الإنترنت. ينبغي أن يكون كل شيء جاهز للتصفح الآمن عبر نفق SSH الخاصة بك. اختياري: لتتأكد أنك تستخدم الوسيط، ارجع إلى إعدادات الشبكة Network في فَيرفُكس. أدخل رقم منفذ مُختلف. اضغط OK لحفظ الإعدادات. الآن إذا جربت تصفح الإنترنت، ينبغي أن ترى رسالة الخطأ The proxy server is refusing connections. هذا يؤكد أن فَيرفُكس يستخدم الوسيط وليس الاتصال الافتراضي. عُد إلى رقم المنفذ الصحيح، وينغي أن تكون قادر على التصفح مرة أخرى. العودة إلى التصفح العادي غير الآمن في فَيرفُكس عندما تنتهي حاجتك لخصوصية نفق SSH، ارجع إلى إعدادات وسيط الشبكة (Preferences > Advanced > Network > Settings) في فَيرفُكس. اختر Use system proxy settings واضغط OK. سيستخدم فَيرفُكس الآن إعدادات اتصالك العادي، ومن المرجح أن يكون غير آمن. إذا انتهيت من استخدام النفق يجب أن تُغلق النفق أيضًا، وهذا ما سنُغطيه في الخطوة التالية. إذا كنت تنوي استخدام النفق كثيرًا، فاتركه مفتوحًا للاستخدام لاحقًا، لكن لاحظ أنه قد يُغلق من تلقاء نفسه إذا بقي خاملًا (غير مُستخدم) لمدة طويلة، أو إذا سَكَن (sleep) حاسوبك. الخطوة الثالثة (Mac OS X/لينكس) - إغلاق النفق سيوقف إغلاق النفق قدرة فَيرفُكس على التصفح بالوسيط. أُرسل النفق الذي أنشأناه سابقًا على حاسوبنا المحلي إلى الخلفية، لذا لن يُنهيه إغلاق نافذة الطرفية التي استخدمناها لفتح النفق. لإنهاء النفق نحتاج أن نُحدد مُعَرف العملية (PID) باستخدام الأمر ps، ثم قتله باستخدام الأمر kill. فلنبحث عن كل عمليات ssh على حاسوبنا: $ ps aux | grep ssh جد السطر الذي يبدو كالأمر الذي أدخلته سابقًا لإنشاء النفق. هذا مثال على المخرجات: sammy 14345 0.0 0.0 2462228 452 ?? Ss 6:43AM 0:00.00 ssh -D 8123 -f -C -q -N sammy@example.com من بداية السطر، في واحد من العمودين الأولين، هناك رقم مكون من ثلاثة إلى خمسة أعداد. هذا هو رقم PID. وفي المخرجات السابقة هو الرقم 14345. بعد أن عرفنا رقم PID، يُمكننا استخدام الأمر kill لنُغلق النفق. استخدم رقم PID الخاص بك عندما تقتل العملية. $ sudo kill 14345 إذا أردت أتمتت عملية الاتصال، اذهب للخطوة الرابعة. الخطوة الثالثة (ويندوز) - إغلاق النفق سيوقف إغلاق النفق قدرة فَيرفُكس على التصفح بالوسيط. اغلق نافذة PuTTY التي استخدمتها لإنشاء النفق فقط. لا يوجد في ويندوز طريقة سهلة لأتمتة عملية الاتصال، لكن PuTTY وفَيرفُكس يمكنهما حفظ الإعدادات التي أدخلتها سابقًا، لذا افتح الاتصالات فقط مرة أخرى لتستخدم النفق مجددًا. الخطوة الرابعة (Mac OS X/لينكس) - إنشاء اختصارات للاستخدام المتكرر يمكننا إنشاء أمر بديل أو سكربت في أنظمة لينكس أو OS X لكي يُنشئ النفق سريعًا من اجلنا. سنعرض طريقتين لأتمتة عملية إنشاء النفق. ملاحظة: طريقتي الاختصار كلاهما تَتَطلبان مفتاح SSH بلا كلمة سر للوصول إلى الخادوم. 1. سكربت BASH قابل للنقر إذا أردت أيقونة لتضغط عليها مرتين فيبدأ النفق، يمكن أن نُنشئ سكربت BASH بسيط للقيام بهذه المهمة. سنجعل السكربت يقوم بإعداد النفق وتشغيل فَيرفُكس، على الرغم من أنك ستظل في حاجة إلى إضافة إعدادات الوسيط يدويًا بالمرة الأولى في فَيرفُكس. ملف فَيرفُكس الثُنائي على OS X الذي يمكننا تشغيله من سطر الأوامر هو داخل Firefox.app. بافتراض أن التطبيق في مُجلّد التطبيقات Applications، سنجد الملف الثُنائي في Applications/Firefox.app/Contents/MacOS/firefox/. على أنظمة لينكس، إذا ثبتّت فَيرفُكس عبر مستودع أو كان مُثبت مسبقًا، فينبغي أن تجده في usr/bin/firefox/. يمكنك دائمًا استخدام الأمر which firefox لمعرفة موقعه على نظامك. استبدل في السكربت الذي بالأسفل مسار فَيرفُكس بالمسار المناسب لنظامك. باستخدام مُحرر نصوص مثل nano أنشئ ملف جديد: $ nano ~/socks5.sh وأضف السطور التالية إليه: #!/bin/bash ssh -D 8123 -f -C -q -N sammy@example.com /Applications/Firefox.app/Contents/MacOS/firefox & استبدل 8123 برقم المنفذ الذي تريده، يجب أن يُطابق ما وضعته في فَيرفُكس استبدل sammy@example.com بمُستخدم SSH الخاص بك واسم المُضيف أو عنوان IP استبدل Applications/Firefox.app/Contents/MacOS/firefox/ بمسار ملف فَيرفُكس الثُنائي احفظ السكربت. تقوم بهذا في nano بالضغط على Ctrl-o، ثم اخرج بالضغط على Ctrl-x. اجعل السكربت قابلًا للتنفيذ، لكي يتم تنفيذه عندما تضغط عليه مرتين. ادخل هذا الأمر في سطر الأوامر لتُضيف صلاحيات التنفيذ، باستخدام مسار السكربت الخاص بك: $ chmod +x /path/to/socks5.sh قد تحتاج في OS X القيام بخطوات إضافية لتُخبر Mac OS X أن ملف بلاحقة .sh يجب أن يُنَفَذ كبرنامج وألا يتم فتحه في مُحرر. لتقوم بهذا، اضغط بزر الفأرة الأيمن على ملف socks5.sh واختر Get Info. جد القسم Open with: وإذا لم يُشر سهم الكشف إلى الأسفل، اضغط عليه لكي ترى القائمة المُندسلة. قد تجد Xcode مضبوطًا كالتطبيق الافتراضي. غيره إلى Terminal.app. إذا لم تجد Terminal.app بالقائمة، اختر Other، ثم انتقل إلى Applications > Utilities > Terminal.app. اضغط مرتين على ملف socks.sh لتفتح وسيط SOCKS الخاص بك الآن. ملاحظة: بعد التنفيذ، لن يطلب السكربت كلمة سر، ولذلك سيفشل بصمت إذا أعددت مفتاح SSH مُسبقًا ليطلب كلمة مرور. سوف يفتح السكربت نافذة الطرفية، يبدأ اتصال SSH ويُشغل فَيرفُكس. لا تخش من إغلاق نافذة الطرفية. يمكنك الآن أن تبدأ التصفح في اتصالك الآمن، طالما أنك تحتفظ بإعدادات الوسيط في فَيرفُكس. 2. إنشاء Alias إذا وجدت أنك تستخدم سطر الأوامر كثيرًا وتُريد تشغيل النفق، يمكنك إنشاء Alias ليقوم بالمهمة من أجلك. الجزء الأصعب في إنشاء Alias هو أين تحفظه. تحفظ توزيعات لينكس وإصدارات OS X المختلفة الـ aliases في أماكن مختلفة. أفضل طريقة هي البحث عن أحد الملفات التالية وتبحث بداخله عن الكلمة alias لترى أين تُحفظ الأوامر البديلة الأخرى حاليًا. ~/.bashrc ~/.bash_aliases ~/.bash_profile ~/.profile بمجرد إيجاد الملف الصحيح، أضف هذا السطر التّالي أسفل Aliases موجودة لديك، أو فقط بنهاية الملف. alias socks5=’ssh -D 8123 -f -C -q -N sammy@example.com && /Applications/Firefox.app/Contents/MacOS/firefox &’ استبدل 8123 برقم المنفذ الذي تريده، يجب أن يُطابق ما وضعته في فَيرفُكس استبدل sammy@example.com بمُستخدم SSH الخاص بك واسم المُضيف أو عنوان IP استبدل Applications/Firefox.app/Contents/MacOS/firefox/ بمسار ملف فَيرفُكس الثُنائي يتم تحميل الـ aliases فقط عندما تبدأ صدفة جديدة، لذا أغلق جلسة طرفيتك وابدأ واحدة جديدة. الآن عندما تكتب: $ socks5 هذا الأمر يقوم بإنشاء نفقك، ثم يُشغل فَيرفُكس ويُعيدك إلى مِحث الأوامر. تأكد أن فَيرفُكس مضبوط ليستخدم الوسيط (proxy). يمكنك الآن التصفح بشكلٍ آمن. الخطوة الخامسة (اختياري) - استكشاف الأخطاء وإصلاحها: المرور عبر الجدران النارية إذا كان اتصالك يعمل، فلا حاجة لك لقراءة هذا القسم. ومع ذلك، إذا اكتشفت أنه لا يمكنك إنشاء اتصال SSH بسبب جدار ناري تقييدي، فالمرجح أن المنفذ 22، وهو المطلوب لإنشاء النفق، محجوب. إذا كان بإمكانك التحكم في إعدادات خادوم وسيط SSH، يمكنك إعداد SSH للإنصات إلى منفذ آخر غير 22. ما المنفذ غير المحجوب الذي يمكنك استخدامه؟ بجانب الخطة المشكوك بها لفحص المنافذ باستخدام أداة مثل ShieldsUP، مشكوك بها لأن شبكتك المحلية قد تُفسر هذا كهجوم، فالأفضل تجربة منافذ تُترك مفتوحة عادة. المنافذ المتروكة مفتوحة عادةً تكون 80 (لحركة مرور الويب العامة) و 443 (لحركة مرور SSL). إذا لم يكن خادوم SSH الخاص بك يخدم محتوى ويب، يمكننا أن نخبر SSH ليستخدم أحد هذين المنفذين ليتصل عبره بدلا من المنفذ الافتراضي 22. المنفذ 433 هو أفضل اختيار لأنه مُتَوقع أن يكون هناك حركة مرور مُشفرة على هذا المنفذ، وحركة مرور SSH الخاصة بنا ستكون مُشفرة. ابدأ اتصال SSH لخادومك من مكان غير محمي بجدار ناري، ثم حرّر ملف إعدادات SSH: $ sudo nano /etc/ssh/sshd_config ابحث عن السطر Port 22. يمكننا إما استبدال 22 كُليًا، وهي فكرة جيدة لزيادة أمان SSH، أو إضافة منفذ آخر ليُنصت SSH إليه. سنختار انصات SSH إلى منافذ متعددة، لذا سنُضيف سطر جديد أسفل Port 22 الذي يُقرأ Port 443. وإليك مثال لملف sshd_config: ... Port 22 Port 443 ... أعد تشغيل SSH لكي يُعيد تحميل ضبط SSH الذي أدخلته. قد يختلف اسم عفريت خادوم SSH بالاعتماد على توزيعتك، لكن من المرجح أن يكون اسمه ssh أو sshd. إذا لم يعمل أحدهما جرّب الآخر. $ sudo service ssh restart لتتحقق من أن منفذ SSH يعمل، افتح صدفة جديدة، لا تُغلق الجلسة الحالية بعد، فقد تحتاجها في حالة أغلقت الباب على نفسك وأنت خارج الخادوم بدون قصد، وابدأ اتصال SSH باستخدام المنفذ الجديد. $ ssh sammy@example.com -p 443 إذا نجحت بالاتصال، فيُمكنك الخروج الآن من الصدفتين وفتح نفق SSH باستخدام المنفذ الجديد. $ ssh -D 8123 -f -C -q -N sammy@example.com -p 443 ستكون إعدادات فَيرفُكس هي نفسها لأنه لا يعتمد على منفذ SSH، وإنما منفذ النفق (8123 كما بالأمر السابق). خاتمة افتح نفق SOCKS 5 للتصفح من خلال نفق SSH آمن كلما أردت طريقة خفيفة للوصول للويب بمأمن من أعين المُتطفلين. ترجمة -وبتصرّف- للمقال How To Route Web Traffic Securely Without a VPN Using a SOCKS Tunnel لصاحبه Michael Holley.
    1 نقطة
×
×
  • أضف...