Prosody IM et utilisateurs locaux - Réseaux PYMES

Index général de la série: Réseaux informatiques pour les PME: introduction

Cet article est la suite de:

Bonjour les amis et amis!

Nous continuons d'ajouter des services réseau basés sur l'authentification des utilisateurs locaux au serveur de petit groupe. Passionnés Logiciel libre, en particulier CentOS.

Les conditions de travail du groupe ont changé pour le mieux. Ils ont maintenant comme siège social une maison de trois étages avec un sous-sol et doivent mettre en place un serveur de messagerie instantanée et un transfert de fichiers entre les postes de travail, pour atténuer la difficulté de monter et descendre les escaliers ou de marcher beaucoup. ;-). Pour cela, ils proposent d'utiliser le programme Prosodie.

Ils sont déterminés à publier le service de chat Internet uniquement pour les passionnés, et ils prévoient de relier leur serveur de messagerie instantanée à d'autres serveurs XMPP compatibles situés sur le réseau de réseaux. Pour cela, ils ont acheté le nom de domaine desdelinux.ventilateur et jusqu'à présent, l'adresse IP associée à ce nom est gérée par votre fournisseur d'accès Internet.

Le service Chat via Prosody leur permettra d'échanger des messages instantanés, de transférer des fichiers, de faire des conférences vocales et vidéo, etc.

Qu'est-ce que Prosody Instant Messenger?

Prosodie c'est un serveur de communication moderne basé sur le protocole XMPP. Il est conçu pour une installation et une configuration faciles et une gestion efficace des ressources système. Prosody est un programme Open Source - Open Source créé sous licence permissive MIT / X11.

XMPP c'est une alternative non commerciale pour fournir des services de messagerie instantanée. Il peut être implémenté dans un environnement professionnel de production, dans un réseau familial, un réseau privé de voisins, etc. Il prend en charge une large gamme de logiciels clients pour les plates-formes de bureau et mobiles. Grâce à XMPP, ce service peut être fourni à n'importe quel appareil.

De plus, ils peuvent lien plusieurs installations de Prosody et d'autres services compatibles avec le protocole XMPP, et forment un réseau de messagerie dans lequel nous aurons un contrôle total du trafic des messages et des fichiers qui se produira de manière totalement sécurisée.

Prosodie et authentification contre les utilisateurs locaux

Dans le Plan du site Prosody IM nous avons trouvé le lien vers la page Fournisseurs d'authentification, qui indique qu'à partir de la version 0.8 de Prosody, divers fournisseurs d'authentification sont pris en charge via plugins. Vous pouvez utiliser le conducteurs logiciel intégré, ou vous pouvez intégrer des fournisseurs tiers d'authentification et de stockage à l'aide de leur Apis.

Fournisseurs d'authentification que nous pouvons employer

Nom Description -------------- ---------------------------------- -----------------------
plaine_interne   Authentification par défaut. Les mots de passe en texte brut sont stockés à l'aide du stockage intégré.

hachage_interne  Les mots de passe codés par un algorithme interne sont stockés à l'aide du stockage intégré.

Cyrus       Intégration avec Cyrus SASL (LDAP, PAM et Bastion, ...)

anonyme    Mécanisme d'authentification utilisant SASL 'ANONYMOUS' avec un nom d'utilisateur aléatoire qui ne nécessite pas d'informations d'authentification.

XMPP utilise le protocole standard d'authentification simple Secure Layer pour l'authentification - Smise Authentication et Sbien sûr LHier (SASL), pour valider les informations d'identification des clients. Prosody intègre la bibliothèque SASL qui valide par défaut les informations d'identification par rapport aux comptes existants dans son stockage intégré.

Depuis la version 0.7 de Prosody, le fournisseur externe est pris en charge Cyrus SALS qui peut valider les informations d'identification fournies par les utilisateurs externes par rapport à d'autres sources telles que: PAM et Bastion, LDAP, SQL et autres. Il permet également l'utilisation de GSSAPI pour les services d'authentification unique - Services d'authentification unique.

