خطوات التثبيت
يصف هذا الدليل تثبيت حزم RPM باستخدام yum.
يُقصد بهذا الدليل أن يُستخدم لتثبيت SKOOR على نظام جديد. لترقية نظام SKOOR موجود بالفعل، يرجى استخدام دليل الترقية الموجود هنا.
المتطلبات
تعطيل SELinux
قبل تثبيت SKOOR Engine، يجب تعطيل SELINUX. عرض حالة SELinux:
sestatus
تحقق مما إذا كان الوضع قيد التنفيذ:
SELinux status: enabled ... Current mode: enforcing
إذا كان الأمر كذلك، فقم بتغييره على الأقل إلى permissive أو قم بتعطيله عن طريق تغيير تكوين SELinux:
vi /etc/selinux/config
قم بتغيير التكوين إلى permissive أو disabled:
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 13 هو خادم قاعدة البيانات الذي يحتاجه محرك SKOOR. يجب تثبيته قبل برنامج SKOOR:
قم بتثبيت خادم PostgreSQL باستخدام حزمة تثبيت SKOOR PostgreSQL:
dnf install eranger-postgresql
تقوم هذه الحزمة بتنفيذ الخطوات التالية:
تثبيت
postgresql13-serverوtimescaledb-2-postgresql-13و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 Engine المثبتة:
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 خارجي، استخدم الأمر التالي للتثبيت الكامل:
dnf install eranger-collector eranger-collector-eem eranger-collector-mail
التثبيت الأساسي لـ Skoor Engine Collector:
لتثبيت جامع محرك SKOOR خارجي أساسي، استخدم الأمر التالي:
dnf install eranger-collector
حزم إضافية لمجمع Skoor Engine الأدنى:
لتمكين مهام 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 للسماح بهذا النوع من الاتصال أولاً.
لا يمكن تبديل المجمعات التي تستخدم 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 | إذا تم تعيينه على صحيح (افتراضي)، يتم التحقق من شهادة خادم 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 مع برنامج جدولة IO cfq. برنامج جدولة 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
