خطوات التثبيت
يصف هذا الدليل كيفية تثبيت حزم RPM باستخدام yum.
يُقصد بهذا الدليل التثبيتي تثبيت SKOOR على نظام جديد. لترقية نظام SKOOR موجود بالفعل، يرجى استخدام دليل الترقية الموجود هنا.
المتطلبات الأساسية
تعطيل SELinux
قبل تثبيت SKOOR Engine، يجب تعطيل SELinux. عرض حالة SELinux:
sestatus
تحقق مما إذا كان الوضع هو enforcing:
SELinux status: enabled ... Current mode: enforcing
إذا كان الأمر كذلك، فقم بتغييره على الأقل إلى "تساهلي" أو قم بتعطيله عن طريق تغيير تكوين SELinux:
vi /etc/selinux/config
تغيير التكوين إلى "تساهلي" أو "معطل":
SELINUX=disabled
تنشيط الإعداد والتحقق باستخدام sestatus:
setenforce 0
السماح باستخدام cron للمستخدمين
إذا كان cron مقيدًا، فيجب السماح للمستخدمين الذين يحتاجهم برنامج SKOOR بالوصول إلى cron عن طريق إضافتهم إلى الملف التالي:
/etc/cron.allow
المستخدمون:
postgres eranger reranger
بصمات GPG لمستودع SKOOR:
RPM-GPG-KEY-SKOOR:
0C18 95B8 11D4 71E5 D043 EFA3 69E1 147C 2CB4 0F3A
RPM-GPG-KEY-PGDG:
D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20
RPM-GPG-KEY-TIMESCALEDB:
1005 fb68 604c e9b8 f687 9cf7 59f1 8edf 47f2 4417
تثبيت محرك SKOOR (خادم واحد)
بالنسبة للأنظمة التي تحتوي على تكرار قاعدة البيانات، يجب تثبيت خادمين منفصلين كما هو موضح في هذا القسم. راجع دليل تكرار قاعدة البيانات لمزيد من خطوات التكوين
تثبيت PostgreSQL
PostgreSQL 17 هو خادم قاعدة البيانات الذي يحتاجه محرك SKOOR. يجب تثبيته قبل برنامج SKOOR:
قم بتثبيت خادم PostgreSQL باستخدام حزمة تثبيت SKOOR PostgreSQL:
dnf install eranger-postgresql
تقوم هذه الحزمة بالخطوات التالية:
تثبيت
postgresql17-serverوtimescaledb-2-postgresql-17وeranger-database-utilsمن خلال تبعياتها.تهيئة مجموعة قواعد البيانات باستخدام
initdbضبط
postgresql.confلـ TimescaleDBتقوم بتهيئة قاعدة بيانات (قاعدة بيانات عادية، بدون مخطط أو بيانات) يمكن استخدامها بواسطة خادم SKOOR
يفتح منفذ TCP 5432 على جدار الحماية
تثبيت PgBouncer
يُستخدم PgBouncer كمجمع اتصالات ويقع بين SKOOR وخادم PostgreSQL.
قم بتثبيت PgBouncer باستخدام حزمة تثبيت SKOOR PgBouncer:
dnf install eranger-pgbouncer
تقوم هذه الحزمة بالخطوات التالية:
تثبيت
pgbouncerمن خلال تبعياته.إعادة تكوين PostgreSQL (postgresql.conf)
listen_addresses = 'localhost'الاستماع فقط للاتصالات المحليةunix_socket_directories = '/var/run/postgresql-backend'عدم استخدام مقبس UNIX الافتراضي لـ PostgreSQLmax_connections = 300السماح بـ 300 اتصال
تكوين PgPool
listen_addr = *listen_port = 5432unix_socket_dir = /var/run/postgresqlmax_client_conn = 300default_pool_size = 60
التثبيت القياسي للخادم
بالنسبة للعملاء الذين يحتاجون فقط إلى مجموعة البرامج الأساسية (أي معظم العملاء)، قم بتشغيل الأمر التالي لتثبيت الحزم المطلوبة:
dnf install eranger-server
تحقق من حزم محرك SKOOR المثبتة:
dnf list installed |grep eranger
النتيجة المتوقعة:
eranger-agent.x86_64 <version> eranger-auth.x86_64 <version> eranger-collector.x86_64 <version> eranger-collector-eem.x86_64 <version> eranger-collector-mail.x86_64 <version> eranger-common.x86_64 <version> eranger-database-utils.x86_64 <version> eranger-doc.x86_64 <version> eranger-nodejs.x86_64 <version> eranger-postgresql.x86_64 <version> eranger-pymodules.x86_64 <version> eranger-report.x86_64 <version> eranger-server.x86_64 <version> eranger-syncfs.x86_64 <version> eranger-ui.x86_64 <version>
يقوم SKOOR < 8.1 بتثبيت Google Chrome كأحد المتطلبات. يقوم Google Chrome بتثبيت مستودع YUM لتحديث نفسه إلى الإصدارات الأحدث. ولكن نظرًا لأن SKOOR يحتاج إلى إصدار محدد جدًا، فإننا نحتاج إلى تعطيل هذا المستودع الذي تم إنشاؤه حديثًا. لا يتطلب SKOOR >= 8.1 Google Chrome بعد الآن، وبالتالي لا يتم تثبيت المستودع أيضًا.
sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/google-chrome.repo
تثبيت SKOOR Engine Collector
منذ الإصدار 5.5، هناك خياران للمجمع الخارجي، التثبيت الكامل والتثبيت الأساسي. يأتي التثبيت الأساسي مع مجموعة ميزات محدودة وتبعيات أقل ويمكن توسيعه لاحقًا إلى تثبيت كامل مع حزم إضافية.
التثبيت الكامل لـ Skoor Engine Collector:
لتثبيت SKOOR Engine Collector خارجي، استخدم الأمر التالي للتثبيت الكامل:
dnf install eranger-collector eranger-collector-eem eranger-collector-mail
التثبيت الأساسي لمجمع محرك Skoor:
لتثبيت SKOOR Engine Collector خارجي أساسي، استخدم الأمر التالي:
dnf install eranger-collector
حزم إضافية لمجمع Skoor Engine Collector الأدنى:
لتمكين مهام EEM على المجمع الخارجي، يمكنك تثبيت المكون الإضافي باستخدام الأمر التالي:
dnf install eranger-collector-eem
لتمكين مهام البريد (EWS أو IMAP أو POP3 أو SMTP) على المجمع الخارجي، يمكنك تثبيت المكون الإضافي باستخدام الأمر التالي:
dnf install eranger-collector-mail
الاتصال بمحرك SKOOR
بعد تثبيت مجمع خارجي جديد، يجب تكوين الاتصال بمحرك SKOOR. يوضح القسم التالي الطرق المختلفة لتحقيق ذلك.
عام
بالنسبة لمحرك SKOOR، يعد المجمع نوعًا خاصًا من المستخدمين. لذلك، يجب تكوين كل مجمع خارجي في واجهة المستخدم. قم بإنشاء مستخدم معتمد محليًا بدور "مجمع" في /root /Users /Users وقم بتعيين كلمة مرور.
يتم إجراء التكوين الإضافي في ملف تكوين المجمعات على خادم المجمع:
/etc/opt/eranger/eranger-collector.cfg
أولاً، يجب تحديد server_id لمحرك SKOOR. على مضيف محرك SKOOR، افتح ملف eranger-server.cfg:
/etc/opt/eranger/eranger-server.cfg
ابحث عن المعلمة server_id في التكوين (إذا كانت معلقة كما في المثال التالي، فإن المعرف هو 1):
#server_id = 1
إذا كان المجمع الخارجي يرسل قياسات إلى أكثر من محرك SKOOR واحد، فيجب أن تكون المعلمة server_id مختلفة في كل محرك SKOOR.
TCP
هذه هي الطريقة القياسية التي يتواصل بها المجمعون مع محرك SKOOR. الاتصال غير مشفر.
يجب تكوين المعلمات التالية في ملف eranger-collector.cfg:
اضبط المعلمة server1_id على القيمة التي تم تكوينها على خادم محرك SKOOR كـ server_id (القيمة الافتراضية هي 1)
اضبط المعلمة server1_address على اسم مضيف محرك SKOOR أو عنوان IP (تُستخدم مآخذ unix فقط لأجهزة التجميع المحلية)
اضبط server1_user و server1_passwd كما تم تكوينهما في محرك SKOOR
server1_id = 1 server1_address = 10.10.10.10 #server1_port = 50001 #server1_domain = server1_user = collector-user server1_passwd = collector-password #server<server_id>_fetch_parse_dir (server_id instead of index)! #server1_fetch_parse_dir= /var/opt/run/eranger/collector/tmp
HTTP/HTTPS
يُنصح بعدم استخدام HTTP بدون تشفير. إذا لزم الأمر لسبب ما، يجب تكوين خادم httpd على SKOOR Engine للسماح بهذا النوع من الاتصال أولاً.
لا يمكن تبديل المجمعات التي تستخدم HTTP(S) للاتصال تلقائيًا عند إجراء تجاوز الفشل في إعداد أساسي/احتياطي
يصف القسم التالي كيفية إعداد الاتصال المشفر باستخدام HTTPS. للتشفير، يجب نسخ شهادة CA الجذرية المستخدمة من قبل خادم محرك SKOOR إلى نظام المجمع. يمكن استخدام مسارات Linux القياسية لوضعها في نظام الملفات.
قم بتكوين المعلمات المطلوبة في eranger-collector.cfg:
اضبط المعلمة server1_id على القيمة التي تم تكوينها على خادم SKOOR Engine كـ server_id (القيمة الافتراضية هي 1)
اضبط المعلمة server1_address على اسم مضيف SKOOR Engine أو عنوان IP في شكل URL كما هو موضح أدناه
تأكد من تعليق المعلمة server1_port، وإلا فسوف تتعطل الاتصالات
اضبط server1_user و server1_passwd كما تم تكوينهما في SKOOR Engine
قم بتكوين server1_ssl_cacert أو server1_ssl_capath على الموقع الذي تم نسخ الشهادة إليه مسبقًا
server1_id = 1 server1_address = https://10.10.10.10/skoor-collector #server1_port = 50001 #server1_domain = server1_user = collector-user server1_passwd = collector-password #server<server_id>_fetch_parse_dir (server_id instead of index)! #server1_fetch_parse_dir= /var/opt/run/eranger/collector/tmp server1_ssl_cacert = /etc/pki/tls/certs/rootCA.pem
HTTPS مع مصادقة العميل
يجب تمكين مصادقة العميل على محرك SKOOR أولاً. افتح ملف تكوين خادم الويب المعني لهذا الغرض:
/etc/httpd/conf.d/skoor-engine-over-http.conf
قم بإلغاء تعليق توجيه SSLVerifyClient:
<Location "/skoor-collector">
ExpiresActive On
ExpiresDefault "now"
ProxyPass http://localhost:50080 retry=0 connectiontimeout=15 timeout=30
SSLVerifyClient require
</Location>
أعد تحميل httpd:
systemctl reload httpd
الاسم | الوصف |
|---|---|
server1_ssl_cacert | المسار الكامل لشهادة CA الجذرية، سيستخدم المجمع هذا الملف المحدد |
server1_ssl_capath | مسار الدليل الذي يحتوي على شهادة CA الجذرية، سيبحث المجمع عن الشهادة الصحيحة |
server1_ssl_verify_peer | إذا تم تعيينه على true (الافتراضي)، يتم التحقق من شهادة خادم SKOOR Engine |
server1_ssl_verify_host | إذا تم تعيينه على "صحيح" (الافتراضي)، يتم التحقق من اسم مضيف خادم SKOOR Engine |
server1_ssl_cert_client_public_key | المفتاح العام المستخدم لمصادقة العميل (شهادة المجمع) |
server1_ssl_cert_client_private_key | المفتاح الخاص المستخدم لمصادقة العميل (المفتاح الخاص للمجمع) |
server1_ssl_cert_client_private_key_passwd | كلمة المرور لقراءة المفتاح الخاص للمجمع إذا تم تعيينها |
ترخيص SKOOR Engine
احصل على ترخيص صالح من SKOOR وأضف الأسطر اللازمة إلى الملف:
/etc/opt/eranger/eranger-server.cfg
مثال مع ترخيص لـ 1000 جهاز:
license_name = Example customer license_feature_set = 3.1 license_devices= 1000 license_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx… يمثل مفتاح الترخيص الفعلي. تأكد من إدخال المفتاح الفعلي في سطر واحد دون وجود أحرف انتقال للسطر بينهما.
تكوين محرك SKOOR
قم بتوسيع متغير PATH للجذر:
~/.bashrc
أضف:
PATH=$PATH:/opt/eranger/bin
ثم قم بتطبيق التغييرات وقم بتشغيل eRanger.sh start لبدء خدمات محرك SKOOR:
. ~/.bashrc
eRanger.sh start
=========================================================================== Choose command eRanger Version 5.0.0 Command - Action - Object - Current State =========================================================================== 1 - start - eRanger Server - started 2 - start - eRanger Collector - started 3 - start - eRanger Report - started 4 - start - eRanger Agent - started a - start - all above 9 - start - eRanger Webservice - started 11 - start - PostgreSQL - started 12 - start - Rsyslog - started 13 - start - Trapd - stopped 14 - start - Httpd - started 15 - start - Smsd - stopped 16 - start - Postfix - started r - Switch to restart mode S - Switch to stop mode c - Current eRanger status 0 - do_exit program Enter selection:
لا يتم سرد Webservice و IC Alerter و Ethd إلا إذا تم تثبيت الحزمة المقابلة.
أدخل a لبدء تشغيل جميع الخدمات المطلوبة. ثم اخرج باستخدام 0.
تسجيل الدخول إلى SKOOR Engine
الآن يجب أن يكون بإمكانك تسجيل الدخول إلى SKOOR Engine باستخدام متصفح ويب وإدخال اسم المجال الكامل (FQDN) أو عنوان IP الخاص بـ SKOOR Engine في شريط العناوين:
بيانات تسجيل الدخول الافتراضية هي:
اسم المستخدم | admin |
|---|---|
كلمة | admin |
تثبيت شهادة SSL
بعد التثبيت الافتراضي، سيظهر للمتصفح تحذير بشأن شهادات أمان SSL غير الموثوق بها. يمكنك إما قبول الشهادة الافتراضية الموقعة ذاتيًا أو إنشاء شهادة SSL مخصصة وتثبيتها.
بشكل افتراضي، توجد الشهادات في:
/etc/pki/tls/certs/
يجب تعديل ملف التكوين
/etc/httpd/conf.d/ssl.conf
إلى الشهادات الصحيحة. يبدو أحد الأمثلة على الإدخال كما يلي:
SSLCertificateFile /etc/pki/tls/certs/wildcard_mycompany.ch.crt SSLCertificateKeyFile /etc/pki/tls/private/private-key_mycompany.ch.key
أعد تشغيل خادم الويب Apache باستخدام الأمر:
systemctl restart httpd
تعطيل إعادة كتابة https
عند استدعاء http://skoor.company.com، سيقوم خادم الويب بإعادة كتابة العنوان لاستخدام https بدلاً من http. إذا كان سيتم استخدام http فقط، فقم بتعطيل قاعدة إعادة الكتابة في ملف التكوين:
/etc/httpd/conf.d/eranger.conf
قم بتعليق الأسطر الثلاثة التالية (بوضع علامة الهاش في البداية):
# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
أعد تشغيل خادم الويب Apache باستخدام الأمر:
systemctl restart httpd
تحسين SKOOR في البيئات الافتراضية
إذا كنت تقوم بتشغيل محرك SKOOR أو مجمع SKOOR داخل آلة افتراضية، فيجب تكييف مجدول IO لأسباب تتعلق بالأداء. بشكل افتراضي، يتم تثبيت Red Hat < 7 مع مجدول cfq IO. مجدول IO الموصى به لأنظمة Red Hat التي تعمل في آلة افتراضية هو مجدول noop على Red Hat 7 ومجدول none على Red Hat 8 / 9.
بالنسبة لأنظمة Red Hat 7
قم بتشغيل الأوامر التالية لتمكين جدولة noop لنظام قيد التشغيل لجهاز الكتلة sda الذي يتوافق عادةً مع القرص الأول:
# echo noop > /sys/block/sda/queue/scheduler # cat /sys/block/sda/queue/scheduler [noop] anticipatory deadline cfq
تم الآن تعيين جدولة noop كجدولة حالية. قم بتشغيل هذا الأمر لكل قرص افتراضي تم تكوينه للنظام (استبدل sda باسم القرص الافتراضي).
ومع ذلك، لن يستمر الإعداد أعلاه عبر عمليات إعادة التشغيل. استخدم الدليل التالي لتمكين جدولة noop بشكل دائم.
قم بتعيين noop بشكل عام لجميع الأجهزة عن طريق تحرير ملف the file /etc/default/grub كما هو موضح أدناه ثم إعادة إنشاء ملف تكوين grub2:
# vi /etc/default/grub ... GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap" (before) GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap elevator=noop" (after) ... # grub2-mkconfig -o /boot/grub2/grub.cfg (on BIOS-based machines) # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg (on UEFI-based machines)
لأنظمة Red Hat 8 / 9
قم بتشغيل الأوامر التالية لتمكين جدولة noop لنظام قيد التشغيل لجهاز الكتلة sda الذي يتوافق عادةً مع القرص الأول:
# echo none > /sys/block/sda/queue/scheduler # cat /sys/block/sda/queue/scheduler [none] mq-deadline kyber bfq
تم الآن تعيين جدولة none كجدولة حالية. قم بتشغيل هذا الأمر لكل قرص افتراضي تم تكوينه للنظام (استبدل sda باسم القرص الافتراضي).
ومع ذلك، لن يستمر الإعداد أعلاه عبر عمليات إعادة التشغيل. استخدم الدليل التالي لتمكين جدولة none بشكل دائم.
قم بتعيين none بشكل عام لجميع الأجهزة عن طريق تحرير ملف the file /etc/default/grub كما هو موضح أدناه ثم إعادة إنشاء ملف تكوين grub2:
# vi /etc/default/grub ... GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rh9-swap rd.lvm.lv=rh9/root rd.lvm.lv=rh9/swap" (before) GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rh9-swap rd.lvm.lv=rh9/root rd.lvm.lv=rh9/swap elevator=none" (after) ... # grub2-mkconfig -o /boot/grub2/grub.cfg (on BIOS-based machines) # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg (on UEFI-based machines)
إنشاء مستودع yum
في حالة عدم تمكن مضيفات المجمع البعيدة من الوصول إلى أي مستودعات Red Hat ولكن محرك SKOOR يمكنه ذلك، قد يكون من المفيد إنشاء مستودع برامج بسيط على الخادم يحتوي على جميع ملفات RPM المستخدمة للتثبيت عبر yum. سيكون المستودع متاحًا لمضيفات المجمع عبر المنفذ 443 الذي يعد منفذًا مفتوحًا بالفعل. فيما يلي الخطوات المطلوبة لإعداد مثل هذا المستودع والوصول إليه من مضيف مجمع بعيد:
قم بإنشاء الدليل الجذري للمستودع ونسخ جميع ملفات RPM المطلوبة:
# cd /srv/eranger/html # mkdir repo # cp /path/to/*.rpm repo/ # yum install createrepo # createrepo ./repo
استبدل /path/to/ أعلاه بالمسار الذي تم نسخ ملفات RPM المطلوبة إليه على مضيف محرك SKOOR. سيؤدي ذلك إلى إنشاء دليل فرعي جديد باسم repodata داخل دليل repo.
أضف الآن المستودع كمصدر لتثبيت الحزم على المضيفات البعيدة (مثل مضيف جامع SKOOR Engine):
# vi /etc/yum.repos.d/SKOOR.repo
[SKOOR] name=SKOOR baseurl=https://<ip or hostname of repository>/repo/ sslverify=false gpgcheck=0 enabled=1
تحقق من الوصول إلى المستودع المضاف حديثًا من المضيف البعيد:
# yum clean all # yum repolist
الآن يمكن للمضيف البعيد تثبيت البرامج باستخدام مستودع SKOOR كمصدر للحزم.
إضافة قرص DVD أو CD كمستودع
لتثبيت البرامج من محرك أقراص DVD أو CD RedHat مدرج، أضف مستودعًا جديدًا عن طريق إنشاء الملف التالي:
vi /etc/yum.repos.d/RHEL_6.5_DVD.repo
[RHEL_6.5_DVD] name=RHEL_6.5_DVD baseurl="file:///cdrom/" gpgcheck=0
