Prosody IM e utenti locali - Networks PYMES

Indice generale della serie: Reti di computer per le PMI: Introduzione

Questo articolo è la continuazione di:

Ciao amici e amici!

Continuiamo ad aggiungere servizi di rete basati sull'autenticazione dell'utente locale al server per piccoli gruppi. Appassionati Software libero, in particolare CentOS.

Le condizioni di lavoro del gruppo sono cambiate in meglio. Ora hanno come quartier generale una casa a tre piani con un seminterrato e hanno bisogno di implementare un server di messaggistica istantanea e il trasferimento di file tra le postazioni di lavoro, per alleviare la difficoltà di salire e scendere le scale o camminare molto. ;-). Per questo propongono di utilizzare il programma Prosodia.

Sono determinati a pubblicare il servizio di chat Internet solo per gli appassionati e intendono collegare il loro server di messaggistica istantanea con altri server XMPP compatibili situati nella rete delle reti. Per questo hanno acquistato il nome di dominio desdelinux.fan e fino ad ora l'indirizzo IP associato a quel nome è gestito dal tuo provider di accesso a Internet.

Il servizio Chat tramite Prosody consentirà loro di scambiare messaggi istantanei, trasferire file, effettuare conferenze vocali e video e altro ancora.

Cos'è Prosody Instant Messenger?

Prosodia è un moderno server di comunicazione basato sul protocollo XMPP. È progettato per una facile installazione e configurazione e una gestione efficiente delle risorse di sistema. Prosody è un programma Open Source - Open Source creato con licenza permissiva MIT / X11.

XMPP è un'alternativa non commerciale per fornire servizi di messaggistica istantanea. Può essere implementato in un ambiente aziendale di produzione, in una rete familiare, in una rete privata di vicini e così via. Supporta un'ampia gamma di software client per piattaforme desktop e mobili. Tramite XMPP questo servizio può essere fornito a qualsiasi dispositivo.

Inoltre, possono collegamento diverse installazioni di Prosody e altri servizi compatibili con il protocollo XMPP, formano una rete di messaggistica in cui avremo il controllo totale del traffico di messaggi e file che avverrà in modo totalmente sicuro.

Prosodia e autenticazione contro utenti locali

Nel Mappa del sito di Prosody IM abbiamo trovato il link alla pagina Provider di autenticazione, che afferma che a partire dalla versione 0.8 di Prosody, vari provider di autenticazione sono supportati tramite i plugin. Puoi usare il file driver software integrato, oppure puoi integrarlo con provider di autenticazione e archiviazione di terze parti utilizzando i loro file API.

Fornitori di autenticazione che possiamo impiegare

Nome Descrizione -------------- ---------------------------------- -----------------------
interno_piano   Autenticazione predefinita. Le password in testo normale vengono memorizzate utilizzando l'archiviazione incorporata.

hash_interno  Le password codificate da un algoritmo interno vengono memorizzate utilizzando l'archiviazione incorporata.

cyrus       Integrazione con Cyrus SASL (LDAP, PAM, ...)

anonimo    Meccanismo di autenticazione che utilizza SASL "ANONYMOUS" con nome utente casuale che non richiede credenziali di autenticazione.

XMPP utilizza il protocollo standard Secure Layer Simple Authentication per l'autenticazione - Simple Aautenticazione e Secure LIeri (SASL), per convalidare le credenziali dei client. Prosody incorpora la libreria SASL che per impostazione predefinita convalida le credenziali rispetto agli account esistenti nella sua memoria incorporata.

Dalla versione 0.7 di Prosody, è supportato un provider esterno Cyrus SALSA che può convalidare le credenziali fornite da utenti esterni rispetto ad altre fonti come: PAM, LDAP, SQL e altri. Consente inoltre l'utilizzo di GSSAPI per i servizi Single Sign-On - Servizi di Single Sign-On.

In questo articolo su Prosody, per ottenere l'autenticazione contro utenti locali tramite PAM, utilizzeremo il provider di autenticazione «cyrus»Fornito dal pacchetto«ciro-sasl»E funziona integrato con il daemon saslauthd.

cyrus-sasl e saslauthd

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

Il demone saslauthd è già installato

