كيفية إعداد مفتاح قتل لينكس لشبكات VPN

A Linux killswitch is a must for any serious Linux VPN user. It guards your data against leaking to the internet by preventing anyone from accessing your data even if disconnected from the VPN. It also ensures that all information remains confidential regardless of what happens in between.

بالنسبة للمجرم الإلكتروني ، فإن وجود زر إيقاف تشغيل يعد كابوسًا. إنه عقبة كبيرة تقف بينهم وبين هدفهم. إذا انقطع الاتصال بشبكة الـ VPN الخاصة بك لثانية واحدة فقط بسبب تجميد جهاز الكمبيوتر أو الهاتف أو تعطله ، أو إذا قمت بقطع الكابل عن طريق الخطأ – طالما أنك قمت بتمكين زر الإيقاف التلقائي – فلن يتمكن أي شخص من الوصول إلى تلك البيانات.

المتطلبات اللازمة

لمتابعة هذا الدرس ، ستحتاج إلى :

  • ملف التكوين للاتصال بمزود خدمة VPN الخاص بك. يستخدم هذا المقال NordVPN كموفر VPN.
  • A Ubuntu device with the OpenVPN client. The examples will use Ubuntu 20.04 and OpenVPN 2.5.3.

تثبيت جدار الحماية البسيط (UFW)

في هذا البرنامج التعليمي ، يعتمد killswitch في Linux على تكوين جدار الحماية. أولاً ، قم بتثبيت جدار الحماية البسيط (UFW) على جهازك وقم بإعداد الجدار ليعمل كزر إيقاف تشغيل.

قبل البدء ، تأكد من تحديث توزيعة Linux الخاصة بك ، وإلا فقد لا يعمل جدار الحماية البسيط (UFW) كما هو متوقع. على سبيل المثال ، يمكن أن يحدث عدم تحميل إعدادات جدار الحماية البسيط (UFW) عند بدء التشغيل أو عدم تحميل قاعدة مضافة / محذوفة.

1. قم بتشغيل الأمر sudo apt install ufw -y لتثبيت جدار الحماية.

يتم تثبيت جدار الحماية البسيط (UFW) بشكل افتراضي على معظم توزيعات Ubuntu ، لذا قد يكون لديك UFW بالفعل.

2. قم بتشغيل خدمة UFW باستخدام الأمر sudo systemctl start ufw.

3. تحقق مما إذا كانت عملية تثبيت UFW ناجحة. قم بتشغيل الأمر sudo systemctl status ufw، وإذا كانت العملية ناجحة، ستظهر النتيجة بعبارة ctive (exited) باللون الأخضر كما هو موضح أدناه.

Verifying that UFW is installed and running

4. قم بتشغيل UFW باستخدام الأمر sudo ufw enable. اضغط Y ثم Enter عندما يُطلب منك Proceed with operation (y|n)?

Enabling UFW on Ubuntu

السماح ببروتوكولات الوصول عن بُعد

الآن بعد تثبيت جدار الحماية، ستحتاج إلى تكوين UFW للسماح بأي بروتوكولات ترغب في استخدامها مع VPN.

ابدأ بالتأكد من عدم قفلك خارج العميل: قد تحتاج إلى تسجيل الدخول عبر SSH إذا حدث خطأ ما في اتصال OpenVPN الخاص بك. إذا توقف الاتصال ولم تتمكن من تسجيل الدخول عبر SSH، فسيتعين عليك الوصول إلى الجهاز ماديًا للعودة.

1. قم بالسماح باتصالات SSH باستخدام الأمر sudo ufw allow ssh. يقرأ جدار الحماية UFW المنافذ والبروتوكول في ملف /etc/services ويفتح المنافذ وفقًا لذلك. يمكنك التحقق من نتيجة الأمر أدناه.

Allowing SSH Connections on Ubuntu

من المستحسن بشدة إضافة طبقة إضافية من الأمان عن طريق طلب من المستخدمين المصادقة باستخدام مفتاح SSH عند الاتصال عبر OpenVPN. سيحمي هذا الإجراء ضد هجمات القوة الغاشمة والاتصالات غير المصرح بها.