Dans cet article sur Prosody, pour réaliser l'authentification auprès des utilisateurs locaux via PAM, nous utiliserons le fournisseur d'authentification «Cyrus»Fourni par le forfait«cyrus sasl»Et cela fonctionne intégré au démon saslauthd.

cyrus-sasl et saslauthd

[root @ linuxbox ~] # yum installer cyrus-sasl

Le démon saslauthd est déjà installé

[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> désactivé

[root @ linuxbox ~] # setsebool saslauthd_read_shadow sur
[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> activé

[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - Démon d'authentification SASL. Chargé: chargé (/usr/lib/systemd/system/saslauthd.service; désactivé; préréglage du fournisseur: désactivé) Actif: inactif (mort)

[root @ linuxbox ~] # systemctl enable saslauthd
Création d'un lien symbolique depuis /etc/systemd/system/multi-user.target.wants/saslauthd.service vers /usr/lib/systemd/system/saslauthd.service.

[root @ linuxbox ~] # systemctl start saslauthd
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - Démon d'authentification SASL. Chargé: chargé (/usr/lib/systemd/system/saslauthd.service; activé; préréglage du fournisseur: désactivé) Actif: actif (en cours d'exécution) depuis le sam. 2017-04-29 10:31:20 HAE; Il y a 2s Processus: 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (code = sorti, status = 0 / SUCCESS) PID principal: 1679 (saslauthd) CGroup: /system.slice/saslauthd. service ├─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 pam ├─1682 / usr / sbin / saslauthd -m / run / saslauthd -a pam └─1683 / usr / sbin / saslauthd -m / run / saslauthd -a pam

Prosodie et lua-cyrussasl

[root @ linuxbox ~] # yum installer prosody
---- Dépendances résolues ========================================== == =================================== Taille du référentiel de version d'architecture de package ========== == =============================================== ==== ================= Installation: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k Installation pour les dependances: 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 Résumé de la transaction ========================================= ========== ============================= Installer 1 paquet (+4 paquets dépendants) --- -

[root @ linuxbox ~] # getsebool -a | grep prosodie
prosody_bind_http_port -> désactivé
[root @ linuxbox ~] # setsebool prosody_bind_http_port sur
[root @ linuxbox ~] # getsebool -a | grep prosodie
prosody_bind_http_port -> sur

[root @ linuxbox ~] # systemctl active la prosodie
Création d'un lien symbolique depuis /etc/systemd/system/multi-user.target.wants/prosody.service vers /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # systemctl status prosody ● prosody.service - Serveur Prosody XMPP (Jabber) Chargé: chargé (/usr/lib/systemd/system/prosody.service; activé; préréglé du fournisseur: désactivé) Actif: inactif (mort )

[root @ linuxbox ~] # systemctl lance la prosodie
[root @ linuxbox ~] # statut prosodie systemctl
● prosody.service - Serveur Prosody XMPP (Jabber) Chargé: chargé (/usr/lib/systemd/system/prosody.service; activé; prédéfini du fournisseur: désactivé) Actif: actif (en cours d'exécution) depuis le sam. 2017-04-29 10:35:07 HAE; Il y a 2 s Processus: 1753 ExecStart = / usr / bin / prosodyctl start (code = sorti, status = 0 / SUCCESS) PID principal: 1756 (lua) CGroup: /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody

[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 avril 10:35:06 informations générales Bonjour et bienvenue dans la version 0.9.12 de Prosody 29 avril 10:35:06 informations générales Prosody utilise le backend de sélection pour la gestion des connexions 29 avril 10:35:06 info portmanager Service activé 's2s' le [::]: 5269, [*]: 5269 29 avril 10:35:06 info portmanager Service activé 'c2s' le [::]: 5222, [*]: 5222 29 avril 10:35:06 info portmanager activé service 'legacy_ssl' sur aucun port 29 avril 10:35:06 mod_posix info Prosody est sur le point de se détacher de la console, désactivant la sortie de la console 29 avril 10:35:06 mod_posix info Démonisation réussie vers le PID 1756

[root @ linuxbox ~] # yum installer lua-cyrussasl

Nous créons l'hôte virtuel « chat.desdelinux.fan" à partir du "example.com" installé par Prosody

[root @ linuxbox ~] # cp /etc/prosody/conf.d/example.com.cfg.lua \
/etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # nano /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
- Section pour le chat VirtualHost

Chat "Host virtuel.desdelinux.ventilateur"

- Attribuez à cet hôte un certificat pour TLS, sinon il utilisera celui défini dans la section globale (le cas échéant). - Notez que l'ancien SSL sur le port 5223 ne prend en charge qu'un seul certificat, - et utilisera toujours le certificat global.
        SSL = {
                 key = "/etc/pki/prosody/chat.key";
                certificat = "/etc/pki/prosody/chat.crt";
        }

------ Composants ------ -- Vous pouvez spécifier des composants pour ajouter des hôtes qui fournissent des services spéciaux, -- comme des conférences multi-utilisateurs et des transports. -- Pour plus d'informations sur les composants, voir http://prosody.im/doc/components ---Configurez un serveur de salle MUC (chat multi-utilisateurs) sur conference.chat.desdelinux.ventilateur:
Composant "conférence.chat.desdelinux.fan" "muc"
name = "Enthusiasts" - EST LE NOM DE LA SALLE DE CONFÉRENCE À DÉCLARER - QUAND VOUS REJOINDREZ LA SALLE
restrict_room_creation = vrai

- Configurer un proxy SOCKS5 bytestream pour les transferts de fichiers par serveur proxy: --Composant "proxy.chat" "proxy65" --- Configurer un composant externe (le port par défaut du composant est 5347) - - Les composants externes permettent d'ajouter divers services, tels que comme passerelles / - transporte vers d'autres réseaux comme ICQ, MSN et Yahoo. Pour plus d'informations - voir: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "password"

authentification = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = faux
cyrus_application_name = "prosodie"
cyrus_server_fqdn = "chat.desdelinux.ventilateur"

Nous ajustons le groupe propriétaire du fichier /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
-rw-r -----. 1 racine racine 1361 29 avril 10h45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # chown root: prosody /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
-rw-r-----. 1 prosodie racine 1361 29 avril 10h45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

Nous vérifions la configuration

[root @ linuxbox ~] # luac -p /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
[root @ linuxbox ~] #

Certificats SSL pour des connexions sécurisées

Pour se connecter au serveur Prosody - à la fois depuis le réseau local et depuis Internet - et s'assurer que les informations d'identification voyagent en toute sécurité cryptées, nous devons générer les certificats SSL - Couche de socket de sécurité déclaré dans le fichier de configuration de l'hôte virtuel /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua:

[root @ linuxbox ~] # cd / etc / prosody / certs /

[root @ certs linuxbox] # openssl req -new -x509 -days 365 -nodes \
-out "chat.crt" -newkey rsa: 2048 -keyout "chat.key"
Génération d'une clé privée RSA de 2048 bits .....+++ ..........+++ écriture d'une nouvelle clé privée dans 'chat.key' ----- Vous êtes sur le point d'être invité à saisissez les informations qui seront intégrées à votre demande de certificat. Ce que vous êtes sur le point de saisir est ce qu'on appelle un nom distinctif ou un DN. Il y a un certain nombre de champs mais vous pouvez en laisser certains vides. Pour certains champs, il y aura une valeur par défaut. Si vous entrez '.', le champ restera vide. ----- Nom du pays (code à 2 lettres) [XX] : Nom de l'État ou de la province de l'UC (nom complet) [] : Nom de la localité de Cuba (par exemple, ville) [Ville par défaut] : Nom de l'organisation de La Havane (par exemple, entreprise) [ Société par défaut Ltd] :DesdeLinux.Nom de l'unité organisationnelle du fan (par exemple, section) [] : Nom commun des passionnés (par exemple, votre nom ou le nom d'hôte de votre serveur) [] : chat.desdelinuxAdresse e-mail .fan []:buzz@desdelinux.ventilateur

Nous modifions les options de configuration globale

Seulement nous éditerons les options suivantes dans le fichier /etc/prosody/prosody.cfg.lua:

[certs root @ linuxbox] # cp /etc/prosody/prosody.cfg.lua \ /etc/prosody/prosody.cfg.lua.original [root @ linuxbox ~] # nano /etc/prosody/prosody.cfg. lua
- Fichier de configuration d'exemple de Prosody - - Vous trouverez des informations sur la configuration de Prosody sur notre - site Web à l'adresse http://prosody.im/doc/configure - - Conseil: vous pouvez vérifier que la syntaxe de ce fichier est correcte - lorsque vous avez terminé en exécutant: luac -p prosody.cfg.lua - S'il y a des erreurs, il vous fera savoir quoi et où - ils se trouvent, sinon il restera silencieux. - - La seule chose à faire est de renommer ce fichier pour supprimer la terminaison .dist, et de remplir les espaces -. Bonne chance et joyeux Jabbering! ---------- Paramètres à l'échelle du serveur ---------- - Les paramètres de cette section s'appliquent à l'ensemble du serveur et sont les paramètres par défaut - pour tout hôte virtuel - Il s'agit d'un (par par défaut, vide) liste des comptes administrateurs - pour le serveur. Notez que vous devez créer les comptes séparément - (voir http://prosody.im/doc/creating_accounts pour plus d'informations) - Exemple: admins = {"user1@example.com", "user2@example.net"}
admins = { "buzz@chat.desdelinux.fan", "trancos@chat.desdelinux.ventilateur" }

- Activez l'utilisation de libevent pour de meilleures performances sous une charge élevée - Pour plus d'informations, consultez: http://prosody.im/doc/libevent --use_libevent = true; - Voici la liste des modules que Prosody chargera au démarrage. - Il cherche mod_modulename.lua dans le dossier plugins, alors assurez-vous qu'il existe aussi. - La documentation sur les modules peut être trouvée à: http://prosody.im/doc/modules modules_enabled = {- "roster" généralement requis; - Autoriser les utilisateurs à avoir une liste. Recommandé;) "saslauth"; - Authentification pour les clients et les serveurs. Recommandé si vous souhaitez vous connecter. "tls"; - Ajout de la prise en charge du TLS sécurisé sur les connexions c2s / s2s "dialback"; - support de rappel s2s "disque"; - Découverte de service - Pas essentiel, mais recommandé "privé"; - Stockage XML privé (pour les signets de salle, etc.) "vcard"; - Autoriser les utilisateurs à définir des vCards - Celles-ci sont commentées par défaut car elles ont un impact sur les performances - "confidentialité"; - Supporte les listes de confidentialité - "compression"; - Compression de flux (Remarque: nécessite le package RPM lua-zlib installé) - C'est bien d'avoir "version"; - Réponses aux demandes de version du serveur "uptime"; - Rapportez combien de temps le serveur a exécuté "time"; - Faites savoir aux autres l'heure ici sur ce serveur "ping"; - Réponses aux pings XMPP avec des pongs "pep"; - Permet aux utilisateurs de publier leur humeur, leur activité, jouer de la musique et plus "s'inscrire"; - Permettre aux utilisateurs de s'inscrire sur ce serveur à l'aide d'un client et de modifier les mots de passe - Interfaces d'administration "admin_adhoc"; - Permet l'administration via un client XMPP prenant en charge les commandes ad-hoc - "admin_telnet"; - Ouvre l'interface de la console telnet sur le port localhost 5582 - Modules HTTP
        "étalages"; - Activer les clients BOSH, alias "Jabber over HTTP"
        - "http_files"; - Servir des fichiers statiques à partir d'un répertoire via HTTP - Autres fonctionnalités spécifiques "posix"; - Fonctionnalité POSIX, envoie le serveur en arrière-plan, active le syslog, etc. - "groupes"; - Prise en charge de la liste partagée - "annoncer"; - Envoyer une annonce à tous les utilisateurs en ligne - "Bienvenue"; - Bienvenue aux utilisateurs qui enregistrent des comptes - "watchregistrations"; - Alerter les administrateurs des inscriptions - "motd"; - Envoyer un message aux utilisateurs lorsqu'ils se connectent - "legacyauth"; - Authentification héritée. Utilisé uniquement par certains anciens clients et bots. };

bosh_ports = {{port = 5280; chemin = "http-bind"; interface = "127.0.0.1"; }}

bosh_max_inactivity = 60
- À utiliser en cas de proxy HTTPS-> HTTP côté serveur
consider_bosh_secure = vrai
- Autoriser l'accès à partir de scripts sur n'importe quel site sans proxy (nécessite un navigateur moderne)
cross_domain_bosh = vrai

- Ces modules sont chargés automatiquement, mais si vous le souhaitez - les désactiver puis les décommenter ici: modules_disabled = {- "offline"; - Stocker les messages hors ligne - "c2s"; - Gérer les connexions client - "s2s"; - Gérer les connexions de serveur à serveur}; - Désactivez la création de compte par défaut, pour des raisons de sécurité - Pour plus d'informations, consultez http://prosody.im/doc/creating_accounts allow_registration = false; - Voici les paramètres relatifs à SSL / TLS. Si vous ne voulez pas - utiliser SSL / TLS, vous pouvez commenter ou supprimer ce ssl = {key = "/etc/pki/prosody/localhost.key"; certificate = "/etc/pki/prosody/localhost.crt"; } - Forcer les clients à utiliser des connexions chiffrées? Cette option empêchera les clients de s'authentifier à moins qu'ils n'utilisent le chiffrement.

c2s_require_encryption = vrai

- Forcer l'authentification par certificat pour les connexions de serveur à serveur? - Cela offre une sécurité idéale, mais nécessite des serveurs avec lesquels vous communiquez pour prendre en charge le chiffrement ET présenter des certificats valides et fiables. - REMARQUE: votre version de LuaSec doit prendre en charge la vérification des certificats! - Pour plus d'informations, consultez http://prosody.im/doc/s2s#security s2s_secure_auth = false - De nombreux serveurs ne prennent pas en charge le chiffrement ou ont des certificats invalides ou auto-signés. Vous pouvez lister ici les domaines qui ne seront pas tenus de s'authentifier à l'aide de certificats. Ils seront authentifiés à l'aide du DNS. --s2s_insecure_domains = {"gmail.com"} - Même si vous laissez s2s_secure_auth désactivé, vous pouvez toujours exiger des certificats - valides pour certains domaines en spécifiant une liste ici. --s2s_secure_domains = {"jabber.org"} - Sélectionnez le backend d'authentification à utiliser. Les fournisseurs «internes» - utilisent le stockage de données configuré de Prosody pour stocker les données d'authentification. - Pour permettre à Prosody d'offrir des mécanismes d'authentification sécurisés aux clients, le fournisseur par défaut stocke les mots de passe en texte clair. Si vous ne faites pas confiance à votre - serveur, veuillez consulter http://prosody.im/doc/modules/mod_auth_internal_hashed - pour plus d'informations sur l'utilisation du backend haché.

- authentification = "internal_plain"
authentification = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = faux

- Sélectionnez le backend de stockage à utiliser. Par défaut, Prosody utilise des fichiers plats - dans son répertoire de données configuré, mais il prend également en charge plus de backends - via des modules. Un backend "sql" est inclus par défaut, mais nécessite - des dépendances supplémentaires. Voir http://prosody.im/doc/storage pour plus d'informations. --storage = "sql" - La valeur par défaut est "internal" (Remarque: "sql" nécessite l'installation du - package RPM lua-dbi) - Pour le backend "sql", vous pouvez décommenter * l'un * des éléments ci-dessous pour configurer: - sql = {driver = "SQLite3", database = "prosody.sqlite"} - Valeur par défaut. «base de données» est le nom du fichier. --sql = {driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost"} --sql = {driver = "PostgreSQL", database = "prosody ", username =" prosody ", password =" secret ", host =" localhost "} - Configuration de la journalisation - Pour une journalisation avancée, voir http://prosody.im/doc/logging log = {- Consigner tout ce qui concerne le niveau" info " et plus (c'est-à-dire, tous sauf les messages "debug") - vers /var/log/prosody/prosody.log et les erreurs également vers /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; - Remplacez "info" par "debug" pour une journalisation détaillée
    error = "/var/log/prosody/prosody.err"; - Enregistrer les erreurs également dans le fichier - error = "* syslog"; - Consignez également les erreurs dans syslog - log = "* console"; - Connectez-vous à la console, utile pour le débogage avec daemonize = false} - Configuration POSIX, voir aussi http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false - La valeur par défaut est "true" ------ Fichiers de configuration supplémentaires ------ - Pour des raisons d'organisation, vous préférerez peut-être ajouter VirtualHost et - les définitions de composant dans leurs propres fichiers de configuration. Cette ligne inclut - tous les fichiers de configuration dans /etc/prosody/conf.d/ Inclure "conf.d / *. Cfg.lua"

Modifications dans la configuration Dnsmasq sous linuxbox

Fichier /Etc/dnsmasq.conf

Ajoutez simplement la valeur cname=chat.desdelinux.fan,linuxbox.desdelinux.ventilateur:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
----- # -------------------------------------------- ----------------------- # RECORDSCNAMEMTXXT # ------------------------ ------------------------------------------------ # Ce type d'inscription nécessite un entrée # dans le fichier /etc/hosts # ex : 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,linuxbox.desdelinux.ventilateur
cname=chat.desdelinux.fan,linuxbox.desdelinux.ventilateur
----

[root @ linuxbox ~] # redémarrage du service dnsmasq
[root @ linuxbox ~] # état du service dnsmasq [root @ linuxbox ~] # chat hôte
bavarder.desdelinux.fan est un alias pour Linuxbox.desdelinux.ventilateur. Linuxbox.desdelinux.fan a l’adresse 192.168.10.5 Linuxbox.desdelinuxLe courrier .fan est géré par 1 courrier.desdelinux.ventilateur.

Fichier /Etc/resolv.conf

[root @ linuxbox ~] # nano /etc/resolv.conf 
recherche desdelinux.fan nameserver 127.0.0.1 # Pour les requêtes DNS externes ou # hors domaine desdelinux.fan #local=/desdelinux.fan/ serveur de noms 172.16.10.30

Modifications dans le DNS externe dans le FAI

Nous dédions l'intégralité de l'article «Serveur DNS autoritaire NSD + Shorewall - Réseaux PME»À la question de savoir comment déclarer les enregistrements SRV liés à XMPP pour que le service de messagerie instantanée puisse sortir sur Internet, et même pour que le serveur Prosody puisse se fédérer avec le reste des serveurs XMPP compatibles existant sur le Web.

Nous redémarrons Prosody

[root @ linuxbox ~] # redémarrage du service prosody
Redirection vers / bin / systemctl redémarrez prosody.service
[root @ linuxbox ~] # état de la prosodie du service
Redirection vers / bin / systemctl status prosody.service ● prosody.service - Serveur Prosody XMPP (Jabber) Chargé: chargé (/usr/lib/systemd/system/prosody.service; activé; prédéfini fournisseur: désactivé) Actif: actif (en cours d'exécution) depuis le dim.2017-05-07 12:07:54 EDT; Il y a 8 s Processus: 1388 ExecStop = / usr / bin / prosodyctl stop (code = sorti, status = 0 / SUCCESS) Process: 1390 ExecStart = / usr / bin / prosodyctl start (code = exit, status = 0 / SUCCESS) PID principal : 1393 (lua) CGroupe: /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody

[root @ linuxbox ~] # tail -f /var/log/prosody/prosody.log
  • Il est très sain d'ouvrir une nouvelle console avec la commande précédente en cours d'exécution et d'observer la sortie du débogage de Prosody pendant le redémarrage du service..

Nous configurons Cyrus SASL

[root @ linuxbox ~] # nano /etc/sasl2/prosody.conf
pwcheck_method: saslauthd mech_list: PLAIN

[root @ linuxbox ~] # redémarrage du service saslauthd
Redirection vers / bin / systemctl redémarre saslauthd.service
[root @ linuxbox ~] # état du service saslauthd

-- Au cas où...
[root @ linuxbox ~] # redémarrage du service prosody

Configuration PAM

[root @ linuxbox ~] # nano /etc/pam.d/xmpp
auth include password-auth account include password-auth

Contrôles d'authentification PAM

  • Pour vérifier, nous devons exécuter la commande suivante EXACTEMENT comme indiqué ci-dessous, car il s'agit d'exécuter une commande en tant qu'utilisateur "prosodie" et non en tant qu'utilisateur "root":
[root @ linuxbox ~] # sudo -u prosodie testsaslauthd -s xmpp -u foulées -p foulées
0: OK «Succès».

[root @ linuxbox ~] # sudo -u tests de prosodieaslauthd -s xmpp -u legolas -p legolas
0: OK «Succès».

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p Lengolas
0: NON "authentification échouée"

Le processus d'authentification auprès des utilisateurs locaux fonctionne correctement.

Nous modifions le FirewallD

Utilisation de l'utilitaire graphique «pare-feu«, Pour la région«public»Nous activons les services:

  • xmpp-bosch
  • client xmpp
  • serveur xmpp
  • xmpp-local

De même pour la région «externe»Nous activons les services:

  • client xmpp
  • serveur xmpp

Et nous ouvrons les ports tcp 5222 et 5269.

Enfin, nous apportons des modifications à Temps d'exécution a Permanent y recharger le FirewallD.

Client XMPP Psi

Pour nous connecter au serveur de messagerie instantanée Prosody nouvellement installé, nous pouvons choisir entre les différents clients existants:

  • Empathie
  • Gajim
  • Une baignoire
  • Psi
  • psi plus
  • sabir
  • Télépathie
  • Wechat

La liste continue. Nous avons choisi le Psi +. Pour l'installer, nous utilisons la commande préférée pour cela ou nous le faisons via les outils graphiques disponibles pour cette tâche. Une fois installé, nous l'exécutons, et à la fin de l'article nous donnons une série d'images qui nous l'espérons vous seront utiles.

Résumé

  • Nous pouvons installer un service de messagerie instantanée basé sur Prosody pour les utilisateurs locaux du système et nous dispenser de créer des utilisateurs Prosody internes ou d'autres types de stockage des informations d'authentification.
  • Les informations d'authentification voyageront cryptées du client au serveur, ainsi que les réponses de ce dernier au client.
  • Nous pouvons installer plus d'un service basé sur l'authentification locale via PAM sur un seul serveur.
  • Jusqu'à présent, le serveur Linuxbox.desdelinux.ventilateur fournit les services suivants au réseau des PME:
    • Résolution des noms de domaine ou DNS.
    • Allocation dynamique d'adresses IP ou DCHP
    • Service de temps réseau ou NTP
    • Sauvegardes via SSH à partir de clients UNIX / Linux ou via WinSCP pour les clients Microsoft Windows.
    • Service de messagerie instantanée - Chat. Également disponible sur Internet.
    • Service de partage de fichiers via le chat lui-même. Également disponible sur Internet
    • Service de téléconférence que vous pouvez configurer dans Prosody.

Et tous les services précédents avec quelques outils graphiques pour la configuration du Firewall - FirewallD, et pour la gestion des utilisateurs et des groupes du système qui sont vraiment faciles à utiliser si nous avons les connaissances de base sur ce que nous voulons faire.

Important

Assurez-vous de visiter l'URL suivante pour avoir des informations complètes sur le Prose: http: //prosody.im.

Jusqu'à la prochaine tranche!


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Facture dit

    Comme toutes vos contributions sont intéressantes, merci beaucoup pour toutes.

  2.   IWO dit

    Félicitations Federico pour un autre excellent article.
    Ici, l'auteur nous donne ("donne") le "comment savoir" de la mise en œuvre du service Chat via Prosody qui utilise le protocole XMPP dans un réseau pour échanger des messages instantanés, transférer des fichiers, faire des conférences avec voix et vidéo, s'authentifier contre local utilisateurs via des connexions sécurisées.
    De plus, comme d'habitude dans toute la série SME, l'auteur facilite l'intégration du service à configurer avec le reste des services et / ou paramètres qui sont déjà en fonctionnement dans un réseau:
    1- Les modifications que nous devons apporter au service DNS pour inclure le service Chat et tout fonctionne correctement.
    2- La configuration (et vérifications) du PAM pour authentifier localement le service Chat.
    3- Ce qu'il faut faire dans le Pare-feu pour le réseau local et le "Réseau de Réseaux" pour permettre le service Chat, et ce avec un niveau de sécurité adéquat.
    4- Et enfin la vérification du Chat depuis un client XMPP.
    Rien pour enregistrer la publication dans un répertoire TIPS lorsque ce service doit être implémenté.

  3.   federico dit

    J'espère qu'ils vous seront utiles d'une certaine manière. Merci pour le commentaire

  4.   federico dit

    Ami IWO, vous avez compris l'essentiel de l'article. Ajoutez simplement que nous implémentons des services pour un réseau UNIX / Linux, même si tous ses clients sont Microsoft Windows. De nombreux lecteurs n'ont peut-être pas encore remarqué ce petit détail. 😉

  5.   Carburus Zodiac dit

    Très bon ami de contribution Fico. Vous savez que j'ai suivi tous vos articles et dans ces 4 derniers j'ai appris beaucoup de questions que je ne connaissais pas à cause du voile de l'Active Directory et du Domain Controller mis en face de moi. Je suis pratiquement né avec le NT 4 et ses PDC et BDC. J'ignorais que je pourrais simplifier l'authentification sur un réseau à une seule machine avec Centos ou autre Linux. J'apprends maintenant une nouvelle philosophie qui, à mon avis, est aussi ancienne que l'origine de l'histoire des réseaux. Bien que vous me disiez peu de choses sur ce que vous allez publier 😉 Je pense que vous allez continuer avec LDAP puis avec Active Directory basé sur Samba 4?. Merci pour votre dévouement à la cause du logiciel libre. J'attendrai vos prochains articles, Fico.

  6.   Edouard Noel dit

    Tiger, super article !!!!!

    Cher collègue, il y a un petit détail, dans la partie DNS, vous indiquez tout le domaine de desdelinux.fan vers IP 172.16.10.10, vous avez implémenté ce serveur dans Debian (celui DNS), maintenant, ce serveur de discussion est dans CentOS, donc logiquement il a une adresse IP différente, dont vous aviez besoin pour rediriger tout le trafic dans le pare-feu pour cette IP où se trouverait le service de messagerie instantanée, puisqu'à ce moment il pointe vers le même serveur DNS et il ne dispose pas du service de messagerie.

    Sinon tout est splendide, un gros câlin.

  7.   federico dit

    Merci Eduardo pour ses commentaires. Vous avez bien lu le paragraphe:

    De même pour la zone "externe" nous activons les services:

    xmpp-client
    xmpp-server

    Et nous ouvrons les ports TCP 5222 et 5269.

    J'autorise la sortie du protocole XMPP via l'interface ens34. Rappelez-vous le post ci-dessous, même de l'article Squid. 😉

  8.   federico dit

    Ami du zodiaque: tu me fais déclarer mes surprises à l'avance. Non, LDAP ne fonctionne pas maintenant. C'est le cœur d'un serveur de messagerie basé sur Postfix, Dovecot, Squirrelmail, et avec authentification PAM, qui serait le dernier de cette mini série. Plus na. ;-). Ensuite, si le reste vient jusqu'à ce que nous arrivions à Samba 4 AD-DC. Au revoir!.

  9.   Edouard Noel dit

    Oui mon ami, si je le lis, mais que je ne vois nulle part le PREROUTING vers l'autre serveur, jetez un œil.

  10.   federico dit

    Eduardo: Faites l'installation. Connectez un ordinateur portable avec un sous-réseau IP 172.16.10.0/24. Installez un client Chat dessus et connectez-vous à Prosody. Alors je l'ai fait et ça a fonctionné comme ça. 😉
    Le FirewallD est celui de CentOS qui PREROUTING à sa manière.