[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> off

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

[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service: demone di autenticazione SASL. Loaded: caricato (/usr/lib/systemd/system/saslauthd.service; disabled; vendor preset: disabled) Active: inactive (dead)

[root @ linuxbox ~] # systemctl abilita saslauthd
Collegamento simbolico creato da /etc/systemd/system/multi-user.target.wants/saslauthd.service a /usr/lib/systemd/system/saslauthd.service.

[root @ linuxbox ~] # systemctl avvia saslauthd
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - demone di autenticazione SASL. Caricato: caricato (/usr/lib/systemd/system/saslauthd.service; abilitato; preimpostazione del fornitore: disabilitato) Attivo: attivo (in esecuzione) da sabato 2017/04/29 10:31:20 EDT; 2s fa Processo: 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (code = exited, status = 0 / SUCCESS) PID principale: 1679 (saslauthd) CGroup: /system.slice/saslauthd. servizio ├─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

Prosodia e lua-cyrussasl

[root @ linuxbox ~] # yum installa prosody
---- Dipendenze risolte ========================================== == ================================== Dimensione del repository della versione dell'architettura del pacchetto ========= == ============================================== ==== ================= Installazione: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k Installazione per dipendenze: 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 Riepilogo transazioni ======================================== ========== ============================ Installa 1 pacchetto (+4 pacchetti dipendenti) --- -

[root @ linuxbox ~] # getsebool -a | grep prosody
prosody_bind_http_port -> off
[root @ linuxbox ~] # setsebool prosody_bind_http_port on
[root @ linuxbox ~] # getsebool -a | grep prosody
prosody_bind_http_port -> on

[root @ linuxbox ~] # systemctl abilita prosody
Collegamento simbolico creato da /etc/systemd/system/multi-user.target.wants/prosody.service a /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # systemctl status prosody ● prosody.service - Server Prosody XMPP (Jabber) Caricato: caricato (/usr/lib/systemd/system/prosody.service; abilitato; vendor preset: disabilitato) Attivo: inattivo (morto )

[root @ linuxbox ~] # systemctl avvia prosody
[root @ linuxbox ~] # prosodia dello stato di systemctl
● prosody.service - server Prosody XMPP (Jabber) caricato: caricato (/usr/lib/systemd/system/prosody.service; abilitato; preimpostazione del fornitore: disabilitato) Attivo: attivo (in esecuzione) da sab 2017-04-29 10:35:07 EDT; 2s fa Processo: 1753 ExecStart = / usr / bin / prosodyctl start (code = exited, status = 0 / SUCCESS) PID principale: 1756 (lua) CGroup: /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody

[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 aprile 10:35:06 informazioni generali Salve e benvenuti in Prosody versione 0.9.12 29 aprile 10:35:06 informazioni generali Prosody sta utilizzando il backend selezionato per la gestione della connessione 29 aprile 10:35:06 portmanager info Servizio attivato 's2s' il [::]: 5269, [*]: 5269 29 aprile 10:35:06 info portmanager Servizio attivato "c2s" su [::]: 5222, [*]: 5222 29 aprile 10:35:06 informazioni su portmanager attivato servizio 'legacy_ssl' su nessuna porta 29 aprile 10:35:06 informazioni mod_posix Prosody sta per staccarsi dalla console, disabilitando l'ulteriore output della console 29 aprile 10:35:06 informazioni mod_posix Demonizzata con successo a PID 1756

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

Creiamo l'host virtuale «chat.desdelinux.fan" da "example.com" installato da 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
- Sezione per chat VirtualHost

VirtualHost "chat.desdelinux.fan"

- Assegna a questo host un certificato per TLS, altrimenti utilizzerà quello impostato nella sezione globale (se presente). - Notare che SSL vecchio stile sulla porta 5223 supporta solo un certificato, e utilizzerà sempre quello globale.
        SSL = {
                 key = "/etc/pki/prosody/chat.key";
                certificate = "/etc/pki/prosody/chat.crt";
        }

------ Componenti ------ -- È possibile specificare componenti per aggiungere host che forniscono servizi speciali, -- come conferenze multiutente e trasporti. -- Per ulteriori informazioni sui componenti, vedere http://prosody.im/doc/components ---Configurare un server room MUC (chat multiutente) su conference.chat.desdelinux.fan:
Il componente "conference.chat.desdelinux.fan" "muc"
name = "Enthusiasts" - È IL NOME DELLA SALA CONFERENZE DA DICHIARARE - QUANDO ENTRERETE IN SALA
Limit_room_creation = true

- Configura un proxy SOCKS5 bytestream per trasferimenti di file proxy del server: --Componente "proxy.chat" "proxy65" --- Configura un componente esterno (la porta del componente predefinita è 5347) - - I componenti esterni consentono come gateway / - trasporti ad altre reti come ICQ, MSN e Yahoo. Per maggiori informazioni, vedere: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "password"

autenticazione = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = falso
cyrus_application_name = "prosodia"
cyrus_server_fqdn = "chat.desdelinux.fan"

Modifichiamo il gruppo proprietario del file /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 radice radice 1361 29 aprile 10:45 /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 root prosody 1361 29 aprile 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

Controlliamo la configurazione

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

Certificati SSL per connessioni sicure

Per connettersi al server Prosody - sia dalla rete locale che da Internet - e assicurarsi che le credenziali viaggino in modo sicuro criptate, dobbiamo generare i certificati SSL - Socket Layer di sicurezza dichiarato nel file di configurazione dell'host virtuale /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua:

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

[root @ linuxbox certs] # ​​openssl req -new -x509 -days 365 -nodes \
-out "chat.crt" -newkey rsa: 2048 -keyout "chat.key"
Generazione di una chiave privata RSA a 2048 bit .....+++ ..........+++ scrittura di una nuova chiave privata su 'chat.key' ----- Ti verrà chiesto di inserisci le informazioni che verranno incorporate nella tua richiesta di certificato. Quello che stai per inserire è quello che viene chiamato Nome distinto o DN. Ci sono alcuni campi ma puoi lasciarne alcuni vuoti. Per alcuni campi ci sarà un valore predefinito. Se inserisci '.', il campo verrà lasciato vuoto. ----- Nome Paese (codice a 2 lettere) [XX]:Nome stato o provincia CU (nome completo) []:Nome località Cuba (es. città) [Città predefinita]:Nome organizzazione Havana (es. azienda) [ Società predefinita Ltd]:DesdeLinux.Fan Nome dell'unità organizzativa (ad esempio, sezione) []:Nome comune degli appassionati (ad esempio, il tuo nome o il nome host del tuo server) []:chat.desdelinuxIndirizzo e-mail .fan []:buzz@desdelinux.fan

Modifichiamo le opzioni di configurazione globale

Solamente noi modificheremo le seguenti opzioni nel file /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
- File di configurazione di esempio di Prosody - - Informazioni sulla configurazione di Prosody sono disponibili sul nostro - sito Web all'indirizzo http://prosody.im/doc/configure - - Suggerimento: è possibile verificare che la sintassi di questo file sia corretto - quando hai finito eseguendo: luac -p prosody.cfg.lua - Se ci sono errori, ti farà sapere cosa e dove - sono, altrimenti rimarrà zitto. - - L'unica cosa che resta da fare è rinominare questo file per rimuovere il .dist finale e riempire gli spazi -. Buona fortuna e buon chiacchiericcio! ---------- Impostazioni a livello di server ---------- - Le impostazioni in questa sezione si applicano all'intero server e sono le impostazioni predefinite - per qualsiasi host virtuale - Questo è un elenco (per impostazione predefinita, vuoto) di account che sono amministratori - per il server. Tieni presente che devi creare gli account separatamente - (vedi http://prosody.im/doc/creating_accounts per informazioni) - Esempio: admins = {"user1@example.com", "user2@example.net"}
amministratori = { "buzz@chat.desdelinux.fan", "trancos@chat.desdelinux.fan" }

- Abilita l'uso di libevent per prestazioni migliori sotto carico elevato - Per maggiori informazioni vedere: http://prosody.im/doc/libevent --use_libevent = true; - Questo è l'elenco dei moduli che Prosody caricherà all'avvio. - Cerca mod_modulename.lua nella cartella dei plugin, quindi assicurati che esista anche quello. - La documentazione sui moduli può essere trovata su: http://prosody.im/doc/modules modules_enabled = {- Generalmente richiesto "roster"; - Consenti agli utenti di avere un elenco. Consigliato;) "saslauth"; - Autenticazione per client e server. Consigliato se vuoi accedere. "tls"; - Aggiunta del supporto per TLS sicuro su connessioni c2s / s2s "dialback"; - Supporto dialback s2s "disco"; - Service discovery - Non essenziale, ma consigliato "privato"; - Memoria XML privata (per i segnalibri delle stanze, ecc.) "Vcard"; - Consenti agli utenti di impostare vCard - Questi sono commentati per impostazione predefinita in quanto hanno un impatto sulle prestazioni - "privacy"; - Supporto elenchi di privacy - "compressione"; - Compressione del flusso (Nota: richiede l'installazione del pacchetto RPM lua-zlib) - Bello avere la "versione"; - Risposte alle richieste di versione del server "uptime"; - Segnala da quanto tempo il server è in esecuzione "tempo"; - Fai sapere agli altri l'ora qui su questo server "ping"; - Risposte ai ping XMPP con pong "pep"; - Consente agli utenti di pubblicare il proprio stato d'animo, attività, riproduzione di musica e altro "registrarsi"; - Consentire agli utenti di registrarsi su questo server utilizzando un client e modificare le password - Interfacce di amministrazione "admin_adhoc"; - Consente l'amministrazione tramite un client XMPP che supporta comandi ad-hoc - "admin_telnet"; - Apre l'interfaccia della console telnet sulla porta localhost 5582 - Moduli HTTP
        "bosh"; - Abilita i client BOSH, alias "Jabber over HTTP"
        - "http_files"; - Servire file statici da una directory su HTTP - Altre funzionalità specifiche "posix"; - Funzionalità POSIX, invia il server in background, abilita syslog, ecc. - "gruppi"; - Supporto elenco condiviso - "annuncia"; - Invia annuncio a tutti gli utenti online - "benvenuto"; - Benvenuto agli utenti che registrano gli account - "watchregistrations"; - Avviso agli amministratori delle registrazioni - "motd"; - Invia un messaggio agli utenti quando effettuano il login - "legacyauth"; - Autenticazione legacy. Utilizzato solo da alcuni vecchi client e bot. };

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

bosh_max_inattività = 60
- Utilizzare se si esegue il proxy HTTPS-> HTTP sul lato server
consider_bosh_secure = vero
- Consenti l'accesso da script su qualsiasi sito senza proxy (richiede un browser moderno)
cross_domain_bosh = vero

- Questi moduli vengono caricati automaticamente, ma se lo desideri - per disabilitarli, rimuoverli qui: modules_disabled = {- "offline"; - Memorizza messaggi offline - "c2s"; - Gestire le connessioni client - "s2s"; - Gestire le connessioni da server a server}; - Disabilita la creazione di account per impostazione predefinita, per sicurezza - Per ulteriori informazioni, vedere http://prosody.im/doc/creating_accounts allow_registration = false; - Queste sono le impostazioni relative a SSL / TLS. Se non vuoi - utilizzare SSL / TLS, puoi commentare o rimuovere questo ssl = {key = "/etc/pki/prosody/localhost.key"; certificate = "/etc/pki/prosody/localhost.crt"; } - Forzare i client a utilizzare connessioni crittografate? Questa opzione impedirà ai client di autenticarsi a meno che non stiano utilizzando la crittografia.

c2s_require_encryption = vero

- Forzare l'autenticazione del certificato per le connessioni da server a server? - Ciò fornisce una sicurezza ideale, ma richiede server con cui comunichi per supportare la crittografia E presentare certificati validi e affidabili. - NOTA: la tua versione di LuaSec deve supportare la verifica del certificato! - Per ulteriori informazioni, vedere http://prosody.im/doc/s2s#security s2s_secure_auth = false - Molti server non supportano la crittografia o hanno certificati non validi o autofirmati. È possibile elencare qui i domini che non saranno tenuti a eseguire l'autenticazione utilizzando i certificati. Verranno autenticati tramite DNS. --s2s_insecure_domains = {"gmail.com"} - Anche se lasci s2s_secure_auth disabilitato, puoi comunque richiedere certificati validi per alcuni domini specificando un elenco qui. --s2s_secure_domains = {"jabber.org"} - Seleziona il backend di autenticazione da utilizzare. I fornitori "interni": utilizzano la memoria dati configurata di Prosody per memorizzare i dati di autenticazione. - Per consentire a Prosody di offrire meccanismi di autenticazione sicuri ai client, il provider predefinito memorizza le password in chiaro. Se non ti fidi del tuo - server, consulta http://prosody.im/doc/modules/mod_auth_internal_hashed - per informazioni sull'uso del backend con hash.

- autenticazione = "internal_plain"
autenticazione = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = falso

- Seleziona il backend di archiviazione da utilizzare. Per impostazione predefinita Prosody utilizza file flat - nella sua directory di dati configurata, ma supporta anche più backend - attraverso i moduli. Un backend "sql" è incluso per impostazione predefinita, ma richiede - dipendenze aggiuntive. Vedi http://prosody.im/doc/storage per maggiori informazioni. --storage = "sql" - L'impostazione predefinita è "internal" (Nota: "sql" richiede l'installazione - pacchetto RPM lua-dbi) - Per il backend "sql", puoi rimuovere il commento * uno * dei seguenti per configurare: - sql = {driver = "SQLite3", database = "prosody.sqlite"} - Predefinito. "database" è il nome del file. --sql = {driver = "MySQL", database = "prosody", nome utente = "prosody", password = "secret", host = "localhost"} --sql = {driver = "PostgreSQL", database = "prosody ", username =" prosody ", password =" secret ", host =" localhost "} - Configurazione registrazione - Per la registrazione avanzata vedi http://prosody.im/doc/logging log = {- Registra tutto di livello" info " e superiori (cioè tutti tranne i messaggi "debug") - a /var/log/prosody/prosody.log e gli errori anche a /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; - Cambia "info" in "debug" per la registrazione dettagliata
    errore = "/var/log/prosody/prosody.err"; - Registra gli errori anche su file - error = "* syslog"; - Registra gli errori anche su syslog - log = "* console"; - Accedi alla console, utile per il debug con daemonize = false} - Configurazione POSIX, vedi anche http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false - Il valore predefinito è "true" ------ File di configurazione aggiuntivi ------ - Per scopi organizzativi potresti preferire aggiungere VirtualHost e - Definizioni dei componenti nei loro file di configurazione. Questa riga include: tutti i file di configurazione in /etc/prosody/conf.d/ Include "conf.d / *. Cfg.lua"

