كيفية تثبيت وإعداد خادم OpenConnect VPN على نظام Ubuntu 22.04 باستخدام Let's Encrypt
دليل خطوة بخطوة لتثبيت خادم OpenConnect VPN (ocserv) على Ubuntu 22.04 والحصول على شهادة Let's Encrypt.

كيفية تثبيت وإعداد خادم OpenConnect (ocserv) على نظام Ubuntu 22.04 مع Let's Encrypt

سنتعلم في هذه المقالة كيفية إعداد خادم OpenConnect VPN (ocserv) على نظام Ubuntu 22.04 باستخدام شهادات Let's Encrypt. يشمل هذا الدليل التثبيت والتكوين ونصائح الأمان وتحسين خدمة VPN.
0 الأسهم
0
0
0
0

 

ما الذي يغطيه هذا الدليل الفني؟

يوضح لك هذا الدليل التقني خطوة بخطوة كيفية إعداد الخدمة. أوبن كونكت (ocserv) على أوبونتو 22.04 إلى جانب استلام وإدارة الشهادات دعونا نقوم بالتشفيريتم تغطية التكوين الآمن، وإعدادات جدار الحماية وNAT، ومصادقة المستخدم، ونصائح لتوصيل العملاء وأتمتة تجديد الشهادات.

في البيئات الحساسة كالتداول والألعاب والوصول المؤسسي، يُعدّ اختيار الموقع المناسب واستخدام خوادم مزودة بحماية ضد هجمات DDoS أمرًا بالغ الأهمية. توفر شركتنا أكثر من 85 موقعًا عالميًا، وخوادم مضادة لهجمات DDoS، وشبكة BGP.

 

المتطلبات الأساسية واختيار الموقع

قبل أن تبدأ، تأكد من التالي:

  • خادم أوبونتو 22.04 لديك صلاحيات الجذر أو صلاحيات sudo.
  • مجال (على سبيل المثال) vpn.example.com) يشير إلى عنوان IP الخاص بالخادم.
  • الموانئ 80 و 443 تم فتحها على جدار الحماية لاستقبال شهادة Let's Encrypt.

لماذا يُعد الموقع مهماً؟

  • بالنسبة للتجار واللاعبين، يعد اختيار موقع ذي زمن استجابة منخفض (مثل لندن أو فرانكفورت أو طوكيو) أولوية.
  • قد تحتاج المؤسسات إلى مواقع متعددة مزودة ببروتوكول BGP وشبكة توصيل المحتوى (CDN) لزيادة الاستقرار.
  • للحصول على الحماية والاستقرار، يوصى باستخدام خوادم مزودة بحماية ضد هجمات DDoS.

 

تثبيت ocserv والحزم المطلوبة

أولاً، قم بتحديث النظام وتثبيت الحزم الأساسية:

sudo apt update && sudo apt upgrade -y
sudo apt install ocserv certbot libnss3-tools -y

الحزم الموصى بها للبيئة التشغيلية:

  • ufw أو nftables لإدارة جدار الحماية
  • fail2ban للحماية من هجمات القوة الغاشمة
  • استخدم openssl أو gnutls-bin إذا لزم اختبار TLS

 

الحصول على شهادة Let's Encrypt (الطرق)

هناك طريقتان شائعتان للحصول على الشهادة:

الطريقة أ - استخدام nginx (إذا كان لديك خادم ويب)

إذا كنت تستخدم nginx، يمكنك تفعيل المضيف الافتراضي واستخدام certbot مع إضافة nginx:

sudo apt install nginx
sudo certbot --nginx -d vpn.example.com

ثم، في ملف تكوين ocserv، حدد مسار الشهادة كما يلي:

server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pem

الطريقة ب - مستقلة (إذا لم يكن لديك nginx)

لأن ocserv يستمع على المنفذ 443 افتراضيًا، يجب عليك إيقاف ocserv مؤقتًا أو استخدام تحدي DNS قبل تشغيل certbot بشكل مستقل:

sudo systemctl stop ocserv
sudo certbot certonly --standalone -d vpn.example.com
sudo systemctl start ocserv

 

تكوين ocserv — نموذج لملف ocserv.conf

ملف التكوين الرئيسي: /etc/ocserv/ocserv.conf. مثال على الأقسام الرئيسية:

# ports
tcp-port = 443
udp-port = 443

# certificates
server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pem

# network
default-domain = vpn.example.com
dns = 1.1.1.1
dns = 1.0.0.1
route = 0.0.0.0/0
no-route = 192.168.0.0/16

# limits
max-clients = 250
max-same-clients = 2

# security and performance
keepalive = 60
auth = "plain[passwd=/etc/ocserv/ocpasswd]"
compression = false
tls-priorities = "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2"
allow-roaming = true

ملاحظات هامة: المسار = 0.0.0.0/0 للنفق الكامل. للنفق المجزأ، أضف الشبكات المطلوبة فقط. لأسباب أمنية الضغط = خطأ مُستَحسَن.

 

إعدادات جدار الحماية وNAT (إعادة توجيه IP)

تفعيل إعادة توجيه بروتوكول الإنترنت (IP):

sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf

مثال على قواعد iptables لـ NAT (بافتراض أن واجهة الإخراج هي eth0 والشبكة الداخلية 10.10.10.0/24):

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 10.10.10.0/24 -j ACCEPT

