الفهرس العام للسلسلة: شبكات الحاسوب للشركات الصغيرة والمتوسطة: مقدمة
هذا المقال هو استمرار لـ:
مرحبا الاصدقاء والاصدقاء!
نستمر في إضافة خدمات الشبكة على أساس مصادقة المستخدمين المحليين إلى الخادم الصغير لمجموعة المتحمسون البرمجيات الحرة ، وتحديدا CentOS.
تغيرت ظروف عمل المجموعة نحو الأفضل. لديهم الآن كمقر رئيسي منزل من ثلاثة طوابق مع قبو ويحتاجون إلى تنفيذ خادم المراسلة الفورية ونقل الملفات بين محطات العمل ، لتخفيف صعوبة صعود ونزول السلالم أو الكثير من المشي. ؛-). لهذا يقترحون استخدام البرنامج علم العروض.
إنهم مصممون على نشر خدمة الدردشة عبر الإنترنت للمتحمسين فقط ، ويخططون لربط خادم المراسلة الفورية الخاص بهم بخوادم XMPP المتوافقة الأخرى الموجودة في شبكة الشبكات. لهذا اشتروا اسم المجال fromlinux.fan وحتى الآن ، تتم إدارة عنوان IP المرتبط بهذا الاسم بواسطة مزود الوصول إلى الإنترنت الخاص بك.
ستسمح لهم خدمة الدردشة عبر Prosody بتبادل الرسائل الفورية ونقل الملفات وعقد المؤتمرات الصوتية والمرئية والمزيد.
مؤشر
- 1 ما هو برنامج Prosody Instant Messenger؟
- 2 الايجابيات والمصادقة ضد المستخدمين المحليين
- 3 سايروس-ساسل وساسلاوت
- 4 Prosody و lua-cyrussasl
- 5 شهادات SSL للاتصالات الآمنة
- 6 تعديلات في تكوين Dnsmasq في لينوكس بوكس
- 7 التعديلات في DNS الخارجي في ISP
- 8 نعيد تشغيل Prosody
- 9 نقوم بتكوين Cyrus SASL
- 10 نقوم بتعديل جدار الحماية
- 11 عميل XMPP Psi
- 12 ملخص
ما هو برنامج Prosody Instant Messenger؟
علم العروض إنه خادم اتصالات حديث يعتمد على بروتوكول XMPP. إنه مصمم لسهولة التركيب والتكوين ، والإدارة الفعالة لموارد النظام. Prosody هو برنامج مفتوح المصدر - مفتوح المصدر تم إنشاؤه بموجب الترخيص المسموح به MIT / X11.
XMPP إنه بديل غير تجاري لتقديم خدمات المراسلة الفورية. يمكن تنفيذه في بيئة أعمال إنتاجية ، في شبكة عائلية ، شبكة خاصة من الجيران ، وما إلى ذلك. وهو يدعم مجموعة واسعة من برامج العميل لمنصات سطح المكتب والأجهزة المحمولة. من خلال XMPP يمكن توفير هذه الخدمة لأي جهاز.
بالإضافة إلى ذلك ، يمكنهم ذلك إنلازار العديد من عمليات التثبيت لـ Prosody والخدمات الأخرى المتوافقة مع بروتوكول XMPP ، وتشكل شبكة مراسلة حيث سيكون لدينا سيطرة كاملة على حركة مرور الرسائل والملفات التي ستحدث بطريقة آمنة تمامًا.
الايجابيات والمصادقة ضد المستخدمين المحليين
في Prosody IM خريطة الموقع وجدنا رابط الصفحة موفرو المصادقة، والذي ينص على أنه اعتبارًا من الإصدار 0.8 من Prosody ، يتم دعم العديد من موفري المصادقة من خلال الإضافات. يمكنك استخدام ال السائقين برنامج مضمن ، أو يمكنك التكامل مع موفري المصادقة والتخزين التابعين لجهات خارجية باستخدام ملفات واجهات برمجة التطبيقات.
مزودي المصادقة الذين قد نوظفهم
وصف الاسم -------------- ---------------------------------- ----------------------- داخلي_سهل المصادقة الافتراضية. يتم تخزين كلمات مرور النص العادي باستخدام وحدة تخزين مدمجة. تجزئة داخلي يتم تخزين كلمات المرور المشفرة بواسطة خوارزمية داخلية باستخدام التخزين المدمج. سيروس التكامل مع Cyrus SASL (LDAP ، برنامج الأغذية العالمي، ...) مجهول آلية المصادقة باستخدام SASL "ANONYMOUS" باسم مستخدم عشوائي لا يتطلب بيانات اعتماد المصادقة.
يستخدم XMPP بروتوكول المصادقة البسيطة للطبقة الآمنة القياسية للمصادقة - Simpl Authentication و Secure Lفي الامس (SASL) ، للتحقق من صحة بيانات اعتماد العملاء. يتضمن Prosody المكتبة SASL التي تتحقق افتراضيًا من صحة بيانات الاعتماد مقابل الحسابات الموجودة في وحدة التخزين المدمجة الخاصة بها.
منذ الإصدار 0.7 من Prosody ، يتم دعم الموفر الخارجي سايروس سالس والتي يمكنها التحقق من صحة بيانات الاعتماد المقدمة من قبل المستخدمين الخارجيين مقابل مصادر أخرى مثل: برنامج الأغذية العالمي، LDAP ، SQL وغيرها. كما يسمح باستخدام GSSAPI لخدمات الدخول الموحد - خدمات الدخول الموحد.
في هذا المقال على Prosody ، لتحقيق المصادقة ضد المستخدمين المحليين عبر PAM ، سوف نستخدم مزود المصادقة «سيروس»مقدم من الحزمة«سايروس ساسل»وهذا يعمل مع الخفيّة saslauthd.
سايروس-ساسل وساسلاوت
[root @ linuxbox ~] # yum تثبيت cyrus-sasl
تم تثبيت البرنامج الخفي saslauthd بالفعل
[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> إيقاف
[root @ linuxbox ~] # setsebool saslauthd_read_shadow قيد التشغيل
[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> تشغيل
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - خدمة مصادقة SASL. مُحمَّل: مُحمَّل (/usr/lib/systemd/system/saslauthd.service ؛ مُعطل ؛ ضبط مُسبق للبائع: مُعطل) نشط: غير نشط (ميت)
[root @ linuxbox ~] # systemctl تمكين saslauthd
تم إنشاء ارتباط رمزي من /etc/systemd/system/multi-user.target.wants/saslauthd.service إلى /usr/lib/systemd/system/saslauthd.service.
[root @ linuxbox ~] # systemctl ابدأ saslauthd
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - خدمة مصادقة SASL. مُحمَّل: مُحمَّل (/usr/lib/systemd/system/saslauthd.service ؛ مُمكّن ؛ ضبط البائع مسبقًا: معطل) نشط: نشط (قيد التشغيل) منذ السبت 2017-04-29 10:31:20 EDT ؛ قبل 2 ثانية العملية: 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (كود = خرج ، الحالة = 0 / نجاح) PID الرئيسي: 1679 (saslauthd) CGroup: /system.slice/saslauthd. الخدمة ├─1679 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1680 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1681 / usr / sbin / saslauthd -m / run / saslauthd -a بام ├─1682 / usr / sbin / saslauthd -m / run / saslauthd -a pam └─1683 / usr / sbin / saslauthd -m / run / saslauthd -a pam
Prosody و lua-cyrussasl
[root @ linuxbox ~] # yum تثبيت العروض
---- تم حل التبعيات ========================================== ===================================== حجم مستودع إصدار بنية الحزمة ========= =================================================== ===================== التثبيت: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k التثبيت للاعتماديات: lua-expat x86_64 1.3.0- 4.el7 Epel-Repo 32 k lua-filesystem x86_64 1.6.2-2.el7 Epel-Repo 28 k lua-sec x86_64 0.5-4.el7 Epel-Repo 31 k lua-socket x86_64 3.0-0.10.rc1.el7 Epel -Repo 176k ملخص المعاملة ========================================= ====================================== تثبيت حزمة واحدة (+1 حزم تابعة) --- -
[root @ linuxbox ~] # getsebool -a | عرض grep
prosody_bind_http_port -> إيقاف
[root @ linuxbox ~] # setsebool prosody_bind_http_port تشغيل
[root @ linuxbox ~] # getsebool -a | عرض grep
prosody_bind_http_port -> تشغيل
[root @ linuxbox ~] # systemctl تمكين العروض
تم إنشاء ارتباط رمزي من /etc/systemd/system/multi-user.target.wants/prosody.service إلى /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # عرض حالة النظام systemctl ● prosody.service - خادم Prosody XMPP (Jabber) محمل: تم تحميله (/usr/lib/systemd/system/prosody.service ؛ مُمكّن ؛ مُعد مسبقًا من البائع: مُعطل) نشط: غير نشط (ميت )
[root @ linuxbox ~] # systemctl بدء العرض
[root @ linuxbox ~] # عرض حالة systemctl
● prosody.service - تم تحميل خادم Prosody XMPP (Jabber): تم تحميله (/usr/lib/systemd/system/prosody.service ؛ ممكّن ؛ الإعداد المسبق للمورد: معطل) نشط: نشط (قيد التشغيل) منذ السبت 2017-04-29 10:35:07 EDT؛ منذ 2 ثانية العملية: 1753 ExecStart = / usr / bin / prosodyctl start (الرمز = الخروج ، الحالة = 0 / نجاح) PID الرئيسي: 1756 (lua) CGroup: /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody
[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 أبريل 10:35:06 معلومات عامة أهلاً ومرحبًا بكم في إصدار Prosody 0.9.12 أبريل 29 10:35:06 معلومات عامة يستخدم Prosody الواجهة الخلفية المحددة لمعالجة الاتصال 29 أبريل 10:35:06 معلومات portmanager خدمة مفعلة 's2s' في [::]: 5269، [*]: 5269 أبريل 29 10:35:06 معلومات عامل التحميل تم تنشيط خدمة "c2s" على [::]: 5222 ، [*]: 5222 أبريل 29 10:35:06 تم تنشيط معلومات مسؤول النقل خدمة 'legacy_ssl' على أي منافذ 29 أبريل 10:35:06 معلومات mod_posix ، بروسودي على وشك الانفصال عن وحدة التحكم ، وتعطيل المزيد من إخراج وحدة التحكم 29 أبريل 10:35:06 معلومات mod_posix تم إضفاءها بنجاح إلى PID 1756
[root @ linuxbox ~] # yum تثبيت lua-cyrussasl
نقوم بإنشاء المضيف الظاهري "chat.desdelinux.fan" من "example.com" الذي يقوم بتثبيت Prosody
[root @ linuxbox ~] # cp /etc/prosody/conf.d/example.com.cfg.lua \ /etc/prosody/conf.d/chat.fromlinux.fan.cfg.lua [root @ linuxbox ~] # nano /etc/prosody/conf.d/chat.من linux.fan.cfg.lua - قسم دردشة VirtualHost VirtualHost "chat.desdelinux.fan" - عيّن لهذا المضيف شهادة لـ TLS ، وإلا فإنه سيستخدم الشهادة المحددة في القسم العام (إن وجد). - لاحظ أن SSL ذو النمط القديم على المنفذ 5223 يدعم شهادة واحدة فقط - وسيستخدم دائمًا الشهادة العامة. ssl = { key = "/etc/pki/prosody/chat.key" ؛ الشهادة = "/etc/pki/prosody/chat.crt" ؛ } ------ المكونات ------ - يمكنك تحديد مكونات لإضافة مضيفين يقدمون خدمات خاصة ، مثل المؤتمرات متعددة المستخدمين ووسائل النقل. - لمزيد من المعلومات حول المكونات ، راجع http://prosody.im/doc/components --- قم بإعداد خادم غرفة MUC (دردشة متعددة المستخدمين) على Conference.chat.desdelinux.fan: المكون "Conference.chat.desdelinux.fan" "muc" name = "المتحمسون" - هو اسم غرفة المؤتمر للإعلان - متى تنضم إلى الغرفة limit_room_creation = صحيح - إعداد وكيل SOCKS5 bytestream لعمليات نقل الملفات عبر الخادم الوكيل: --مكوِّن "proxy.chat" "proxy65" --- إعداد مكون خارجي (منفذ المكون الافتراضي هو 5347) - - تسمح المكونات الخارجية بإضافة عناصر متنوعة الخدمات ، مثل gateways / - ينقل إلى شبكات أخرى مثل ICQ و MSN و Yahoo. لمزيد من المعلومات - راجع: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "password" المصادقة = "سايروس" cyrus_service_name = "xmpp" cyrus_require_provisioning = خطأ cyrus_application_name = "prosody" cyrus_server_fqdn = "chat.fromlinux.fan"
نقوم بتعديل المجموعة التي تمتلك الملف /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.من linux.fan.cfg.lua -rw-r -----. 1 جذر الجذر 1361 أبريل 29 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua [root @ linuxbox ~] # جذر chown: prosody /etc/prosody/conf.d/chat.من linux.fan.cfg.lua [root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.من linux.fan.cfg.lua -rw-r -----. 1 عرض الجذر 1361 أبريل 29 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
نتحقق من التكوين
[root @ linuxbox ~] # luac -p /etc/prosody/conf.d/chat.من linux.fan.cfg.lua [root @ linuxbox ~] #
شهادات SSL للاتصالات الآمنة
للاتصال بخادم Prosody - من الشبكة المحلية ومن الإنترنت - والتأكد من أن بيانات الاعتماد تنتقل بشكل آمن ، يجب علينا إنشاء شهادات SSL - طبقة مقبس الأمان أعلن في ملف تكوين المضيف الظاهري /etc/prosody/conf.d/chat.fromlinux.fan.cfg.lua:
[root @ linuxbox ~] # cd / etc / prosody / certs / [root @ linuxbox certs] # openssl req-new -x509 -days 365 -nodes \ - خارج "chat.crt" - مفتاح rsa: 2048 -keyout "chat.key" إنشاء مفتاح خاص RSA 2048 بت ..... +++ .......... +++ كتابة مفتاح خاص جديد لـ "chat.key" ----- أنت على وشك أن يُطلب منك ذلك أدخل المعلومات التي سيتم دمجها في طلب الشهادة الخاص بك. ما أنت على وشك الدخول إليه هو ما يسمى بالاسم المميز أو الاسم المميز. يوجد عدد غير قليل من الحقول ولكن يمكنك ترك بعضها فارغًا بالنسبة لبعض الحقول ، ستكون هناك قيمة افتراضية ، إذا قمت بإدخال "." ، فسيتم ترك الحقل فارغًا. ----- اسم البلد (رمز مكون من حرفين) [XX]: اسم الدولة أو المقاطعة CU (الاسم الكامل) []: اسم منطقة كوبا (على سبيل المثال ، المدينة) [المدينة الافتراضية]: اسم منظمة هابانا (على سبيل المثال ، الشركة) [ Default Company Ltd]: FromLinux.Fan اسم الوحدة التنظيمية (على سبيل المثال ، القسم) []: الاسم الشائع للمتحمسين (على سبيل المثال ، اسمك أو اسم مضيف الخادم الخاص بك) []: chat.desdelinux.fan عنوان البريد الإلكتروني []: buzz@desdelinux.fan
نقوم بتعديل خيارات التكوين العالمية
فقط سوف نقوم بالتحرير الخيارات التالية في الملف /etc/prosody/prosody.cfg.lua:
[root @ linuxbox certs] # cp /etc/prosody/prosody.cfg.lua \ /etc/prosody/prosody.cfg.lua.original [root @ linuxbox ~] # nano /etc/prosody/prosody.cfg.lua - نموذج ملف تكوين نموذج العرض - - يمكن العثور على معلومات حول تكوين العرض على موقعنا - موقع الويب على http://prosody.im/doc/configure - - نصيحة: يمكنك التحقق من أن صيغة هذا الملف هي صحيح - عند الانتهاء من تشغيل: luac -p prosody.cfg.lua - إذا كانت هناك أية أخطاء ، فسوف تتيح لك معرفة مكانها ومكانها ، وإلا فسيظل هادئًا. - - الشيء الوحيد المتبقي هو إعادة تسمية هذا الملف لإزالة نهاية .dist ، وملء - الفراغات. حظا سعيدا ، وجابر سعيد! ---------- إعدادات على مستوى الخادم ---------- - تنطبق الإعدادات في هذا القسم على الخادم بالكامل وهي الإعدادات الافتراضية - لأي مضيفات افتراضية - هذه هي قائمة (افتراضيًا ، فارغة) بالحسابات المسؤولة - للخادم. لاحظ أنه يجب عليك إنشاء الحسابات بشكل منفصل - (راجع http://prosody.im/doc/creating_accounts للحصول على معلومات) - مثال: admins = {"user1@example.com"، "user2@example.net"} admins = {"buzz@chat.desdelinux.fan"، "trancos@chat.desdelinux.fan"} - تمكين استخدام libevent لأداء أفضل في ظل الحمل العالي - لمزيد من المعلومات ، راجع: http://prosody.im/doc/libevent --use_libevent = true ؛ - هذه قائمة الوحدات التي سيتم تحميل Prosody عند بدء التشغيل. - يبحث عن mod_modulename.lua في مجلد الملحقات ، لذا تأكد من وجوده أيضًا. - يمكن العثور على الوثائق الخاصة بالوحدات النمطية في: http://prosody.im/doc/modules modules_enabled = {- "roster" المطلوبة بشكل عام ؛ - السماح للمستخدمين بالحصول على قائمة. موصى به ؛) "saslauth" ؛ - المصادقة للعملاء والخوادم. موصى به إذا كنت تريد تسجيل الدخول. "tls" ؛ - إضافة دعم لـ TLS الآمنة على اتصالات c2s / s2s "Dialback" ؛ - دعم الاتصال s2s "القرص" ؛ - اكتشاف الخدمة - ليس ضروريًا ، ولكن موصى به "خاص" ؛ - تخزين XML خاص (لإشارات الغرفة ، وما إلى ذلك) "vcard" ؛ - السماح للمستخدمين بتعيين vCards - يتم التعليق عليها افتراضيًا لأن لها تأثيرًا على الأداء - "الخصوصية" ؛ - دعم قوائم الخصوصية - "ضغط" ؛ - ضغط التدفق (ملاحظة: يتطلب حزمة lua-zlib RPM المثبتة) - من الجيد أن يكون لديك "إصدار" ؛ - الردود على طلبات إصدار الخادم "الجهوزية" ؛ - تقرير مدة تشغيل الخادم "الوقت" ؛ - دع الآخرين يعرفون الوقت هنا على هذا الخادم "ping" ؛ - الردود على أصوات XMPP باستخدام بونغس "بيب" ؛ - تمكن المستخدمين من نشر مزاجهم ونشاطهم وتشغيل الموسيقى والمزيد "تسجيل" ؛ - السماح للمستخدمين بالتسجيل على هذا الخادم باستخدام عميل وتغيير كلمات المرور - واجهات المسؤول "admin_adhoc" ؛ - يسمح بالإدارة عبر عميل XMPP يدعم أوامر مخصصة - "admin_telnet" ؛ - يفتح واجهة وحدة التحكم telnet على منفذ المضيف المحلي 5582 - وحدات HTTP النمطية "كلام فارغ"؛ - تمكين عملاء BOSH ، المعروفين أيضًا باسم "Jabber over HTTP" - "http_files" ؛ - خدمة الملفات الثابتة من دليل عبر HTTP - وظائف محددة أخرى "posix" ؛ - وظيفة POSIX ، ترسل الخادم إلى الخلفية ، وتمكّن سجل النظام ، إلخ. - "مجموعات"؛ - دعم القائمة المشتركة - "أعلن" ؛ - إرسال إعلان إلى جميع المستخدمين عبر الإنترنت - "مرحبًا" ؛ - نرحب بالمستخدمين الذين يسجلون الحسابات - "تسجيلات المراقبة" ؛ - تنبيه مديري التسجيلات - "موتد" ؛ - إرسال رسالة إلى المستخدمين عند تسجيل الدخول - "legacyauth" ؛ - المصادقة القديمة. تستخدم فقط من قبل بعض العملاء القدامى والروبوتات. } ؛ bosh_ports = {{المنفذ = 5280 ؛ المسار = "http-bind" ؛ الواجهة = "127.0.0.1" ؛ }} bosh_max_inactivity = 60 - استخدم إذا كان وكيل HTTPS-> HTTP على جانب الخادم mind_bosh_secure = صحيح - السماح بالوصول من البرامج النصية على أي موقع بدون وكيل (يتطلب متصفحًا حديثًا) cross_domain_bosh = صحيح - يتم تحميل هذه الوحدات تلقائيًا ، ولكن إذا كنت ترغب في ذلك - لتعطيلها ثم إلغاء التعليق عليها هنا: modules_disabled = {- "offline" ؛ - تخزين الرسائل دون اتصال - "c2s" ؛ - التعامل مع اتصالات العميل - "s2s" ؛ - التعامل مع اتصالات الخادم إلى الخادم} ؛ - تعطيل إنشاء الحساب افتراضيًا ، للأمان - لمزيد من المعلومات ، راجع http://prosody.im/doc/creating_accounts allow_registration = false ؛ - هذه هي الإعدادات المتعلقة بـ SSL / TLS. إذا كنت لا تريد - استخدام SSL / TLS ، فيمكنك التعليق أو إزالة هذا ssl = {key = "/etc/pki/prosody/localhost.key" ؛ الشهادة = "/etc/pki/prosody/localhost.crt" ؛ } - إجبار العملاء على استخدام اتصالات مشفرة؟ هذا الخيار - يمنع العملاء من المصادقة ما لم يستخدموا التشفير. c2s_require_encryption = صحيح - فرض مصادقة الشهادة للاتصالات من خادم إلى خادم؟ - يوفر هذا أمانًا مثاليًا ، ولكنه يتطلب خوادم تتواصل معها - لدعم التشفير وتقديم شهادات صالحة وموثوقة. - ملاحظة: يجب أن يدعم إصدار LuaSec الخاص بك التحقق من الشهادة! - لمزيد من المعلومات ، راجع http://prosody.im/doc/s2s#security s2s_secure_auth = false - لا تدعم العديد من الخوادم التشفير أو بها شهادات غير صالحة أو موقعة ذاتيًا. يمكنك هنا سرد المجالات التي لن تكون مطلوبة للمصادقة باستخدام الشهادات. ستتم مصادقتهم باستخدام DNS. --s2s_insecure_domains = {"gmail.com"} - حتى إذا تركت s2s_secure_auth معطلاً ، فلا يزال بإمكانك طلب شهادات صالحة لبعض المجالات عن طريق تحديد قائمة هنا. --s2s_secure_domains = {"jabber.org"} - حدد خلفية المصادقة المراد استخدامها. الموفرون "الداخليون" - استخدموا تخزين البيانات المكون من Prosody لتخزين بيانات المصادقة. - للسماح لـ Prosody بتقديم آليات مصادقة آمنة للعملاء ، يخزن الموفر الافتراضي كلمات المرور في نص عادي. إذا كنت لا تثق في - الخادم الخاص بك ، فالرجاء الاطلاع على http://prosody.im/doc/modules/mod_auth_internal_hashed - للحصول على معلومات حول استخدام الواجهة الخلفية المجزأة. - المصادقة = "Internal_plain" المصادقة = "سايروس" cyrus_service_name = "xmpp" cyrus_require_provisioning = خطأ - حدد خلفية التخزين المراد استخدامها. بشكل افتراضي ، يستخدم Prosody الملفات المسطحة - في دليل البيانات الذي تم تكوينه ، ولكنه يدعم أيضًا المزيد من الخلفيات - من خلال الوحدات النمطية. يتم تضمين الواجهة الخلفية "sql" افتراضيًا ، ولكنها تتطلب - تبعيات إضافية. راجع http://prosody.im/doc/storage لمزيد من المعلومات. - التخزين = "sql" - الإعداد الافتراضي "داخلي" (ملاحظة: يتطلب "sql" التثبيت - حزمة lua-dbi RPM) - بالنسبة للواجهة الخلفية "sql" ، يمكنك إلغاء التعليق * واحد * مما يلي لتكوينه : --sql = {driver = "SQLite3" ، قاعدة البيانات = "prosody.sqlite"} - افتراضي. 'قاعدة البيانات' هو اسم الملف. --sql = {driver = "MySQL"، database = "prosody"، username = "prosody"، password = "secret"، host = "localhost"} --sql = {driver = "PostgreSQL"، database = "prosody "، username =" prosody "، password =" secret "، host =" localhost "} - تكوين التسجيل - للتسجيل المتقدم ، راجع http://prosody.im/doc/logging log = {- سجل كل شيء على مستوى "info" والإصدارات الأحدث (أي جميعها باستثناء رسائل "التصحيح") - إلى /var/log/prosody/prosody.log والأخطاء أيضًا في /var/log/prosody/prosody.err التصحيح = "/var/log/prosody/prosody.log" ؛ - قم بتغيير "المعلومات" إلى "التصحيح" للتسجيل المطول خطأ = "/var/log/prosody/prosody.err" ؛ - تسجيل الأخطاء أيضًا في الملف - خطأ = "* سجل النظام" ؛ - تسجيل الأخطاء أيضًا في سجل النظام - السجل = "* وحدة التحكم" ؛ - تسجيل الدخول إلى وحدة التحكم ، وهو مفيد للتصحيح باستخدام daemonize = false} - تكوين POSIX ، راجع أيضًا http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid" ؛ --daemonize = false - الافتراضي هو "true" ------ ملفات تكوين إضافية ------ - للأغراض التنظيمية ، قد تفضل إضافة VirtualHost و - تعريفات المكون في ملفات التكوين الخاصة بهم. يتضمن هذا السطر - جميع ملفات التكوين في /etc/prosody/conf.d/ تضمين "conf.d / *. Cfg.lua"
تعديلات في تكوين Dnsmasq في لينوكس بوكس
/Etc/dnsmasq.conf ملف
فقط أضف القيمة cname = chat.fromlinux.fan ، linuxbox.fromlinux.fan:
[root @ linuxbox ~] # nano /etc/dnsmasq.conf
----- # -------------------------------------------- ----------------------- # REGISTROSCNAMEMXTXT # ------------------------ ------------------------------------------- # يتطلب هذا النوع من التسجيل إدخال # في ملف / etc / hosts # ex: 192.168.10.5 linuxbox.fromlinux.fan linuxbox # cname = ALIAS، REAL_NAME cname = mail.fromlinux.fan، linuxbox.fromlinux.fan
cname = chat.fromlinux.fan ، linuxbox.fromlinux.fan
----
[root @ linuxbox ~] # إعادة تشغيل خدمة dnsmasq
[root @ linuxbox ~] # service dnsmasq status [root @ linuxbox ~] # host chat
chat.desdelinux.fan هو اسم مستعار لـ linuxbox.desdelinux.fan. يحتوي موقع linuxbox.desdelinux.fan على عنوان 192.168.10.5 linuxbox.desdelinux.fan يتم التعامل معه عن طريق بريد واحد mail.desdelinux.fan.
/Etc/resolv.conf ملف
[root @ linuxbox ~] # nano /etc/resolv.conf ابحث عن خادم أسماء desdelinux.fan 127.0.0.1 # لاستعلامات DNS الخارجية أو غير التابعة للنطاق # desdelinux.fan # local = / desdelinux.fan / خادم الأسماء 172.16.10.30
التعديلات في DNS الخارجي في ISP
نخصص المقال كاملاً «خادم DNS الاستبدادي NSD + Shorewall - شبكات SME»مسألة كيفية الإعلان عن سجلات SRV المتعلقة بـ XMPP بحيث يمكن أن تنتقل خدمة المراسلة الفورية إلى الإنترنت ، وحتى يمكن لخادم Prosody أن يتحد مع بقية خوادم XMPP المتوافقة الموجودة على الويب.
نعيد تشغيل Prosody
[root @ linuxbox ~] # إعادة تشغيل عرض الخدمة
إعادة التوجيه إلى / bin / systemctl إعادة تشغيل prosody.service
[root @ linuxbox ~] # حالة عرض الخدمة
إعادة التوجيه إلى / bin / systemctl status prosody.service ● prosody.service - تم تحميل خادم Prosody XMPP (Jabber): تم تحميله (/usr/lib/systemd/system/prosody.service ؛ مُمكّن ؛ الإعداد المسبق للمورد: معطل) نشط: نشط (قيد التشغيل) منذ الأحد 2017-05-07 12:07:54 EDT؛ قبل 8 ثوان العملية: 1388 ExecStop = / usr / bin / prosodyctl stop (الرمز = تم الخروج ، الحالة = 0 / نجاح) العملية: 1390 ExecStart = / usr / bin / prosodyctl start (code = خروج ، الحالة = 0 / نجاح) PID الرئيسي : 1393 (lua) CGroup: /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody
[root @ linuxbox ~] # tail -f /var/log/prosody/prosody.log
- من الصحي جدًا فتح وحدة تحكم جديدة مع تشغيل الأمر السابق ، ومشاهدة إخراج تصحيح أخطاء Prosody أثناء إعادة تشغيل الخدمة.
نقوم بتكوين Cyrus SASL
[root @ linuxbox ~] # nano /etc/sasl2/prosody.conf
pwcheck_method: saslauthd mech_list: PLAIN
[root @ linuxbox ~] # إعادة تشغيل خدمة saslauthd
إعادة التوجيه إلى / bin / systemctl قم بإعادة تشغيل saslauthd.service
[root @ linuxbox ~] # حالة خدمة saslauthd
-- إذا...
[root @ linuxbox ~] # إعادة تشغيل عرض الخدمة
تكوين PAM
[root @ linuxbox ~] # nano /etc/pam.d/xmpp
تتضمن المصادقة حساب مصادقة كلمة المرور يتضمن مصادقة كلمة المرور
فحوصات مصادقة PAM
- للتحقق ، يتعين علينا تنفيذ الأمر التالي تمامًا كما هو موضح أدناه ، لأنه يتعلق بتنفيذ الأمر كمستخدم "عرض" وليس كمستخدم "جذر":
[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u strides -p strides 0: حسنًا "نجاح". [root @ linuxbox ~] # sudo -u prosody testaslauthd -s xmpp -u legolas -p legolas 0: حسنًا "نجاح". [root @ linuxbox ~] # sudo -u prosody testaslauthd -s xmpp -u legolas -p Lengolas 0: NO "فشل المصادقة"
تعمل عملية المصادقة ضد المستخدمين المحليين بشكل صحيح.
نقوم بتعديل جدار الحماية
استخدام الأداة الرسومية «كورتافيجوس«، بالنسبة للمنطقة«جمهور»نقوم بتفعيل الخدمات:
- xmpp- بوش
- xmpp- العميل
- خادم xmpp
- xmpp محلي
وبالمثل بالنسبة للمنطقة «خارجي»نقوم بتفعيل الخدمات:
- xmpp- العميل
- خادم xmpp
ونفتح المنافذ برنامج التعاون الفني 5222 و 5269.
وأخيرا، نجري تغييرات على وقت التنفيذ a دائم y إعادة تحميل جدار الحماية د.
عميل XMPP Psi
للاتصال بخادم Prosody Instant Messaging المثبت حديثًا ، يمكننا الاختيار من بين مختلف العملاء الموجودين:
- التقمص العاطفي
- جاجيم
- كادو
- PSI
- بسي بلس
- لغة مبسطة
- توارد خواطر
- ويتشات
والقائمة تطول. اخترنا ال بسي +. لتثبيته ، نستخدم الأمر المفضل له أو نقوم بذلك من خلال أدوات الرسوم المتاحة لهذه المهمة. بمجرد التثبيت ، نقوم بتنفيذه ، وفي نهاية المقال نقدم سلسلة من الصور التي نأمل أن تكون مفيدة لك.
ملخص
- يمكننا تثبيت خدمة المراسلة الفورية استنادًا إلى Prosody للمستخدمين المحليين للنظام ، والاستغناء عن إنشاء مستخدمي Prosody الداخليين أو أنواع أخرى من تخزين بيانات اعتماد المصادقة.
- ستنتقل بيانات اعتماد المصادقة مشفرة من العميل إلى الخادم ، واستجابات الأخير للعميل أيضًا.
- يمكننا تثبيت أكثر من خدمة بناءً على المصادقة المحلية من خلال PAM على خادم واحد.
- حتى الآن ، الخادم linuxbox.fromlinux.fan تقدم الخدمات التالية لشبكة الشركات الصغيرة والمتوسطة:
-
حل أسماء المجال أو DNS.
- التخصيص الديناميكي لعناوين IP أو DCHP
- خدمة وقت الشبكة أو NTP
- النسخ الاحتياطية من خلال SSH من عملاء UNIX / Linux ، أو من خلال WinSCP لعملاء Microsoft Windows.
- خدمة الرسائل الفورية - الدردشة. متوفر أيضًا من الإنترنت.
- خدمة مشاركة الملفات من خلال الدردشة نفسها. متوفر أيضًا من الإنترنت
- خدمة المؤتمرات عن بعد التي يمكنك تكوينها في Prosody.
-
وجميع الخدمات السابقة مع اثنين من الأدوات الرسومية لتكوين جدار الحماية - جدار الحماية ، ولإدارة المستخدم والمجموعة للنظام التي يسهل استخدامها حقًا إذا كانت لدينا المعرفة الأساسية حول ما نريد القيام به.
مهم
تأكد من زيارة عنوان URL التالي للحصول على معلومات كاملة في Pالوردة: HTTP: //prosody.im.
حتى الدفعة القادمة!
10 تعليقات ، اترك لك
كم هي مثيرة للاهتمام جميع مساهماتك ، شكرًا جزيلاً على كل منهم.
ألف مبروك فيدريكو لمقال آخر رائع.
هنا يعطينا المؤلف ("يعطي") "كيف تعرف" كيفية تنفيذ خدمة الدردشة من خلال Prosody التي تستخدم بروتوكول XMPP في شبكة لتبادل الرسائل الفورية ، ونقل الملفات ، وإجراء مؤتمرات الصوت والفيديو ، والمصادقة مقابل المستخدمين المحليين عبر اتصالات آمنة.
بالإضافة إلى ذلك ، كما هو معتاد في سلسلة PYMES بأكملها ، يسهل المؤلف تكامل الخدمة ليتم تهيئتها مع بقية الخدمات و / أو المعلمات التي تعمل بالفعل في الشبكة:
1- التعديلات التي يجب أن نجريها على خدمة DNS لتشمل خدمة الدردشة وكل شيء يعمل بشكل صحيح.
2- تكوين (وفحص) PAM للمصادقة المحلية على خدمة الدردشة.
3- ما يجب علينا فعله في جدار الحماية للشبكة المحلية و "شبكة الشبكات" للسماح بخدمة الدردشة وهذا بمستوى أمان مناسب.
4- وأخيرًا التحقق من الدردشة من عميل XMPP.
لا شيء لحفظ المنشور في دليل TIPS عندما يتعين تنفيذ هذه الخدمة.
آمل أن تكون مفيدة لك بطريقة ما. شكرا لتعليق
صديق IWO ، لقد فهمت الجوهر الحقيقي للمقال. أضف فقط أننا نقوم بتنفيذ خدمات لشبكة UNIX / Linux ، حتى لو كان جميع عملائها من Microsoft Windows. ربما لم يلاحظ العديد من القراء هذه التفاصيل الصغيرة حتى الآن. 😉
مساهمة جيدة جدا صديق Fico. أنت تعلم أنني تابعت جميع مقالاتك وفي هذه الأربعة الأخيرة تعلمت العديد من الأسئلة التي لم أكن أعرفها بسبب وضع حجاب Active Directory ووحدة تحكم المجال في وجهي. لقد ولدت عمليًا مع NT 4 و PDC و BDC. لم أكن أدرك أنه يمكنني تبسيط المصادقة عبر الشبكة إلى جهاز واحد يعمل بنظام Centos أو لينكس آخر. الآن أتعلم فلسفة جديدة أرى أنها قديمة قدم تاريخ تاريخ الشبكات. على الرغم من أنك تخبرني قليلاً عما ستنشره - أعتقد أنك ستستمر مع LDAP ثم Active Directory على أساس Samba 4؟ شكرا لك على تفانيك في قضية البرمجيات الحرة. سأنتظر مقالاتك القادمة ، Fico.
نمر مقال عظيم !!!!!
زميل ، هناك تفاصيل صغيرة ، في جزء DNS ، تقوم بتوجيه المجال بالكامل من desdelinux.fan إلى IP 172.16.10.10 ، لديك هذا الخادم مطبق في دبيان (DNS واحد) ، الآن ، هذه الدردشة ، في CentOS ، لذلك بالطبع يحتوي على عنوان IP مختلف ، ما كنت تفتقر إليه هو إعادة توجيه كل حركة المرور على جدار الحماية إلى عنوان IP هذا حيث توجد خدمة المراسلة الفورية ، لأنه يشير في الوقت الحالي إلى نفس خادم DNS وهذا ليس لديه خدمة البريد السريع.
وإلا كل شيء رائع ، عناق كبير.
شكرا ادواردو على التعليق. تقرأ الفقرة جيدًا:
وبالمثل بالنسبة للمنطقة "الخارجية" نقوم بتنشيط الخدمات:
xmpp-client
xmpp-server
ونفتح منفذي tcp 5222 و 5269.
أسمح بإخراج بروتوكول XMPP من خلال واجهة ens34. تذكر المنشور أدناه ، حتى من مقالة Squid. 😉
صديق البروج: تجعلني أعلن مفاجآتي مقدمًا. لا ، لن يتم تحويل LDAP الآن. إنه جوهر خادم بريد يعتمد على Postfix و Dovecot و Squirrelmail ومع مصادقة PAM ، والتي ستكون الأخيرة من هذه السلسلة المصغرة. أكثر غ. ؛-). ثم إذا جاء الباقي حتى نصل إلى Samba 4 AD-DC. وداعا!.
نعم يا صديقي ، إذا قرأته ، لكنني لا أرى في أي مكان ما قبل السيرفر الآخر ، ألق نظرة.
إدواردو: قم بالتثبيت. قم بتوصيل كمبيوتر محمول بشبكة IP فرعية IP 172.16.10.0/24. قم بتثبيت عميل الدردشة عليه والاتصال بـ Prosody. لذلك فعلت ذلك وعملت على هذا النحو. 😉
جدار الحماية هو نظام CentOS الذي سيعمل على طريقته الخاصة.