Modifiche alla configurazione di Dnsmasq in linuxbox

/Etc/dnsmasq.conf file

Basta aggiungere il valore nomec=chat.desdelinux.fan,linuxbox.desdelinux.fan:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
----- # -------------------------------------------- ----------------------- # RECORDSCNAMEMXTXT # ------------------------ ------------------------------------------- # Questo tipo di registrazione richiede un voce # nel file /etc/hosts # ex: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,linuxbox.desdelinux.fan
nomec=chat.desdelinux.fan,linuxbox.desdelinux.fan
----

[root @ linuxbox ~] # riavvio del servizio dnsmasq
[root @ linuxbox ~] # stato del servizio dnsmasq [root @ linuxbox ~] # chat host
Chiacchierare.desdelinux.fan è un alias per Linuxbox.desdelinux.fan. linuxbox.desdelinux.fan ha indirizzo 192.168.10.5 linuxbox.desdelinuxLa posta .fan è gestita da 1 posta.desdelinux.fan.

/Etc/resolv.conf file

[root @ linuxbox ~] # nano /etc/resolv.conf 
Ricerca desdelinux.fan nameserver 127.0.0.1 # Per query DNS esterne o # non di dominio desdelinux.fan # locale=/desdelinux.fan/ server dei nomi 172.16.10.30

