دليل شامل وعملي لإعداد خادم وكيل ويب على نظام أوبونتو 24.04
باستخدام هذا الدليل، يمكنك بسهولة تثبيت وتكوين وكيل الويب الخاص بك على خادم Ubuntu 24.04.

دليل شامل وعملي لإعداد خادم وكيل ويب على نظام أوبونتو 24.04

تشرح هذه المقالة خطوة بخطوة كيفية تثبيت وتكوين خادم وكيل ويب على خادم أوبونتو 24.04 باستخدام Squid وDante وNginx. بقراءة هذه المقالة، ستتعلم كيفية تأمين خادم وكيل الويب الخاص بك وتحسين أدائه.
0 الأسهم
0
0
0
0

كيفية إعداد وكيل ويب آمن وفعال على نظام أوبونتو 24.04؟

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

لماذا نستخدم خادم وكيل الويب؟

يتمتع وكيل الويب بمزايا مثل: التحكم في الوصول، تخزين المحتوى مؤقتًا لتقليل عرض النطاق الترددي، إخفاء عنوان IP العميل، و توزيع حركة المرور بالنسبة للتطبيقات الحساسة مثل التداول أو الألعاب، يمكن أن يكون وضع الخادم الوكيل أقرب إلى الوجهة زمن الاستجابة (ثانية) يقلل.

أنواع الخوادم الوكيلة واستخداماتها

تشمل أكثر أنواع الخوادم الوكيلة شيوعًا ما يلي:

  • وكيل أمامي (مثل Squid): لتمكين العملاء من الوصول إلى الإنترنت؛ مناسب للتحكم والتخزين المؤقت والمراقبة.
  • الخادم الوكيل العكسي (مثل Nginx): يجلس أمام خوادم الويب لتنفيذ بروتوكول TLS، وموازنة الأحمال، والتخزين المؤقت.
  • SOCKS5 (Dante أو SSH -D)الطبقة السفلية، مناسبة لتطبيقات متنوعة وحركة مرور TCP/UDP.
  • بروكسي شفاف: لاعتراض حركة مرور الشبكة (يتطلب تغييرات في NAT/fwd).

متطلبات الخادم وإعداده

أولاً، قم بتحديث النظام وتثبيت الحزم الأساسية. يجب اختيار الحزم بناءً على المتطلبات؛ بالنسبة لـ SOCKS5، استخدم خادم دانتي وبالنسبة لبروتوكول TLS من certbot نحن نستخدم.

sudo apt update && sudo apt upgrade -y
sudo apt install squid apache2-utils dante-server nginx certbot nftables fail2ban -y

تثبيت وتكوين Squid (وكيل توجيه HTTP/HTTPS)

يشرح هذا القسم التكوين الأساسي، وتمكين HTTPS (CONNECT)، والمصادقة، وقوائم التحكم بالوصول، والتخزين المؤقت.

التكوين الأساسي

لتثبيت برنامج Squid:

sudo apt install squid -y

قبل تغيير ملف الإعدادات، قم بعمل نسخة احتياطية:

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

مثال على ملف تكوين أساسي (/etc/squid/squid.conf):

http_port 3128
# limit logging size
access_log /var/log/squid/access.log squid

# ACLs
acl localhost src 127.0.0.1/32
acl localnet src 10.0.0.0/8    # internal network
acl allowed_ips src 203.0.113.0/24  # example allowed client range

# permissions
http_access allow localhost
http_access allow allowed_ips
http_access deny all

# caching
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/spool/squid 10000 16 256
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern . 0 20% 4320

# DNS
dns_v4_first on

بعد حفظ الإعدادات:

sudo systemctl restart squid
sudo systemctl enable squid

تفعيل بروتوكول HTTPS (CONNECT) وبروتوكول TLS

يستخدم Squid بروتوكول CONNECT لإنشاء أنفاق HTTPS. مثال على قائمة التحكم بالوصول (ACL) للسماح ببروتوكول CONNECT:

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 443
http_access allow SSL_ports

المصادقة (الأساسية/LDAP)

للمصادقة الأساسية باستخدام htpasswd:

sudo apt install apache2-utils -y
sudo htpasswd -c /etc/squid/passwords username

أضف ما يلي إلى ملف squid.conf:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

قيود الوصول وقواعد التحكم في الوصول

أمثلة شائعة:

  • التقييد حسب عنوان IP: قائمة التحكم بالوصول المسموح بها ips src xxxx/xx
  • تقييد النطاقات: acl blocked_sites dstdomain .example.com
  • المدة المحددة: ساعات عمل مكتب acl: من الاثنين إلى الجمعة، من الساعة 8:00 صباحًا إلى 6:00 مساءً.

مثال على رفض المواقع:

acl blocked_sites dstdomain .youtube.com .facebook.com
http_access deny blocked_sites

التخزين المؤقت وتحسين الأداء

إعدادات مهمة لذاكرة التخزين المؤقت:

  • ذاكرة التخزين المؤقتذاكرة الوصول العشوائي (RAM) لتخزين الكائنات الصغيرة مؤقتًا.
  • دليل_التخزين_المخبأ: موقع القرص لتخزين ذاكرة التخزين المؤقت للمحتوى الكبير.
  • أقصى حجم للكائن: الحد الأقصى لحجم الكائن الذي يمكن تخزينه.
  • نمط التحديث: التحكم في صلاحية ذاكرة التخزين المؤقت.

مثال على حركة مرور عالية:

cache_mem 512 MB
maximum_object_size 20 MB
cache_dir ufs /var/spool/squid 50000 16 256

بالنسبة لحركة المرور العالية، استخدم NVMe وأقراص IOPS عالية أو LVM.

