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) باللون الأخضر كما هو موضح أدناه.

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

السماح ببروتوكولات الوصول عن بُعد
الآن بعد تثبيت جدار الحماية، ستحتاج إلى تكوين UFW للسماح بأي بروتوكولات ترغب في استخدامها مع VPN.
ابدأ بالتأكد من عدم قفلك خارج العميل: قد تحتاج إلى تسجيل الدخول عبر SSH إذا حدث خطأ ما في اتصال OpenVPN الخاص بك. إذا توقف الاتصال ولم تتمكن من تسجيل الدخول عبر SSH، فسيتعين عليك الوصول إلى الجهاز ماديًا للعودة.
1. قم بالسماح باتصالات SSH باستخدام الأمر sudo ufw allow ssh
. يقرأ جدار الحماية UFW المنافذ والبروتوكول في ملف /etc/services ويفتح المنافذ وفقًا لذلك. يمكنك التحقق من نتيجة الأمر أدناه.

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

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

تكوين مفتاح إيقاف الاتصال الافتراضي لشبكة VPN
في هذا القسم، ستتعلم كيفية إعداد مفتاح إيقاف الاتصال الفعلي باستخدام جدار الحماية UFW. قم بتشغيل الأمرين التاليين للبدء.
sudo ufw default deny outgoing
sudo ufw default deny incoming
يقوم الأمر ufw default deny
بحظر جميع حركة المرور الصادرة/الواردة إلى/من جهازك، باستثناء اتصال SSH المسموح به صراحة وبروتوكولات الوصول عن بعد التي قمت بإعدادها في الأقسام السابقة. يمكنك رؤية نتيجة الأوامر في الصورة أدناه.

بعد ذلك، قم بإضافة استثناء إلى مجموعة قواعد UFW حتى يمكن لجهازك الاتصال بخادم VPN: ستحتاج إلى ملف تكوين خادم VPN. في هذا البرنامج التعليمي، يكون ملف OpenVPN المسمى ata.ovpn وقد تم تنزيله من موقع NordVPN.
قد يكون اسم ملف تكوين OpenVPN الخاص بك مختلفًا. يستخدم هذا البرنامج التعليمي تقليد تسمية “ata” ولكن لا تتردد في تسمية ملفك بأي اسم ترونه مناسبًا!
ثم، يجب أن تنظر في ملف تكوين OpenVPN بالاسم ata.opvn باستخدام الأمر sudo head /etc/ata.ovpn
. ستحتوي النتيجة على معلومات مثل المنفذ، البروتوكول، و عنوان IP لخادم VPN الذي تتصل به، كما هو موضح في المثال التالي لـ NordVPN.
لإنشاء أمر UFW الصحيح، يجب أن تلاحظ معلومات المنفذ، البروتوكول، و عنوان IP العام المستخرجة من ملف التكوين.

ثم، قم بإنشاء أمر 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
لعرض جميع أسماء واجهات الشبكة المكونة، كما هو موضح أدناه.

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

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

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

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

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

للتحقق من تشغيل خدمة OpenVPN ، استخدم الأمر systemctl status
على النحو التالي.
كما هو موضح أدناه ، يتم عرض حالة الخدمة الخضراء active (running) لخدمة OpenVPN.

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

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