تشغيل VPN أو خدمة بروكسي على خادم ينطوي على عدة مخاطر. بوصفك
مالك عنوان IP، يتحمل مستخدموك المسؤولية عن أي إساءة أو نشاط غير قانوني
يُنفَّذ عبر خدمتك. لحماية نفسك من هذه
المشكلة، عليك اتخاذ تدابير استباقية لحماية
السمعة.
الوضع المقيّد:
القائمة البيضاء
إحدى الطرق للتأكد من عدم إساءة استخدام خادمك هي السماح فقط
بأنشطة معينة. هذا الأسلوب المعروف بالقائمة البيضاء لا يمنع
الإساءة بشكل كامل؛ إذ يمكن لمستخدميك مهاجمة أشخاص آخرين مما قد يؤدي
إلى تعليق خادمك. لكنه يجعل عملية الإساءة
أكثر صعوبة، وغالباً ما يدفع المسيئين إلى الابتعاد عن
خدماتك (وللأسف، بعض المستخدمين الشرعيين أيضاً).
ما نقترحه هنا هو حذف جميع الحزم الواردة والصادرة
من خادمك باستثناء تلك الضرورية تماماً.
إليك كيفية القيام بذلك.
الشيء الوحيد الذي يجب مراعاته قبل اتباع هذا الدليل هو
عدم تفعيل أي جدار حماية آخر على خادمك.
يغطي هذا الدليل العملية على Ubuntu، لكن لا يلزمك استخدامه
كنظام تشغيل. منطق العملية ذاتها تنطبق على أنظمة التشغيل الأخرى
أيضاً.
1. تثبيت UFW
أولاً، تحتاج إلى تثبيت UFW.
sudo apt install ufw
2.
حظر جميع الاتصالات الواردة والصادرة
تأكد من تعطيل UFW لأن الأوامر التالية قد
تقطع اتصالك بالخادم:
sudo ufw disable
الأوامر أدناه ستحذف بشكل أساسي كل حزمة تحاول
الدخول إلى خادمك أو الخروج منه. لاحقاً، سنسمح فقط بالاتصالات التي
يحتاجها مستخدمونا:
sudo ufw default deny incoming
sudo ufw default deny outgoing
3. السماح
لنفسك بالاتصال بخادمك
سنسمح الآن بالاتصالات الواردة على المنفذ 22، وهو المنفذ
المستخدم لإنشاء اتصالات SSH. على الرغم من أنه من الجيد دائمًا
تغيير منفذ SSH إلى منفذ آخر:
sudo ufw allow in 22/tcp comment “Allows me to SSH to my server”
بينما الاتصالات الصادرة محجوبة بالفعل، سنحجب تحديدًا
جميع الحزم الصادرة التي تتجه إلى المنفذ 22 (في
حال قررت تغيير السياسة الافتراضية مستقبلًا). سيجعل هذا كلًا
منك ومن مستخدميك غير قادرين على الاتصال بخوادم أخرى عبر SSH على المنفذ
22. وعلى الرغم من أن هذا قد يبدو مقيدًا، إلا أنه يحل في الواقع أحد أكثر
الشكاوى شيوعًا التي تؤدي إلى تعليق خادمك. باستخدام هذا
الأمر، لن يتمكن أي مستخدم من تنفيذ هجمات القوة الغاشمة عبر SSH من
خادمك:
sudo ufw deny out 22/tcp comment “Stops SSH brute force”
بعد السماح بالاتصالات الواردة على المنفذ 22، يمكنك تفعيل
جدار الحماية دون الانقطاع عن خادمك:
sudo ufw enable
إذا انقطع اتصالك بالخادم لأي سبب، يمكنك استخدام
VNC لاستعادة الوصول إلى خادمك وتعطيل جدار الحماية.
4.
السماح لمستخدميك بالاتصال بخادمك للحصول على خدمات الوكيل/VPN
الخدمات
من الواضح أن مستخدميك يحتاجون إلى الاتصال بخادمك واستخدام خدمات
الوكيل المتاحة عليه. حجب جميع الاتصالات الواردة يجعل ذلك مستحيلًا
بالنسبة لهم. لذا، نحتاج إلى السماح بمنافذ الوكيل/VPN التي يستخدمها المستخدمون،
على سبيل المثال، لنفترض أننا نريد السماح للمستخدمين بالاتصال بالمنفذ 1194، الذي
يُستخدم عادةً لـ OpenVPN. للقيام بذلك، اكتب الأمر التالي:
sudo ufw allow in 1194/tcp comment “OpenVPN port for users”
أو، إذا كنت تشغّل OpenVPN عبر UDP:
sudo ufw allow in 1194/udp comment “OpenVPN port for users”
المنطق نفسه ينطبق على خوادم VPN والوكيل الأخرى أيضًا، فقط
اكتشف المنفذ الذي يحتاج المستخدمون إلى الاتصال به، ثم اسمح بالاتصالات الواردة
الاتصالات به.
الآن، يمكن لمستخدميك الاتصال بالخادم وبـ VPN، لكنهم
لن يتمكن من إجراء أي اتصالات بالعالم الخارجي. وهذا هو
الغرض الدقيق من القائمة البيضاء: لن يتمكن المستخدمون من الاتصال بأي
المنافذ إلا إذا سمحنا بذلك صراحةً، مما يقلل من احتمالية
تلقّي بلاغات الإساءة.
5.
السماح لمستخدميك بزيارة المواقع واستخدام
التطبيقات
سنسمح الآن بحركة المرور الصادرة على المنافذ المستخدمة للتصفح
الويب، وإجراء استدعاءات API على خوادم الويب. للقيام بذلك، يجب عليك السماح
المنفذ 80 والمنفذ 443 الخاصَّين بـ TCP. كما أن السماح بالمنفذ 443 الخاص بـ UDP سيؤدي إلى
مكّن مستخدميك من إنشاء اتصالات HTTP3:
sudo ufw allow out 80/tcp comment “HTTP connections”
sudo ufw allow out 443 comment “HTTPS and HTTP3 connections”
6. السماح
خدمات مختلفة حسب الحاجة
عادةً، يكفي فتح المنفذين 80 و443، لكن للحصول على الاستفادة الكاملة
قد تحتاج إلى السماح بوظائف بعض التطبيقات أو البرامج
مستخدميك باستخدام منافذ أخرى أيضاً.
يُنصح بشكل عام بإجراء بحثك الخاص والسماح فقط
المنافذ إذا كانت ضرورية للغاية. لكل تطبيق رئيسي
وثائق الشبكات بمعلومات موجهة لمسؤولي الشبكات
مثلك. في هذه الوثائق، يمكنك العثور على المنافذ التي يستخدمها
التطبيقات واستخدامها وإضافتها إلى القائمة البيضاء أيضاً. سنستعرض بعض الأمثلة الشائعة
كأمثلة على ذلك.
WhatsApp
(بدون مكالمة فيديو أو صوتية):
sudo ufw allow out 443/tcp comment “WhatsApp”
sudo ufw allow out 5222/tcp comment “WhatsApp”
Git:
sudo ufw allow out 9418/tcp comment “Git”
بعض الخدمات مثل Discord,
Zoom,
أو مكالمات الصوت والفيديو عبر WhatsApp تتطلب نطاقاً واسعاً من منافذ UDP، ويمكنك
فتح هذه المنافذ وفق تقديرك الخاص.
الوضع المتساهل:
القائمة السوداء
في القائمة البيضاء، تحجب كل شيء وتسمح بمنافذ بعينها. أما في
القائمة السوداء، فتسمح بكل شيء وتحجب منافذ بعينها.
1. تثبيت UFW
أولاً، تحتاج إلى تثبيت UFW
sudo apt install ufw
2. حجب
الاتصالات الواردة
تأكد من تعطيل UFW لأن الأوامر التالية قد
تقطع اتصالك بالخادم:
sudo ufw disable
من المنطقي حجب جميع الاتصالات الواردة ما لم تكن تقدم
خدمات محددة. لذا، لنرفض كل حركة المرور الواردة:
sudo ufw default deny incoming
لاحظ أنك هذه المرة لا تحجب جميع الاتصالات الصادرة.
هذا يتيح لمستخدميك الاتصال بأي منفذ يرغبون فيه. لا يُنصح بذلك
إلا إذا كنت تثق تماماً بمستخدميك.
3.
السماح لنفسك بالاتصال بخادمك
سنسمح الآن بالاتصالات الواردة على المنفذ 22، وهو المنفذ
المستخدم لإنشاء اتصالات SSH بخادمك. ومع ذلك، يُنصح دائماً
بتغيير منفذ SSH إلى منفذ آخر:
sudo ufw allow in 22/tcp comment “Allows me to SSH to my server”
إذا أردت حجب منفذ SSH لتجنب تقارير إساءة استخدام القوة الغاشمة عبر SSH،
يمكنك استخدام الأمر التالي:
sudo ufw allow out 22/tcp comment “Block Outgoing SSH ”
4. حجب BitTorrent
بالمنطق ذاته، تحتاج إلى حجب المنافذ المستخدمة من قِبَل
BitTorrent. غير أن ثمة منافذ متعددة لهذا الغرض، لذا عليك
إجراء بحثك وحجب عناوين IP للمتتبعات العامة إضافةً إلى المنافذ
التي تُستخدم عادةً لـ BitTorrent.
إن كان لديك أي استفسار، لا تتردد في التواصل معنا عبر تقديم
تذكرة دعم.
في قسم الأمان أيضاً
أدلة ذات صلة.
هل تحتاج مساعدة في شيء آخر؟
متوسط وقت الاستجابة أقل من ساعة. بشر حقيقيون، لا روبوتات.