للحفاظ على القواعد عبر عمليات إعادة التشغيل، استخدم iptables-persistent أو احفظ التكوين في nftables.

أمثلة على أوامر UFW:

sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw allow 80/tcp
sudo ufw enable

 

المصادقة وإدارة المستخدمين

طريقة بسيطة تعتمد على ملف كلمات المرور المحلي:

sudo ocpasswd -c /etc/ocserv/ocpasswd alice

يمكنك من بام يُستخدم لدمج LDAP/AD (التكوين) auth = "pam"" في ملف ocserv.conf).

للمصادقة المستندة إلى الشهادات (x.509)، قم بإنشاء مفتاح/شهادة العميل:

sudo certtool --generate-privkey --outfile client-key.pem
sudo certtool --generate-certificate --load-privkey client-key.pem --outfile client-cert.pem --template client.tmpl

لإضافة المصادقة الثنائية، يمكنك استخدام libpam-google-authenticator وتعيين PAM في /etc/pam.d/ocserv يستخدم.

 

الأمن، والتحصين، والتحسين

  • تقييد إصدارات TLS استخدام أولويات TLS.
  • تعطيل الضغط لأسباب أمنية (مثل الجريمة).
  • حدد عدد الاتصالات المتزامنة (الحد الأقصى لعدد العملاء المتماثلين).
  • قم بتمكين التسجيل ومراقبة الموارد.
  • قم بتثبيت وتكوين برنامج fail2ban لمنع محاولات تسجيل الدخول المتكررة.

مثال بسيط لإعداد fail2ban:

[ocserv]
enabled = true
port = 443
filter = ocserv
logpath = /var/log/syslog
maxretry = 5

من الضروري إنشاء مرشح مناسب (regex) وفقًا لسجلات ocserv.

 

اختبار العملاء وربطهم

عميل سطر أوامر لينكس مع أوبن كونكت:

sudo apt install openconnect
sudo openconnect vpn.example.com

على سطح مكتب لينكس من مدير الشبكة أوبن كونكت أما على نظامي التشغيل ويندوز/ماك أو إس، فاستخدم واجهة المستخدم الرسومية لـ OpenConnect أو العملاء المتوافقين مع Cisco AnyConnect.

للتحقق من حالة الخدمة:

sudo systemctl status ocserv
sudo journalctl -u ocserv -f

 

أتمتة تجديد وصيانة الشهادات

إذا كنت تستخدم nginx أو apache كخادم وكيل عكسي، فبإمكان certbot عادةً تجديد الشهادة دون إيقاف الخدمة، وإعادة تحميل ocserv بعد التجديد:

sudo certbot renew --deploy-hook "systemctl reload ocserv"

إذا كنت تستخدم نظامًا مستقلاً وتم تمكين ocserv على المنفذ 443، فإن الخيارات المتاحة هي تحدي DNS أو استخدام خطافات ما قبل/ما بعد:

sudo certbot renew --pre-hook "systemctl stop ocserv" --post-hook "systemctl start ocserv"

 

نصائح عملية وحالات خاصة للتطبيقات

  • تجارة: اختر خادمًا في أقرب موقع للحصول على أقل زمن استجابة؛ يمكن أن تكون الخوادم الافتراضية الخاصة بالتداول مع المنفذ 443 وUDP/DTLS مفيدة.
  • الألعاب: استخدم تقنية النفق المنقسم لإرسال حركة المرور الضرورية فقط عبر الشبكة الافتراضية الخاصة (VPN) وتقليل زمن الاستجابة (ping) أثناء اللعب.
  • الذكاء الاصطناعي والرسم: يمكن أن يؤدي استخدام خوادم وحدة معالجة الرسومات في نفس المنطقة إلى تقليل حمل الشبكة وزمن الاستجابة.
  • الأمن التنظيمي: يوصى باستخدام مزيج من خوادم LDAP/AD، والمصادقة الثنائية، والمراقبة، ومكافحة هجمات DDoS.

تُقدّم شركتنا خدمات سحابية عالية الأداء، وخوادم رسومات (GPU)، وخوادم افتراضية خاصة (VPS) للتداول/الألعاب، وتسجيل النطاقات، وشبكات توصيل المحتوى (CDN)، وشبكات بروتوكول بوابة الحدود (BGP). أكثر من 85 موقعًا عالميًا يوفر لك هذا النظام إمكانية وضع شبكة VPN بالقرب من مستخدميك والاستفادة من الحماية من هجمات DDoS.

 

خاتمة

لقد غطى هذا الدليل عمليًا خطوات إعداد OpenConnect (ocserv) على Ubuntu 22.04، بدءًا من التثبيت وحتى الحصول على شهادة Let's Encrypt، والتكوين الآمن، وجدار الحماية وNAT، والمصادقة، والتحسين، وأتمتة التجديد.

من خلال مراعاة احتياطات السلامة مثل: بروتوكول TLS الحديث، تعطيل الضغطيمكن لحدود الاتصال، وتفعيل المصادقة الثنائية، و fail2ban أن توفر خدمة VPN آمنة وموثوقة للفرق واللاعبين والمتداولين.

قد يعجبك أيضاً