Modifiche nel DNS esterno nell'ISP

Dedichiamo l'intero articolo «Server DNS autoritario NSD + Shorewall - Reti di PMI»Alla questione di come dichiarare i record SRV relativi a XMPP in modo che il servizio di messaggistica istantanea possa uscire su Internet e anche in modo che il server Prosody possa federarsi con il resto dei server XMPP compatibili esistenti sul Web.

Riavvia Prosody

[root @ linuxbox ~] # riavvio della prosodia del servizio
Reindirizzamento a / bin / systemctl riavvia prosody.service
[root @ linuxbox ~] # stato della prosodia del servizio
Reindirizzamento a / bin / systemctl status prosody.service ● prosody.service - Server Prosody XMPP (Jabber) Caricato: caricato (/usr/lib/systemd/system/prosody.service; abilitato; preimpostazione del fornitore: disabilitato) Attivo: attivo (in esecuzione) da Sun 2017-05-07 12:07:54 EDT; 8s fa Processo: 1388 ExecStop = / usr / bin / prosodyctl stop (code = exited, status = 0 / SUCCESS) Processo: 1390 ExecStart = / usr / bin / prosodyctl start (code = exited, status = 0 / SUCCESS) PID principale : 1393 (lua) Cgruppo: /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody

[root @ linuxbox ~] # tail -f /var/log/prosody/prosody.log
  • È molto salutare aprire una nuova console con il comando precedente in esecuzione e guardare l'output del debug di Prosody mentre il servizio si riavvia.

