Prosodie IM și utilizatori locali - Rețele PYMES

Indice general al seriei: Rețele de calculatoare pentru IMM-uri: Introducere

Acest articol este o continuare a:

Bună ziua prieteni și prieteni!

Continuăm să adăugăm servicii de rețea bazate pe autentificarea utilizatorului local pe serverul de grup mic. Entuziaști Software gratuit, în special CentOS.

Condițiile de lucru ale grupului s-au schimbat în bine. Acum au ca sediu o casă cu trei etaje, cu subsol și trebuie să implementeze un server de mesagerie instantanee și transferul de fișiere între stațiile de lucru, pentru a atenua dificultatea de a urca și coborî scările sau de a merge mult. ;-). Pentru aceasta, ei propun să folosească programul Prosodie.

Sunt hotărâți să publice serviciul de chat pe Internet numai pentru entuziaști și intenționează să își conecteze serverul de mesagerie instantanee cu alte servere XMPP compatibile situate în Rețeaua de rețele. Pentru aceasta au cumpărat numele de domeniu desdelinux.ventilator și până acum adresa IP asociată cu acel nume este gestionată de furnizorul dvs. de acces la Internet.

Serviciul Chat prin intermediul Prosody le va permite să schimbe mesaje instantanee, să transfere fișiere, să facă conferințe vocale și video și multe altele.

Ce este Prosody Instant Messenger?

Prosodie este un server de comunicare modern bazat pe protocolul XMPP. Este proiectat pentru instalare și configurare ușoară și pentru gestionarea eficientă a resurselor sistemului. Prosody este un program Open Source - Open Source creat sub licență permisivă MIT / X11.

XMPP este o alternativă necomercială pentru a furniza servicii de mesagerie instantanee. Poate fi implementat într-un mediu de afaceri de producție, într-o rețea de familie, rețea de cartier privat etc. Suportă o gamă largă de software client pentru platforme desktop și mobile. Prin XMPP acest serviciu poate fi furnizat oricărui dispozitiv.

În plus, pot legătură mai multe instalații de Prosody și alte servicii care sunt compatibile cu protocolul XMPP și formează o rețea de mesagerie în care vom avea control total asupra mesajului și a traficului de fișiere care va avea loc într-un mod total sigur.

Prosodă și autentificare împotriva utilizatorilor locali

În Harta site-ului Prosody IM am găsit linkul către pagină Furnizori de autentificare, care afirmă că începând cu versiunea 0.8 din Prosody, sunt asigurați diferiți furnizori de autentificare Plugin-uri. Puteți utiliza drivere software încorporat sau vă puteți integra cu furnizori de autentificare și stocare terți utilizând propriul lor API-uri.

Furnizori de autentificare pe care îi putem angaja

Nume Descriere -------------- ---------------------------------- -----------------------
campie_internă   Autentificare implicită. Parolele cu text simplu sunt stocate folosind stocarea încorporată.

internal_hashed  Parolele codate de un algoritm intern sunt stocate folosind stocarea încorporată.

Cyrus       Integrare cu Cyrus SASL (LDAP, PAM,...)

anonim    Mecanism de autentificare folosind SASL „ANONIM” cu nume de utilizator aleatoriu care nu necesită acreditări de autentificare.

XMPP folosește protocolul standard de autentificare simplă Secure Layer pentru autentificare - Saplicare Aautenticare și Secure LIeri (SASL), pentru a valida acreditările clienților. Prosodia încorporează biblioteca SASL care în mod implicit validează acreditările împotriva conturilor existente în spațiul său de stocare încorporat.

De la versiunea 0.7 a Prosody, este acceptat furnizorul extern Cyrus SALS care poate valida acreditările furnizate de utilizatorii externi împotriva altor surse, cum ar fi: PAM, LDAP, SQL și altele. De asemenea, permite utilizarea GSSAPI pentru servicii de conectare unică - Servicii de conectare unică.

În acest articol despre Prosody, pentru a realiza autentificarea împotriva utilizatorilor locali prin PAM, vom folosi furnizorul de autentificare «Cyrus»Furnizat de pachet«cyrus sasl»Și asta funcționează integrat cu demonul saslauthd.

cyrus-sasl și saslauthd

[root @ linuxbox ~] # yum instalează cyrus-sasl

Demonul saslauthd este deja instalat

