تثبيت وكيل Apache HTTP - Linux

يُمكن لوكلاء ‎ESET Management الاتصال بخادم ESET PROTECT عبر Apache HTTP Proxy. اقرأ المزيد حول كيفية عمل الوكيل لعوامل ESET Management.

يتم توزيع Apache HTTP Proxy بشكل عام في صورة حزمة apache2 أو httpd.

اختر خطوات التثبيت الخاصة بـ ‎وكيل Apache HTTP وفقاً لطريقة توزيع Linux التي تستخدمها في الخادم: إذا كنت تريد استخدام Apache للتخزين المؤقت للنتائج أيضاً من ESET Dynamic Threat Defense ، فراجع أيضاً الوثائق ذات الصلة.

تثبيت Linux (النشر العام) لوكيل Apache HTTP

  1. تثبيت Apache HTTP Server (الإصدار 2.4.10 على الأقل).
  2. ضمان أنه تم تحميل الوحدات النمطية التالية:

access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk

  1. إضافة تكوين التخزين المؤقت:

CacheEnable disk http://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

  1. إذا كان الدليل ‎‏/var/cache/apache2/mod_cache_disk غير موجود، فقم بإنشائه وتعيين امتيازات Apache (r,w,x).
  2. إضافة تكوين وكيل:

AllowCONNECT 443 563 2222 8883 53535

 

ProxyRequests On
ProxyVia On

 

CacheLock on

CacheLockMaxAge 10

ProxyTimeOut 900

 

SetEnv proxy-initial-not-pooled 1

 

<VirtualHost *:3128>

ProxyRequests On

</VirtualHost>

 

<VirtualHost *:3128>

ServerName r.edtd.eset.com

 

<If "%{REQUEST_METHOD} == 'CONNECT'">

Require all denied

</If>

 

ProxyRequests Off

CacheEnable disk /

SSLProxyEngine On

 

RequestHeader set Front-End-Https "On"

ProxyPass / https://r.edtd.eset.com/ timeout=300 keepalive=On ttl=100 max=100 smax=10

ProxyPassReverse / http://r.edtd.eset.com/ keepalive=On

</VirtualHost>

 
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

  1. افتراضاً، يتم استخدام المنفذ 2222 للاتصال بوكيل ESET Management. إذا قمت بتغيير المنفذ أثناء التثبيت، فاستخدم رقم المنفذ المستخدَم. قم بتغيير 2222 في السطر: AllowCONNECT 443 563 2222 8883 53535 إلى رقم المنفذ لديك.
  2. تمكين وكيل وتكوين التخزين المؤقت الذي تمت إضافته (إذا كان التكوين موجود في ملف تكوين Apache الرئيسي، فيمكنك تخطي هذه الخطوة).
  3. إذا لزم الأمر، قم بتغيير الاستماع إلى المنفذ الذي تريده (يتم تعيين المنفذ 3128 افتراضياً).
  4. مصادقة أساسية اختيارية:
    • إضافة تكوين مصادقة إلى توجيه الوكيل:

AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

    • إنشاء ملف كلمة مرور باستخدام ‎/etc/httpd/.htpasswd -c
    • إنشاء ملف يدوياً باسم group.file باستخدام usergroup:username
  1. أعد تشغيل خادم Apache HTTP.

 

تثبيت Ubuntu Server وغيرها من طرق التوزيع Debian-based في Linux الخاصة بوكيل Apache HTTP

  1. تثبيت أحدث إصدار لخادم Apache HTTP من apt:

sudo apt-get install apache2

  1. قم بتنفيذ الأمر التالي لتحميل وحدات Apache النمطية المطلوبة:

sudo a2enmod access_compat auth_basic authn_core authn_file authz_core\

authz_groupfile authz_host proxy proxy_http proxy_connect cache cache_disk

  1. قم بتحرير ملف تكوين ذاكرة التخزين المؤقت Apache:

sudo vim /etc/apache2/conf-available/cache_disk.conf

وانسخ/الصق التكوين التالي:

CacheEnable disk http://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

  1. ينبغي ألا تكون هذه الخطوة مطلوبة، ولكن في حالة فقدان توجيه التخزين المؤقت، قم بتشغيل الأوامر التالية:

sudo mkdir /var/cache/apache2/mod_cache_disk
sudo chown www-data /var/cache/apache2/mod_cache_disk
sudo chgrp www-data /var/cache/apache2/mod_cache_disk

  1. قم بتحرير ملف تكوين ذاكرة وكيل Apache:

sudo vim /etc/apache2/conf-available/proxy.conf

وانسخ/الصق التكوين التالي:

AllowCONNECT 443 563 2222 8883 53535

 

ProxyRequests On
ProxyVia On

 

CacheLock on

CacheLockMaxAge 10

ProxyTimeOut 900

 

SetEnv proxy-initial-not-pooled 1

 

<VirtualHost *:3128>

ProxyRequests On

</VirtualHost>

 

<VirtualHost *:3128>

        ServerName r.edtd.eset.com

 

<If "%{REQUEST_METHOD} == 'CONNECT'">

Require all denied

</If>

 

ProxyRequests Off

CacheEnable disk /

SSLProxyEngine On

 

RequestHeader set Front-End-Https "On"

ProxyPass / https://r.edtd.eset.com/ timeout=300 keepalive=On ttl=100 max=100 smax=10

ProxyPassReverse / http://r.edtd.eset.com/ keepalive=On

</VirtualHost>

 
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

  1. افتراضاً، يتم استخدام المنفذ 2222 للاتصال بوكيل ESET Management. إذا قمت بتغيير المنفذ أثناء التثبيت، فاستخدم رقم المنفذ المستخدَم. قم بتغيير 2222 في السطر: AllowCONNECT 443 563 2222 8883 53535 إلى رقم المنفذ لديك.
  2. قم بتمكين ملفات التكوين التي قمت بتحريرها في خطوات سابقة:

sudo a2enconf cache_disk.conf proxy.conf

  1. قم بتحويل منفذ استماع خادم Apache HTTP إلى 3128. قم بتحرير الملف ‎‏/etc/apache2/ports.conf واستبدل Listen 80 بـ Listen 3128
  2. مصادقة أساسية اختيارية:

sudo vim /etc/apache2/mods-enabled/proxy.conf

  • نسخ / لصق تكوين مصادقة قبل </Proxy>

AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

  • قم بتثبيت apache2-utils وإنشاء ملف كلمة مرور جديد (على سبيل المثال اسم المستخدم: user، المجموعة: usergroup):

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user

  • إنشاء ملف باسم مجموعة:

sudo vim /etc/apache2/group.file

وانسخ/الصق السطر التالي:

usergroup:user

  1. أعد تشغيل خادم Apache HTTP باستخدام الأمر التالي:

sudo service apache2 restart

 

إعادة توجيه اتصال ESET فقطللسماح بإعادة توجيه اتصال ESET فقط، أزل التالي:

<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

وأضف التالي:

<Proxy *>

Deny from all

</Proxy>

 