2. بعد ذلك، ستحتاج إلى إضافة قواعد للسماح ببروتوكول VNC عن طريق السماح بحركة المرور على المنافذ المقابلة.

بالنسبة لبروتوكول VNC، فإنه اختياري. يتيح VNC الوصول عن بعد، مثل SSH. يوفر VNC واجهة رسومية، بينما يسمح SSH بواجهة نصية فقط. قم بالسماح بحركة المرور الخاصة بـ VNC باستخدام الأمر sudo ufw allow 5901:5910/tcp.

سيعطي هذا الأمر نتائج مشابهة للتالية.

Allowing remote access protocols on Ubuntu with UFW

3. بمجرد إضافة القواعد الخاصة بك، تأكد من تطبيقها بنجاح. سيقوم الأمر sudo ufw show added بعرض جميع القواعد المضافة، كما يمكنك رؤية ذلك في الصورة أدناه.

Checking UFW existing rules

تكوين مفتاح إيقاف الاتصال الافتراضي لشبكة VPN

في هذا القسم، ستتعلم كيفية إعداد مفتاح إيقاف الاتصال الفعلي باستخدام جدار الحماية UFW. قم بتشغيل الأمرين التاليين للبدء.

  • sudo ufw default deny outgoing
  • sudo ufw default deny incoming

يقوم الأمر ufw default deny بحظر جميع حركة المرور الصادرة/الواردة إلى/من جهازك، باستثناء اتصال SSH المسموح به صراحة وبروتوكولات الوصول عن بعد التي قمت بإعدادها في الأقسام السابقة. يمكنك رؤية نتيجة الأوامر في الصورة أدناه.

Blocking traffic with UFW

بعد ذلك، قم بإضافة استثناء إلى مجموعة قواعد UFW حتى يمكن لجهازك الاتصال بخادم VPN: ستحتاج إلى ملف تكوين خادم VPN. في هذا البرنامج التعليمي، يكون ملف OpenVPN المسمى ata.ovpn وقد تم تنزيله من موقع NordVPN.

قد يكون اسم ملف تكوين OpenVPN الخاص بك مختلفًا. يستخدم هذا البرنامج التعليمي تقليد تسمية “ata” ولكن لا تتردد في تسمية ملفك بأي اسم ترونه مناسبًا!

ثم، يجب أن تنظر في ملف تكوين OpenVPN بالاسم ata.opvn باستخدام الأمر sudo head /etc/ata.ovpn. ستحتوي النتيجة على معلومات مثل المنفذ، البروتوكول، و عنوان IP لخادم VPN الذي تتصل به، كما هو موضح في المثال التالي لـ NordVPN.

لإنشاء أمر UFW الصحيح، يجب أن تلاحظ معلومات المنفذ، البروتوكول، و عنوان IP العام المستخرجة من ملف التكوين.

Opening an OpenVPN config file, the above example is for NordVPN.

ثم، قم بإنشاء أمر ufw allow out على النحو التالي: sudo ufw allow out to 69.28.83.134 port 1194 proto udp. كما يمكنك ملاحظة أن عنوان IP والمنفذ المستخدمين مأخوذان من السطر في التكوين الذي يبدأ بـ remote، والبروتوكول مأخوذ من السطر الذي يبدأ بـ proto.

يتم استخدام مثال NordVPN هنا كمزود VPN. لـ NordVPN، يجب أن يكون المنفذ UDP 1194 مفتوحًا. إذا كنت تستخدم مثلاً Express VPN، فيجب أن يكون المنفذ UDP 1195 مفتوحًا، وليس المنفذ 1194. يمكن أن يحتوي كل مزود VPN على منافذ UDP فريدة.

إنشاء استثناء في جدار الحماية لـ OpenVPN

بالطبع، لضمان الاستخدام السليم، يجب السماح بـ OpenVPN عبر جدار الحماية. حتى الآن، لقد قمت بحظر جميع حركة المرور الواردة والصادرة باستثناء عدد قليل من المنافذ.

أولاً، يجب عليك العثور على اسم واجهة الشبكة التي يستخدمها عميل OpenVPN. قم بتشغيل الأمر ifconfig لعرض جميع أسماء واجهات الشبكة المكونة، كما هو موضح أدناه.