تسجيل البيانات وإدارة السجلات

تسجيل دخول سكويد /var/log/squid/ مثال على إعدادات logrotate:

sudo nano /etc/logrotate.d/squid
/var/log/squid/*.log {
    weekly
    rotate 4
    compress
    delaycompress
    missingok
    notifempty
    create 640 proxy proxy
    sharedscripts
    postrotate
        systemctl reload squid >/dev/null 2>&1 || true
    endscript
}

استخدم أدوات مثل ELK أو Grafana+Prometheus لتحليل السجلات.

إعداد SOCKS5 مع Dante

بالنسبة للتطبيقات التي تتطلب استخدام SOCKS، دانتي إنه خيار جيد.

التركيب والإعداد:

sudo apt install dante-server -y

مثال على ملف /etc/danted.conf:

logoutput: syslog
internal: 0.0.0.0 port = 1080
external: eth0
method: username none
user.privileged: proxy
user.notprivileged: nobody
client pass {
    from: 203.0.113.0/24 to: 0.0.0.0/0
    log: connect disconnect error
}
pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    protocol: tcp udp
    log: connect disconnect error
}
sudo systemctl restart danted
sudo systemctl enable danted

مثال على اختبار باستخدام curl:

curl --socks5-hostname 127.0.0.1:1080 https://checkip.amazonaws.com

تهيئة Nginx كخادم وكيل عكسي وإنهاء TLS

يمكن استخدام Nginx لاستضافة صفحة إدارة الوكيل أو إنهاء TLS للتطبيقات الموجودة خلف الوكيل.

مثال على كتلة الخادم:

server {
    listen 80;
    server_name proxy.example.com;
    location / {
        proxy_pass http://127.0.0.1:3128;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

للحصول على شهادة TLS باستخدام Certbot:

sudo certbot --nginx -d proxy.example.com

جدار الحماية، والأمان، والمراقبة

لأغراض الأمان، استخدم nftables أو ufw، و fail2ban، والتسجيل والمراقبة.

مثال على قواعد الجداول الأساسية:

sudo nft add table inet filter
sudo nft 'add chain inet filter input { type filter hook input priority 0 ; policy drop; }'
sudo nft add rule inet filter input ct state established,related accept
sudo nft add rule inet filter input iif lo accept
sudo nft add rule inet filter input tcp dport 22 accept
sudo nft add rule inet filter input tcp dport 3128 accept # squid
sudo nft add rule inet filter input tcp dport 1080 accept # dante
sudo nft add rule inet filter input icmp type echo-request accept

قم بتطبيق مراقبة الأداء واكتشاف الهجمات باستخدام الأدوات المناسبة.

نصائح عملية لتطبيقات محددة (التداول، الألعاب، الذكاء الاصطناعي، العرض ثلاثي الأبعاد)

للمتداولين: اختر خادمًا بموقع قريب من خادم الوسيط؛ استخدم عنوان IP ثابتًا للصادر لإدراجه في القائمة البيضاء، وقم بتمكين الحماية من هجمات DDoS إذا كان الاتصال بالغ الأهمية.

للاعبين: اختر خادمًا افتراضيًا خاصًا (VPS) بشبكة سريعة وموقع قريب من خادم اللعبة، وقم بتمكين BBR:

sudo sysctl -w net.core.default_qdisc=fq
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr

لجعل الإعدادات دائمة، اضبط القيم على /etc/sysctl.conf يضيف.

للذكاء الاصطناعي والعرض ثلاثي الأبعاد: استخدم ذاكرة تخزين مؤقتة أكبر وأقراص NVMe لتنزيل مجموعات البيانات واستفد من وحدات معالجة الرسومات السحابية للاستدلال الموزع.

عمليات التشغيل والصيانة

نصائح أساسية للصيانة:

  • تحديثات منتظمة للحزمة: sudo apt update && sudo apt upgrade -y
  • تحديثات الأمان، ومراجعة السجلات، ونسخ الإعدادات احتياطياً.
  • استخدم أدوات الأتمتة مثل Ansible للتكوين السريع والتراجع.
  • قم باختبار الخدمة بشكل دوري باستخدام curl/wget وقم بإعداد مراقبة وقت التشغيل.

لماذا نستخدم البنية التحتية السحابية ذات المواقع المتعددة؟

يؤدي نشر الخوادم الوكيلة بالقرب من المستخدمين أو خوادم الوجهة إلى تقليل زمن الاستجابة (ping) وتوفير تحكم جغرافي أفضل. كما أن استخدام شبكات توصيل المحتوى (CDN) وبروتوكول بوابة الحدود (BGP) وتقنيات مكافحة هجمات الحرمان من الخدمة الموزعة (DDoS) يُحسّن الأداء والأمان.

التوصيات الأمنية النهائية

نصائح أمنية هامة:

  • لا تترك خادم وكيل عام مفتوحًا أبدًا بدون مصادقة.
  • تطبيق قيود على عناوين IP والقيود الزمنية.
  • تعتبر المراقبة والتنبيه أمراً ضرورياً للكشف عن الإساءة.
  • استخدم تقنية مكافحة هجمات DDoS والشبكات الخاصة للتطبيقات الحساسة.

خاتمة

يتضمن هذا الدليل التثبيت والتكوين حبار بالنسبة لبروتوكول HTTP/HTTPS، قم بالإعداد دانتي لـ SOCKS5 والإعداد Nginx تناولت الدورة موضوعات مثل الخادم الوكيل العكسي وبروتوكول TLS، بالإضافة إلى جدران الحماية والسجلات ونصائح عملية للتداول والألعاب والذكاء الاصطناعي.

الأسئلة الشائعة

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