[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 -> pe

[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - daemon de autentificare SASL. Încărcat: încărcat (/usr/lib/systemd/system/saslauthd.service; dezactivat; presetare furnizor: dezactivat) Activ: inactiv (mort)

[root @ linuxbox ~] # systemctl activate saslauthd
A fost creat un link simbolic de la /etc/systemd/system/multi-user.target.wants/saslauthd.service la /usr/lib/systemd/system/saslauthd.service.

[root @ linuxbox ~] # systemctl start saslauthd
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - daemon de autentificare SASL. Încărcat: încărcat (/usr/lib/systemd/system/saslauthd.service; activat; presetarea furnizorului: dezactivată) Activ: activ (funcționare) de sâmbătă 2017 04:29:10 EDT; Acum 31 secunde Proces: 20 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (cod = ieșit, status = 2 / SUCCES) PID principal: 1678 (saslauthd) CGroup: /system.slice/saslauthd. service ├─0 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1679 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─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

Prosodie și lua-cyrussasl

[root @ linuxbox ~] # yum instalează prosodia
---- Dependențe rezolvate ============================================== ================================== Arhitectura pachetului Versiunea dimensiunii depozitului =========== ==================================================== ================== Instalarea: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k Instalarea pentru dependențe: 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 Transaction Rezumat ================================================== ============================== Instalați 1 pachet (+4 pachete dependente) --- -

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

[root @ linuxbox ~] # systemctl activează prosodia
A fost creat un link simbolic de la /etc/systemd/system/multi-user.target.wants/prosody.service la /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # systemctl status prosody ● prosody.service - Server Prosody XMPP (Jabber) Încărcat: încărcat (/usr/lib/systemd/system/prosody.service; activat; presetare furnizor: dezactivat) Activ: inactiv (mort) )

[root @ linuxbox ~] # systemctl începe prosodia
[root @ linuxbox ~] # systemctl status prosody
● prosody.service - Server Prosody XMPP (Jabber) Încărcat: încărcat (/usr/lib/systemd/system/prosody.service; activat; presetare furnizor: dezactivat) Activ: activ (funcționare) de sâmbătă 2017 04:29:10 EDT; Acum 35 secunde Proces: 07 ExecStart = / usr / bin / prosodyctl start (cod = ieșit, stare = 2 / SUCCES) PID principal: 1753 (lua) CGroup: /system.slice/prosody.service └─0 lua / usr / lib1756 /prozodie/../../bin/prosodie

[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 apr. 10:35:06 informații generale Bună ziua și bine ați venit la versiunea Prosody 0.9.12 29 apr. 10:35:06 informații generale Prosody folosește backend-ul selectat pentru gestionarea conexiunii 29 apr. 10:35:06 informații portmanager Serviciu activat 's2s' pe [::]: 5269, [*]: 5269 29 apr. 10:35:06 informații portmanager Serviciu activat 'c2s' pe [::]: 5222, [*]: 5222 29 apr. 10:35:06 informații portmanager Activat serviciu „legacy_ssl” fără porturi 29 apr. 10:35:06 mod_posix info Prosody este pe cale să se detașeze de consolă, dezactivând ieșirea suplimentară a consolei 29 apr. 10:35:06 mod_posix info demonizat cu succes la PID 1756

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

Creăm gazda virtuală «chat.desdelinux.fan” din „example.com” pe care îl instalează 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
- Secțiunea pentru chat-ul VirtualHost

VirtualHost „chat.desdelinux.ventilator"

- Atribuiți acestei gazde un certificat pentru TLS, altfel ar folosi cel setat în secțiunea globală (dacă există). - Rețineți că SSL-ul vechi de pe portul 5223 acceptă doar un certificat, - și îl va folosi întotdeauna pe cel global.
        ssl = {
                 cheie = "/etc/pki/prosody/chat.key";
                certificate = "/etc/pki/prosody/chat.crt";
        }

------ Componente ------ -- Puteți specifica componente pentru a adăuga gazde care oferă servicii speciale, -- cum ar fi conferințe cu mai mulți utilizatori și transporturi. -- Pentru mai multe informații despre componente, consultați http://prosody.im/doc/components ---Configurați un server de cameră MUC (multi-user chat) pe conference.chat.desdelinux.ventilator:
Componenta „conference.chat.desdelinux.fan" "muc"
name = "Entuziaști" - ESTE DENUMIREA CAMEREI DE CONFERINȚĂ DE DECLARAT - CÂND TE VOI ÎNSCRIE LA CAMeră
restrict_room_creation = adevărat

- Configurați un proxy bytestream SOCKS5 pentru transferuri de fișiere proxy de server: --Component "proxy.chat" "proxy65" --- Configurați o componentă externă (portul implicit al componentei este 5347) - - Componentele externe permit adăugarea de servicii diverse, precum ca gateway / - transporturi către alte rețele precum ICQ, MSN și Yahoo. Pentru mai multe informații - consultați: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "parolă"

autentificare = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = fals
cyrus_application_name = "prosodie"
cyrus_server_fqdn = „chat.desdelinux.ventilator"

Ajustăm grupul care deține fișierul /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 rădăcină rădăcină 1361 Apr 29 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # root chown: 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 Apr 29 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

Verificăm configurația

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

Certificate SSL pentru conexiuni sigure

Pentru a ne conecta la serverul Prosody - atât din rețeaua locală, cât și de pe Internet - și pentru a ne asigura că acreditările călătoresc în siguranță criptate, trebuie să generăm certificatele SSL - Strat de soclu de securitate declarat în fișierul de configurare a gazdei 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"
Se generează o cheie privată RSA de 2048 de biți .....+++ ..........+++ scrierea unei noi chei private la „chat.key” ----- Vi se va cere să introduceți informațiile care vor fi încorporate în cererea dvs. de certificat. Ceea ce urmează să introduceți este ceea ce se numește un nume distinctiv sau un DN. Există destul de multe câmpuri, dar puteți lăsa unele necompletate. Pentru unele câmpuri va exista o valoare implicită. Dacă introduceți „.”, câmpul va rămâne necompletat. ----- Numele țării (cod cu două litere) [XX]:Numele statului sau provinciei CU (numele complet) []:Numele localității Cuba (de exemplu, orașul) [Orașul implicit]:Havana Numele organizației (de exemplu, compania) [ Compania implicită Ltd]:DesdeLinux.Fan Organizational Unit Name (de exemplu, secțiune) []:Enthusiasts Common Name (de exemplu, numele dvs. sau numele de gazdă al serverului dvs.) []:chat.desdelinux.fan Adresă de e-mail []:buzz@desdelinux.ventilator

Modificăm opțiunile de configurare globală

solamente vom edita următoarele opțiuni din fișier /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
- Exemplu de fișier de configurare Prosody - - Informații despre configurarea Prosody pot fi găsite pe site-ul nostru - http://prosody.im/doc/configure - - Sfat: Puteți verifica dacă sintaxa acestui fișier este corectă - când ați terminat rulând: luac -p prosody.cfg.lua - Dacă există erori, vă va anunța ce și unde sunt, altfel va păstra tăcerea. - - Singurul lucru rămas de făcut este redenumirea acestui fișier pentru a elimina sfârșitul .dist și completați - spațiile goale. Mult succes și fericit Jabbering! ---------- Setări la nivel de server ---------- - Setările din această secțiune se aplică întregului server și sunt setările implicite - pentru orice gazdă virtuală - Acesta este un (de implicit, gol) listă de conturi care sunt administratori - pentru server. Rețineți că trebuie să creați conturile separat - (consultați http://prosody.im/doc/creating_accounts pentru informații) - Exemplu: admins = {"user1@example.com", "user2@example.net"}
admins = { "buzz@chat.desdelinux.fan", "trancos@chat.desdelinux.ventilator" }

- Activați utilizarea libevent pentru o performanță mai bună sub sarcină mare - Pentru mai multe informații, consultați: http://prosody.im/doc/libevent --use_libevent = true; - Aceasta este lista modulelor pe care Prosody le va încărca la pornire. - Se caută mod_modulename.lua în folderul de pluginuri, deci asigurați-vă că există și el. - Documentația privind modulele poate fi găsită la: http://prosody.im/doc/modules modules_enabled = {- "Lista" necesară în general; - Permiteți utilizatorilor să aibă o listă. Recomandat;) „saslauth”; - Autentificare pentru clienți și servere. Recomandat dacă doriți să vă conectați. „tls”; - Adăugați suport pentru TLS securizat pe conexiuni c2s / s2s "dialback"; - suport discback s2s "disc"; - Descoperirea serviciului - Nu este esențial, dar recomandat „privat”; - stocare XML privată (pentru marcaje de cameră etc.) „vcard”; - Permiteți utilizatorilor să seteze vCards - Acestea sunt comentate în mod implicit, deoarece au un impact asupra performanței - „confidențialitate”; - Suport liste de confidențialitate - „compresie”; - Compresia fluxului (Notă: necesită pachetul RPM lua-zlib instalat) - Este plăcut să ai „versiunea”; - Răspunsuri la cererile de versiune a serverului „uptime”; - Raportați de cât timp rulează serverul „timp”; - Anunțați-i pe ceilalți ora aici pe acest server „ping”; - Răspunsuri la ping-urile XMPP cu ponguri „pep”; - Permite utilizatorilor să-și publice starea de spirit, activitatea, redarea de muzică și mai multe „înregistrări”; - Permiteți utilizatorilor să se înregistreze pe acest server folosind un client și să schimbe parolele - Interfețe de administrare „admin_adhoc”; - Permite administrarea prin intermediul unui client XMPP care acceptă comenzi ad-hoc - „admin_telnet”; - Deschide interfața consolei telnet pe portul localhost 5582 - module HTTP
        „bosh”; - Activați clienții BOSH, alias „Jabber over HTTP”
        - „http_files”; - Serviți fișiere statice dintr-un director prin HTTP - Alte funcționalități specifice "posix"; - Funcționalitate POSIX, trimite serverul în fundal, activează syslog etc. - „grupuri”; - Suport pentru listă partajată - „anunțați”; - Trimiteți anunț tuturor utilizatorilor online - „bun venit”; - Bine ați venit utilizatorii care înregistrează conturi - „watchregistrations” - Alertați administratorii înregistrărilor - „motd”; - Trimiteți un mesaj utilizatorilor când se conectează - „legacyauth”; - Autentificare moștenită. Folosit doar de unii clienți și roboți vechi. };

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

bosh_max_inactivity = 60
- Folosiți dacă proxy HTTPS-> HTTP pe partea de server
consider_bosh_secure = adevărat
- Permiteți accesul din scripturi pe orice site fără proxy (necesită un browser modern)
cross_domain_bosh = adevărat

- Aceste module sunt încărcate automat, dar dacă doriți - pentru a le dezactiva, apoi descomentați-le aici: modules_disabled = {- "offline"; - Stocați mesaje offline - „c2s”; - Gestionați conexiunile clientului - „s2s”; - Gestionați conexiunile de la server la server}; - Dezactivați în mod implicit crearea contului, pentru securitate - Pentru mai multe informații, consultați http://prosody.im/doc/creating_accounts allow_registration = false; - Acestea sunt setările legate de SSL / TLS. Dacă nu doriți - să utilizați SSL / TLS, puteți comenta sau elimina acest ssl = {key = "/etc/pki/prosody/localhost.key"; certificate = "/etc/pki/prosody/localhost.crt"; } - Forțați clienții să utilizeze conexiuni criptate? Această opțiune va împiedica autentificarea clienților, cu excepția cazului în care utilizează criptarea.

c2s_require_encryption = adevărat

- Forțați autentificarea certificatului pentru conexiunile server-la-server? - Aceasta oferă securitate ideală, dar necesită servere cu care comunicați - pentru a sprijini criptarea ȘI prezenta certificatele valide și de încredere. - NOTĂ: Versiunea dvs. de LuaSec trebuie să accepte verificarea certificatului! - Pentru mai multe informații, consultați http://prosody.im/doc/s2s#security s2s_secure_auth = false - Multe servere nu acceptă criptarea sau au certificate invalide sau autosemnate. Aici puteți lista domenii care nu vor fi obligate să - autentifice folosind certificate. Acestea vor fi autentificate folosind DNS. --s2s_insecure_domains = {"gmail.com"} - Chiar dacă lăsați s2s_secure_auth dezactivat, puteți solicita în continuare certificate valide pentru unele domenii, specificând o listă aici. --s2s_secure_domains = {"jabber.org"} - Selectați backend-ul de autentificare de utilizat. Furnizorii „interni” - utilizează stocarea de date configurată de Prosody pentru a stoca datele de autentificare. - Pentru a permite Prosody să ofere mecanisme sigure de autentificare clienților, furnizorul implicit stochează parolele în text simplu. Dacă nu aveți încredere în serverul dvs., consultați http://prosody.im/doc/modules/mod_auth_internal_hashed - pentru informații despre utilizarea backendului hash.

- autentificare = "campie_internă"
autentificare = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = fals

- Selectați backend-ul de stocare pe care să îl utilizați. În mod implicit, Prosody folosește fișiere plate - în directorul său de date configurat, dar acceptă și mai multe backend - prin module. Un backend „sql” este inclus în mod implicit, dar necesită - dependențe suplimentare. Pentru mai multe informații, consultați http://prosody.im/doc/storage. --storage = "sql" - Valoarea implicită este "internă" (Notă: "sql" necesită instalarea - pachetul RPM lua-dbi) - Pentru backend-ul "sql", puteți decomenta * unul * din cele de mai jos pentru a configura: - sql = {driver = "SQLite3", database = "prosody.sqlite"} - Implicit. „baza de date” este numele fișierului. --sql = {driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost"} --sql = {driver = "PostgreSQL", database = "prosody" ", nume de utilizator =" prosodie ", parolă =" secret ", gazdă =" localhost "} - Configurare jurnalizare - Pentru jurnalizare avansată, consultați http://prosody.im/doc/logging log = {- Jurnalul de toate nivelurile" info " și mai mare (adică toate cu excepția mesajelor „depanare”) - la /var/log/prosody/prosody.log și erori și la /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; - Schimbați „informații” la „depanare” pentru înregistrarea detaliată
    error = "/var/log/prosody/prosody.err"; - Înregistrați erori și în fișier - error = "* syslog"; - Jurnal de erori, de asemenea, la syslog - log = "* consolă"; - Conectați-vă la consolă, util pentru depanare cu daemonize = false} - configurație POSIX, consultați și http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false - Implicit este "adevărat" ------ Fișiere de configurare suplimentare ------ - În scopuri organizaționale, puteți prefera să adăugați VirtualHost și - Definiții de componente în propriile fișiere de configurare. Această linie include - toate fișierele de configurare din /etc/prosody/conf.d/ Includeți "conf.d / *. Cfg.lua"

Modificări în configurația Dnsmasq în linuxbox

/Etc/dnsmasq.conf fișier

Doar adăugați valoarea cname=chat.desdelinux.fan,linuxbox.desdelinux.ventilator:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
----- # -------------------------------------------- ----------------------- # RECORDSCNAMEMXTXT # ------------------------ ------------------------------------------- # Acest tip de înregistrare necesită o intrarea # în fișierul /etc/hosts # ex: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,linuxbox.desdelinux.ventilator
cname=chat.desdelinux.fan,linuxbox.desdelinux.ventilator
----

[root @ linuxbox ~] # service dnsmasq restart
[root @ linuxbox ~] # service dnsmasq status [root @ linuxbox ~] # chat gazdă
conversație.desdelinux.fan este un alias pentru linuxbox.desdelinux.ventilator. linuxbox.desdelinux.fan are adresa 192.168.10.5 linuxbox.desdelinux.mail-ul fanilor este tratat cu 1 mail.desdelinux.ventilator.

Fișierul /Etc/resolv.conf

[root @ linuxbox ~] # nano /etc/resolv.conf 
căutare desdelinux.fan nameserver 127.0.0.1 # Pentru interogări DNS externe sau # non-domeniu desdelinux.fan # local=/desdelinux.fan/ server de nume 172.16.10.30

Modificări în DNS extern în ISP

Dedicăm întregul articol «Server DNS autorizat NSD + Shorewall - Rețele IMM-uri»La problema cum să declarați înregistrările SRV legate de XMPP astfel încât serviciul de mesagerie instant să poată ieși pe Internet și chiar și așa încât serverul Prosody să se poată federa cu restul serverelor XMPP compatibile existente pe Web.

Repornim Prosody

[root @ linuxbox ~] # service prosody restart
Redirecționarea către / bin / systemctl reporniți prosody.service
[root @ linuxbox ~] # stare de prosodă a serviciului
Redirecționarea către starea / bin / systemctl prosody.service ● prosody.service - Server Prosody XMPP (Jabber) Încărcat: încărcat (/usr/lib/systemd/system/prosody.service; activat; presetare furnizor: dezactivat) Activ: activ (funcționare) de Duminică 2017-05-07 12:07:54 EDT; Acum 8s Proces: 1388 ExecStop = / usr / bin / prosodyctl stop (cod = ieșit, stare = 0 / SUCCES) Proces: 1390 ExecStart = / usr / bin / prosodyctl start (cod = ieșit, stare = 0 / SUCCES) PID principal : 1393 (lua) CGroup: /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody

[root @ linuxbox ~] # tail -f /var/log/prosody/prosody.log
  • Este foarte sănătos să deschideți o nouă consolă cu comanda anterioară rulată și să urmăriți ieșirea depanării Prosody în timp ce serviciul repornește.

Configurăm Cyrus SASL

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

[root @ linuxbox ~] # service saslauthd restart
Redirecționarea către / bin / systemctl reporniți saslauthd.service
[root @ linuxbox ~] # service saslauthd status

-- Dacă...
[root @ linuxbox ~] # service prosody restart

Configurație PAM

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

Verificări de autentificare PAM

  • Pentru a verifica, trebuie să executăm următoarea comandă EXACT, așa cum este indicat mai jos, deoarece este vorba despre executarea unei comenzi ca utilizator de „prozodie” și nu ca utilizator „rădăcină”:
[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u strides -p strides
0: OK „Succes”.

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

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p Lengolas
0: NU "autentificare eșuată"

Procesul de autentificare împotriva utilizatorilor locali funcționează corect.

Modificăm FirewallD

Utilizarea utilitarului grafic «firewall-uri«, Pentru zona«public»Activăm serviciile:

  • xmpp-bosch
  • xmpp-client
  • xmpp-server
  • xmpp-local

Similar pentru zona «extern»Activăm serviciile:

  • xmpp-client
  • xmpp-server

Și deschidem porturile tcp 5222 și 5269.

În cele din urmă, facem modificări la Timpul de execuție a Permanent y reîncărcați FirewallD.

Client XMPP Psi

Pentru a ne conecta cu serverul de mesagerie instant Prosody nou instalat, putem alege între diferiții clienți care există:

  • Empatia
  • Gajim
  • kadu
  • Psi
  • psi plus
  • Limba engleză stricată
  • Telepatie
  • Wechat

Lista continuă. Am ales Psi +. Pentru a-l instala, folosim comanda preferată pentru aceasta sau o facem prin instrumentele grafice disponibile pentru acea sarcină. Odată instalat, îl executăm, iar la sfârșitul articolului oferim o serie de imagini care sperăm să vă fie de folos.

Rezumat

  • Putem instala un serviciu de mesagerie instant bazat pe Prosody pentru utilizatorii locali ai sistemului și să renunțăm la crearea de utilizatori interni Prosody sau alte tipuri de stocare a acreditării de autentificare.
  • Acreditările de autentificare vor călători criptate de la client la server, precum și răspunsurile acestuia din urmă la client.
  • Putem instala mai multe servicii bazate pe autentificare locală prin PAM pe un singur server.
  • Până acum, serverul linuxbox.desdelinux.ventilator furnizează următoarele servicii rețelei de IMM-uri:
    • Rezolvarea numelor de domeniu sau DNS.
    • Alocarea dinamică a adreselor IP sau DCHP
    • Network Time Service sau NTP
    • Backup-uri prin SSH de la clienții UNIX / Linux sau prin WinSCP pentru clienții Microsoft Windows.
    • Serviciu de mesagerie instant - Chat. De asemenea, disponibil de pe Internet.
    • Serviciu de partajare a fișierelor prin Chat în sine. De asemenea, disponibil de pe Internet
    • Serviciu de teleconferință pe care îl puteți configura în Prosody.

Și toate serviciile anterioare cu câteva instrumente grafice pentru configurarea paravanului de protecție - FirewallD și pentru gestionarea utilizatorilor și a grupului sistemului care sunt cu adevărat ușor de utilizat dacă avem cunoștințele de bază despre ceea ce vrem să facem.

Important

Asigurați-vă că vizitați următoarea adresă URL pentru a avea informații complete pe Proz: http: //prosody.im.

Până la următoarea tranșă!


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Guillermo el a spus

    Cât de interesante sunt toate contribuțiile dvs., vă mulțumesc foarte mult pentru toate.

  2.   IWO el a spus

    O mie de felicitări Federico pentru un alt articol grozav.
    Aici autorul ne oferă („dă”) „cum să știm” despre cum să implementăm serviciul de chat prin Prosody care folosește protocolul XMPP într-o rețea pentru a schimba mesaje instantanee, a transfera fișiere, a face conferințe cu voce și video, autentificându-se împotriva localului utilizatorii prin conexiuni securizate.
    De asemenea, ca de obicei în întreaga serie de IMM-uri, autorul facilitează integrarea serviciului pentru a fi configurat cu restul serviciilor și / sau parametrilor care sunt deja în funcțiune într-o rețea:
    1- Modificările pe care trebuie să le facem serviciului DNS pentru a include serviciul de chat și totul funcționează corect.
    2- Configurarea (și verificările) PAM pentru autentificarea locală a serviciului de chat.
    3- Ce trebuie să facem în Firewall pentru ca rețeaua locală și „Rețeaua de rețele” să permită serviciul de chat și acest lucru cu un nivel adecvat de securitate.
    4- Și, în cele din urmă, verificarea chat-ului de la un client XMPP.
    Nimic de salvat postarea într-un director TIPS pentru momentul în care acest serviciu trebuie implementat.

  3.   Federico el a spus

    Sper că vă sunt utile într-un fel. Mulțumesc pentru comentariu

  4.   Federico el a spus

    Prietene IWO, ai primit adevăratul esențial al articolului. Doar adăugați că implementăm servicii pentru o rețea UNIX / Linux, chiar dacă toți clienții săi sunt Microsoft Windows. Este posibil ca mulți cititori să nu fi observat încă acel mic detaliu. 😉

  5.   Carburus zodiacal el a spus

    Foarte bună contribuție prieten Fico. Știi că ți-am urmărit toate articolele și în aceste ultime 4 am învățat multe întrebări pe care nu le știam din cauza faptului că mi-a pus în față voalul Active Directory și al Controlerului de domeniu. M-am născut practic cu NT 4 și PDC-urile și BDC-urile sale. Nu știam că aș putea simplifica autentificarea pe o rețea la o singură mașină care rulează Centos sau alt Linux. Acum învăț o nouă filozofie pe care o văd la fel de veche ca și originea istoriei rețelelor. Deși îmi spuneți puțin despre ce urmează să publicați think Cred că veți continua cu LDAP și apoi cu Active Directory bazat pe Samba 4?. Vă mulțumim pentru dedicarea dvs. față de cauza software-ului gratuit. Voi aștepta următoarele articole, Fico.

  6.   Edward Claus el a spus

    Tigru, articol grozav !!!!!

    Colege, există un mic detaliu, în partea DNS, indicați întregul domeniu al desdelinux.fan la IP 172.16.10.10, ați implementat acest server în Debian (cel DNS), acum, acest server de chat este în CentOS, așa că logic are o adresă IP diferită, de care aveai nevoie pentru a redirecționa tot traficul din firewall pt. acest IP unde ar fi localizat serviciul de mesagerie instantanee, deoarece în acest moment indică același server DNS și nu are serviciul de mesagerie.

    Altfel totul splendid, o îmbrățișare mare.

  7.   Federico el a spus

    Mulțumesc Eduardo pentru comentarii. Ai citit bine paragraful:

    În mod similar pentru zona „externă” activăm serviciile:

    xmpp-client
    xmpp-server

    Și deschidem porturile tcp 5222 și 5269.

    Permit ieșirea protocolului XMPP prin interfața ens34. Amintiți-vă postarea de mai jos, chiar și din articolul Squid. 😉

  8.   Federico el a spus

    Prieten zodiacal: mă faci să-mi declar surprizele în avans. Nu, LDAP nu merge acum. Există nucleul unui server de mail bazat pe Postfix, Dovecot, Squirrelmail și cu autentificare PAM, care ar fi ultima din această mini serie. Mai na. ;-). Apoi, dacă restul vine până ajungem la Samba 4 AD-DC. Pa!.

  9.   Edward Claus el a spus

    Da, prietene, dacă îl citesc, dar nu văd nicăieri PREROUTAREA către celălalt server, aruncă o privire.

  10.   Federico el a spus

    Eduardo: Efectuați instalarea. Conectați un laptop cu o subrețea IP 172.16.10.0/24. Instalați un client Chat pe acesta și conectați-vă la Prosody. Așa că am făcut-o și a funcționat așa. 😉
    FirewallD este cel pentru CentOS care va PREROUTING în felul său.