Listing network interface names on Ubuntu.

لاحظ واجهة الشبكة بالاسم tun0 في القائمة الناتجة. واجهة tun0 هي واجهة VPN التي يتم توجيه جميع حركة المرور الواردة والصادرة من خلالها وهي الواجهة التي يجب السماح بها. إنها واجهة افتراضية مضافة عند التمهيد، مما يعني أنها ليست اتصالًا فعليًا. تعد هذه الواجهة الافتراضية هي الواجهة الافتراضية في OpenVPN.

أضف استثناءًا في جدار الحماية لواجهة نفق VPN التي عثرت عليها باستخدام ifconfig لتوجيه جميع حركة المرور من خلالها. وإلا، لن يكون هناك أي وصول إلى الإنترنت، وسيفشل وظيفة قطع الاتصال الخاصة بك. قم بتشغيل الأمر أدناه لإضافة استثناء لحركة مرور OpenVPN على واجهة tun0.

sudo ufw allow out on tun0 from any to any
Allowing outgoing traffic on the tun0 interface.

بعض التطبيقات، مثل الوصول إلى تطبيق المحادثة الصوتية أثناء اللعب، تتطلب اتصالات واردة من خلال VPN. للسماح بالاتصالات الواردة، قم بتشغيل الأمر التالي:

sudo ufw allow in on tun0 from any to any
Allowing ingoing traffic to tun0 interface

تكوين عميل OpenVPN

في هذا القسم النهائي، ستقوم بتكوين عميل OpenVPN للتشغيل كخدمة باستخدام التكوين الذي قمت بإنشائه سابقًا.

ابدأ بإعادة تسمية ملف النص العادي ata.opvn إلى ata.conf **(قد يختلف اسم الملف لديك). لتشغيل عميل OpenVPN كخدمة نظامية في الخلفية ، يجب تسمية الملف بامتداد ملف *.conf. بالإضافة إلى ذلك ، ستقوم أيضًا بنقل الملف إلى الدليل /etc/openvpn.

انقل ملف التكوين باستخدام الأمر sudo mv /root/ata.ovpn /etc/openvpn/ata.conf.

Moving and renaming the OpenVPN configuration file.

الآن ، غير الدليل إلى /etc/openvpn وتحقق من وجود الملف هناك.

cd /etc/openvpn
ls
Showing files in the /etc/openvpn directory

بعد نقل ملف التكوين إلى الدليل /etc/openvpn ، قم بتشغيل خدمة عميل OpenVPN باستخدام الأمر systemctl. لبدء الخدمة ، قم بتشغيل: sudo systemctl start [email protected].

الجزء “ata” من اسم عميل OpenVPN هو من اسم ملف التكوين المستخدم. قد يختلف اسم الملف الخاص بك وفقًا لاسم الملف.

Starting the OpenVPN service.

للتحقق من تشغيل خدمة OpenVPN ، استخدم الأمر systemctl status على النحو التالي.

sudo systemctl status [email protected]

كما هو موضح أدناه ، يتم عرض حالة الخدمة الخضراء active (running) لخدمة OpenVPN.

Checking the OpenVPN service status.

أخيرًا ، يجب عليك تكوين جهازك للاتصال بخدمة VPN الخاصة بك تلقائيًا. يضمن الاتصال التلقائي بـ VPN أن OpenVPN سيعمل دائمًا ، حتى إذا قمت بإعادة تشغيل الجهاز.

قم بتشغيل الأمر sudo systemctl enable [email protected] ، ومن الآن فصاعدًا ، بمجرد بدء خدمة OpenVPN ، ستتصل جهازك تلقائيًا بـ VPN.

Enable the OpenVPN service.

الاستنتاج

هذه المقالة قد أظهرت لك جميع الخطوات اللازمة لإعداد زر إيقاف في نظام لينكس لاتصال VPN الخاص بك. يقوم زر الإيقاف بفصل اتصال الشبكة عن جهاز الكمبيوتر الخاص بك إذا انقطع الاتصال بشكل غير متوقع، مما يمنع تسرب البيانات ويحافظ على سلامتك على الإنترنت.

Source:
https://adamtheautomator.com/linux-killswitch/