#*.eset.com:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[c,C][o,O][m,M](:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#*.eset.eu:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[e,E][u,U](:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#*.eset.systems:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[s,S][y,Y][s,S][t,T][e,E][m,M][s,S](:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#Antispam module (ESET Mail Security only):

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(ds1-uk-rules-1.mailshell.net|ds1-uk-rules-2.mailshell.net|ds1-uk-rules-3.mailshell.net|fh-uk11.mailshell.net)(:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#Services (activation)

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(edf-pcs.cloudapp.net|edf-pcs2.cloudapp.net|edfpcs.trafficmanager.net)(:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#ESET servers accessed directly via IP address:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(91.228.165.|91.228.166.|91.228.167.|38.90.226.)([0-9]+)(:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#AV Cloud over port 53535

<ProxyMatch ^.*e5.sk.*$>

Allow from all

</ProxyMatch>

إعادة التوجيه لجميع الاتصالات

للسماح بإعادة توجيه جميع عمليات الاتصال، أضف التالي:

<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

وأزل التالي:

<Proxy *>

Deny from all

</Proxy>

 

#*.eset.com:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[c,C][o,O][m,M](:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#*.eset.eu:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[e,E][u,U](:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#*.eset.systems:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[s,S][y,Y][s,S][t,T][e,E][m,M][s,S](:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#Antispam module (ESET Mail Security only):

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(ds1-uk-rules-1.mailshell.net|ds1-uk-rules-2.mailshell.net|ds1-uk-rules-3.mailshell.net|fh-uk11.mailshell.net)(:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#Services (activation)

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(edf-pcs.cloudapp.net|edf-pcs2.cloudapp.net|edfpcs.trafficmanager.net)(:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#ESET servers accessed directly via IP address:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(91.228.165.|91.228.166.|91.228.167.|38.90.226.)([0-9]+)(:[0-9]+)?(/.*)?$>

Allow from all

</ProxyMatch>

 

#AV Cloud over port 53535

<ProxyMatch ^.*e5.sk.*$>

Allow from all

</ProxyMatch>

تسلسل الوكيل (جميع عمليات نقل البيانات)

لا يدعم ‎ESET PROTECT تسلسل الوكيل حينما يطلب الوكلاء المصادقة. يمكنك استخدام حل وكيل الويب الشفاف، ورغم ذلك، قد يكون هناك تكوين إضافي يتطلب أكثر مما ذُكِر هنا. إضافة ما يلي إلى تكوين الوكيل (تعمل كلمة المرور فقط في وكيل فرعي):

<VirtualHost *:3128>

ProxyRequests On

ProxyRemote * http://IP_ADDRESS:3128

</VirtualHost>

عند استخدام تسلسل الوكيل على جهاز ‎ESET PROTECT الظاهري، يجب تعديل نهج SELinux. افتح الوحدة الطرفية على جهاز ‎ESET PROTECT الظاهري وقم بتشغيل الأمر:

/usr/sbin/setsebool -P httpd_can_network_connect 1

تكوين وكيل HTTP لعدد كبير من العملاء

إذا كنت تستخدم وكيل Apache HTTP إصدار 64 بت، فيمكنك زيادة حد مؤشر الترابط لـ Apache HTTP Proxy. قم بتحرير ملف التكوين httpd.conf، داخل مجلد Apache HTTP Proxy الخاص بك. ابحث عن الإعدادات التالية في الملف وقم بتحديث القيَم لمطابقة عدد العملاء.

استبدل قيمة مثال 5000 برقمك. الحد الأقصى للقيمة هي 32000.

ThreadLimit 5000

ThreadsPerChild 5000

 
لا تقم بتغيير بقية الملف.

قم بتهيئة وكيل Apache HTTP لإعادة توجيه اتصالات خادم العامل

  1. في جهاز الوكيل، افتح الملف
      1. توزيعات Debian
        /etc/apache2/mods-available/proxy.conf
      2. توزيعات Red Hat
        /etc/httpd/conf/httpd.conf
  2. أضف الأسطر التالية إلى نهاية الملف:
    AllowCONNECT 443 563 2222 8883 53535
  3. في جهاز الوكيل، افتح الملف
      1. توزيعات Debian
        /etc/apache2/apache2.conf
      2. توزيعات Red Hat
        /etc/httpd/conf/httpd.conf
  4. ابحث عن السطر التالي:
    Listen 80
    وقم بتغييره إلى
    Listen 3128
  5. إذا قمت بإضافة قيود لعناوين IP في تكوين الوكيل (الخطوة 1)، فيتعين عليك السماح بالوصول إلى خادم ESET PROTECT:

أضف مقطع ‎ProxyMatch منفصلاً:

        1. العنوان الذي تستخدمه العوامل لديك للاتصال بخادم ‎ESET PROTECT.
        2. جميع العناوين المحتملة الأخرى لخادم ‎‏ESET PROTECT (IP‏،‎ FQDN)
          ‎(أضف الرمز الوارد أدناه بالكامل؛ عنوان IP 10.1.1.10 واسم المضيف hostname.example هي مجرد أمثلة تُستبدل بالعناوين الخاصة بك. كما يمكنك أيضاً إنشاء تعبير ProxyMatch في مقالة قاعدة المعارف هذه).
           

<ProxyMatch ^(hostname\.example(:[0-9]+)?(\/.*)?|10\.1\.1\.10(:[0-9]+)?(\/.*)?)$>

Allow from all

</ProxyMatch>

  1. أعد تشغيل خدمة Apache HTTP Proxy.

إعداد SELinux

عند استخدام الوكيل على الجهاز الظاهري ESET PROTECT، يجب تعديل سياسة SELinux (قد يكون لبعض توزيعات Linux الأخرى نفس المتطلبات). افتح الوحدة الطرفية على جهاز ‎ESET PROTECT الظاهري وقم بتشغيل الأمر:

/usr/sbin/setsebool -P httpd_can_network_connect 1

sudo semanage port -a -t http_port_t -p tcp 2222