Configuriamo Cyrus SASL

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

[root @ linuxbox ~] # service saslauthd riavvio
Reindirizzamento a / bin / systemctl riavvia saslauthd.service
[root @ linuxbox ~] # stato del servizio saslauthd

-- Se...
[root @ linuxbox ~] # riavvio della prosodia del servizio

Configurazione PAM

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

Controlli di autenticazione PAM

  • Per verificare, dobbiamo eseguire il seguente comando ESATTAMENTE come indicato di seguito, poiché si tratta di eseguire un comando come utente "prosodia" e non come utente "root":
[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u strides -p strides
0: OK "Successo".

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p legolas
0: OK "Successo".

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p Lengolas
0: NO "autenticazione fallita"

Il processo di autenticazione contro gli utenti locali funziona correttamente.

Modifichiamo il FirewallD

Utilizzando l'utilità grafica «cortafuegos«, Per l'area«la percezione»Attiviamo i servizi:

  • xmpp-bosch
  • client xmpp
  • server xmpp
  • xmpp-locale

Allo stesso modo per l'area «esterno»Attiviamo i servizi:

  • client xmpp
  • server xmpp

E apriamo le porte tcp 5222 e 5269.

Infine, apportiamo modifiche a Tempo di esecuzione a Permanente y ricaricare il Firewall D..

Client Psi XMPP

Per connetterci al server Prosody Instant Messaging appena installato, possiamo scegliere tra i vari client esistenti:

  • Empatia
  • Gajim
  • kadu
  • Psi
  • Psi più
  • Pidgin
  • Telepatia
  • weechat

L'elenco potrebbe continuare. Abbiamo scelto il Psi +. Per averlo installato usiamo il comando preferito o lo facciamo attraverso gli strumenti grafici disponibili per quell'attività. Una volta installato, lo eseguiamo, e alla fine dell'articolo diamo una serie di immagini che speriamo ti siano utili.

Riassunto

  • Possiamo installare un servizio di messaggistica istantanea basato su Prosody per gli utenti locali del sistema e rinunciare alla creazione di utenti Prosody interni o altri tipi di archiviazione delle credenziali di autenticazione.
  • Le credenziali di autenticazione viaggeranno crittografate dal client al server e anche le risposte di quest'ultimo al client.
  • Possiamo installare più di un servizio basato sull'autenticazione locale tramite PAM su un singolo server.
  • Finora, il server linuxbox.desdelinux.fan fornisce i seguenti servizi alla rete delle PMI:
    • Risoluzione di nomi di dominio o DNS.
    • Assegnazione dinamica di indirizzi IP o DCHP
    • Servizio ora di rete o NTP
    • Backup tramite SSH da client UNIX / Linux o tramite WinSCP per client Microsoft Windows.
    • Servizio di messaggistica istantanea - Chat. Disponibile anche su Internet.
    • Servizio di condivisione file tramite la chat stessa. Disponibile anche su Internet
    • Servizio di teleconferenza configurabile in Prosody.

E tutti i servizi precedenti con un paio di strumenti grafici per la configurazione del Firewall - FirewallD, e per la Gestione Utenti e Gruppi del sistema che sono davvero facili da usare se abbiamo le conoscenze di base su quello che vogliamo fare.

importante

Assicurati di visitare il seguente URL per avere informazioni complete su Prosato: http: //prosody.im.

Alla prossima puntata!


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   fattura suddetto

    Quanto sono interessanti tutti i tuoi contributi, grazie mille per tutti loro.

  2.   IWO suddetto

    Mille complimenti Federico per un altro bellissimo articolo.
    Qui l'autore ci dà ("dà") il "howto sapere" di come implementare il servizio di Chat tramite Prosody che utilizza il protocollo XMPP in una rete per scambiare messaggi istantanei, trasferire file, fare conferenze con voce e video, autenticarsi in locale utenti su connessioni protette.
    Inoltre, come di consueto in tutta la serie PYMES, l'autore facilita l'integrazione del servizio da configurare con il resto dei servizi e / o parametri che sono già in funzione in una rete:
    1- Le modifiche che dobbiamo apportare al servizio DNS per includere il servizio di chat e tutto funziona correttamente.
    2- La configurazione (e le verifiche) del PAM per autenticare localmente il servizio Chat.
    3- Cosa bisogna fare nel Firewall per la rete locale e nella "Rete di Reti" per consentire il servizio di Chat, e questo con un adeguato livello di sicurezza.
    4- E infine la verifica della Chat da un client XMPP.
    Niente per salvare il post in una directory TIPS per quando questo servizio deve essere implementato.

  3.   federico suddetto

    Spero che ti siano utili in qualche modo. Grazie per il commento

  4.   federico suddetto

    Amico IWO, hai capito il vero senso dell'articolo. Basta aggiungere che stiamo implementando servizi per una rete UNIX / Linux, anche se tutti i suoi client sono Microsoft Windows. Molti lettori potrebbero non aver ancora notato quel piccolo dettaglio. 😉

  5.   Zodiaco Carburus suddetto

    Ottimo contributo amico Fico. Sai che ho seguito tutti i tuoi articoli e in questi ultimi 4 ho appreso tante domande che non conoscevo per il fatto di avere messo in faccia il velo dell'Active Directory e del Domain Controller. Praticamente sono nato con NT 4, i suoi PDC e BDC. Non sapevo di poter semplificare l'autenticazione su una rete su una singola macchina che esegue Centos o altri Linux. Ora sto imparando una nuova filosofia che vedo vecchia quanto l'origine della storia delle reti. Anche se mi dici poco di ciò che pubblicherai, penso che continuerai con LDAP e poi con Active Directory basato su Samba 4? Grazie per la tua dedizione alla causa del software libero. Aspetterò i tuoi prossimi articoli, Fico.

  6.   Edoardo Claus suddetto

    Tiger, ottimo articolo !!!!!

    Collega, c'è un piccolo dettaglio, nella parte DNS, indichi l'intero dominio di desdelinux.fan all'IP 172.16.10.10, hai implementato questo server in Debian (quello DNS), ora questo server di chat è in CentOS, quindi logicamente ha un indirizzo IP diverso, di cui avevi bisogno per reindirizzare tutto il traffico nel firewall questo IP in cui si troverebbe il servizio di messaggistica istantanea, poiché in questo momento punta allo stesso server DNS e non dispone del servizio di messaggistica.

    Altrimenti tutto splendido, un grande abbraccio.

  7.   federico suddetto

    Grazie Eduardo per il commento. Hai letto bene il paragrafo:

    Allo stesso modo per l'area "esterna" attiviamo i servizi:

    xmpp-client
    xmpp-server

    E apriamo le porte tcp 5222 e 5269.

    Consento l'output del protocollo XMPP tramite l'interfaccia ens34. Ricorda il post qui sotto, anche dall'articolo Squid. 😉

  8.   federico suddetto

    Amico dello zodiaco: mi fai dichiarare in anticipo le mie sorprese. No, LDAP non funziona ora. È il cuore di un server di posta basato su Postfix, Dovecot, Squirrelmail e con autenticazione PAM, che sarebbe l'ultimo di questa mini serie. Morena. ;-). Quindi se il resto viene fino ad arrivare a Samba 4 AD-DC. Ciao!.

  9.   Edoardo Claus suddetto

    Sì amico mio, se lo leggo, ma non vedo da nessuna parte il PREROUTING verso l'altro server, dai un'occhiata.

  10.   federico suddetto

    Eduardo: fai l'installazione. Collega un laptop con una sottorete IP 172.16.10.0/24. Installa un client di chat su di esso e connettiti a Prosody. Quindi l'ho fatto e ha funzionato così. 😉
    Il FirewallD è quello di CentOS che PREROUTING a modo suo.