Prosody IM en lokale gebruikers - Networks PYMES

Algemene index van de serie: Computernetwerken voor het MKB: inleiding

Dit artikel is een voortzetting van:

Hallo vrienden en vrienden!

We blijven netwerkdiensten toevoegen op basis van de authenticatie van lokale gebruikers aan de kleine server van de groep van Liefhebbers Gratis software, met name CentOS.

De arbeidsomstandigheden van de groep zijn ten goede veranderd. Ze hebben nu als hoofdkantoor een huis met drie verdiepingen en een kelder en moeten een instant messaging-server en bestandsoverdracht tussen werkstations implementeren om de moeilijkheid van trappen op en af ​​te gaan of veel lopen te verlichten. ;-). Hiervoor stellen ze voor om het programma te gebruiken prosodie.

Ze zijn vastbesloten om de internetchatservice alleen voor liefhebbers te publiceren, en ze zijn van plan hun instant messaging-server te koppelen aan andere compatibele XMPP-servers in het netwerk van netwerken. Hiervoor kochten ze de domeinnaam desdelinux.ventilator en tot nu toe wordt het IP-adres dat aan die naam is gekoppeld, beheerd door uw internetprovider.

Met de dienst Chat via Prosody kunnen ze instant messages uitwisselen, bestanden overbrengen, spraak- en videoconferenties houden en meer.

Wat is Prosody Instant Messenger?

prosodie het is een moderne communicatieserver gebaseerd op het XMPP-protocol. Het is ontworpen voor eenvoudige installatie en configuratie en voor efficiënt beheer van systeembronnen. Prosody is een Open Source - Open Source-programma gemaakt onder de toegestane licentie MIT / X11.

XMPP het is een niet-commercieel alternatief om instant messaging-diensten aan te bieden. Het kan worden geïmplementeerd in een productiebedrijfsomgeving, in een familienetwerk, privé-netwerk van buren, enzovoort. Het ondersteunt een breed scala aan clientsoftware voor desktop- en mobiele platforms. Via XMPP kan deze service aan elk apparaat worden geleverd.

Bovendien kunnen ze koppeling verschillende installaties van Prosody en andere services die compatibel zijn met het XMPP-protocol, en een berichtennetwerk vormen waarin we volledige controle hebben over het berichten- en bestandsverkeer dat op een volledig veilige manier zal plaatsvinden.

Prosody en authenticatie tegen lokale gebruikers

In de Prosody IM Site Map we vonden de link naar de pagina Authenticatieproviders, waarin staat dat vanaf versie 0.8 van Prosody verschillende authenticatieleveranciers worden ondersteund door plugins. U kunt de chauffeurs ingebouwde software, of u kunt integreren met externe authenticatie- en opslagproviders met behulp van hun APIs.

Authenticatieproviders die we mogelijk gebruiken

Naam Beschrijving -------------- ---------------------------------- -----------------------
interne_vlakte   Standaard authenticatie. Wachtwoorden in platte tekst worden opgeslagen met behulp van de ingebouwde opslag.

interne_gehasht  Wachtwoorden die zijn gecodeerd door een intern algoritme, worden opgeslagen met behulp van ingebouwde opslag.

cyrus       Integratie met Cyrus SASL (LDAP, PAM, ...)

anoniem    Verificatiemechanisme met behulp van SASL 'ANONYMOUS' met een willekeurige gebruikersnaam waarvoor geen verificatiegegevens vereist zijn.

XMPP gebruikt het standaard Secure Layer Simple Authentication-protocol voor authenticatie - Suitvoe Authentication en Secure LGisteren (SASL), om de referenties van de klanten te valideren. Prosody omvat de bibliotheek SASL die standaard referenties valideert voor bestaande accounts in de ingebouwde opslag.

Sinds versie 0.7 van Prosody wordt externe provider ondersteund Cyrus ZOUT die de inloggegevens die door externe gebruikers zijn verstrekt, kan valideren tegen andere bronnen, zoals: PAM, LDAP, SQL en anderen. Het maakt ook het gebruik van GSSAPI voor Single Sign-On Services - Diensten voor eenmalige aanmelding.

In dit artikel over Prosody, om authenticatie tegen lokale gebruikers via PAM te bereiken, zullen we de authenticatieprovider gebruiken «cyrus»Geleverd door het pakket«cyrus sasl»En dat werkt geïntegreerd met de daemon saslauthd.

cyrus-sasl en saslauthd

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

De saslauthd-daemon is al geïnstalleerd

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

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

[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - SASL-authenticatiedaemon. Geladen: geladen (/usr/lib/systemd/system/saslauthd.service; uitgeschakeld; vooraf ingestelde leverancier: uitgeschakeld) Actief: inactief (dood)

[root @ linuxbox ~] # systemctl zet saslauthd aan
Een symlink gemaakt van /etc/systemd/system/multi-user.target.wants/saslauthd.service naar /usr/lib/systemd/system/saslauthd.service.

[root @ linuxbox ~] # systemctl start saslauthd
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - SASL-authenticatiedaemon. Geladen: geladen (/usr/lib/systemd/system/saslauthd.service; ingeschakeld; vooraf ingestelde leverancier: uitgeschakeld) Actief: actief (actief) sinds za 2017-04-29 10:31:20 EDT; 2s geleden Proces: 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (code = verlaten, status = 0 / SUCCES) Hoofd-PID: 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

Prosody en lua-cyrussasl

[root @ linuxbox ~] # yum installeer prosodie
---- Afhankelijkheden opgelost ========================================== ==================================== Pakketarchitectuur Versie Repository Grootte ========= =================================================== ===================== Installeren: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k Installeren voor afhankelijkheden: lua-expat x86_64 1.3.0- 4.el7 Epel-Repo 32 k lua-bestandssysteem 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 Transactieoverzicht =========================================== ====================================== Installeer 1 pakket (+4 afhankelijke pakketten) --- -

[root @ linuxbox ~] # getsebool -a | grep prosodie
prosody_bind_http_port -> uit
[root @ linuxbox ~] # setsebool prosody_bind_http_port aan
[root @ linuxbox ~] # getsebool -a | grep prosodie
prosody_bind_http_port -> aan

[root @ linuxbox ~] # systemctl zet prosodie aan
Een symlink gemaakt van /etc/systemd/system/multi-user.target.wants/prosody.service naar /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # systemctl status prosody ● prosody.service - Prosody XMPP (Jabber) server Geladen: geladen (/usr/lib/systemd/system/prosody.service; ingeschakeld; vendor preset: uitgeschakeld) Actief: inactief (dood )

[root @ linuxbox ~] # systemctl start prosodie
[root @ linuxbox ~] # systemctl status prosodie
● prosody.service - Prosody XMPP (Jabber) server Geladen: geladen (/usr/lib/systemd/system/prosody.service; ingeschakeld; leverancier preset: uitgeschakeld) Actief: actief (actief) sinds za 2017-04-29 10:35:07 EDT; 2 seconden geleden Proces: 1753 ExecStart = / usr / bin / prosodyctl start (code = verlaten, status = 0 / SUCCES) Hoofd-PID: 1756 (lua) CGroup: /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody

[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 april 10:35:06 algemene informatie Hallo en welkom bij Prosody versie 0.9.12 29 april 10:35:06 algemene informatie Prosody gebruikt de select backend voor het afhandelen van verbindingen 29 april 10:35:06 portmanager info Geactiveerde service 's2s' op [::]: 5269, [*]: 5269 29 april 10:35:06 portmanager info Geactiveerde service 'c2s' op [::]: 5222, [*]: 5222 april 29 10:35:06 portmanager info Geactiveerd service 'legacy_ssl' op geen poorten 29 april 10:35:06 mod_posix info Prosody staat op het punt los te koppelen van de console, waardoor verdere console-uitvoer wordt uitgeschakeld Apr 29 10:35:06 mod_posix info Succesvol gedemoniseerd naar PID 1756

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

We creëren de virtuele host «chat.desdelinux.fan" van de "example.com" die Prosody installeert

[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
- Sectie voor VirtualHost-chat

VirtualHost"chat.desdelinux.fan"

- Wijs aan deze host een certificaat toe voor TLS, anders zou het het certificaat gebruiken dat is ingesteld in de algemene sectie (indien aanwezig). - Merk op dat oude stijl SSL op poort 5223 slechts één certificaat ondersteunt, - en altijd het globale certificaat zal gebruiken.
        SSL = {
                 key = "/etc/pki/prosody/chat.key";
                certificaat = "/etc/pki/prosody/chat.crt";
        }

------ Componenten ------ -- U kunt componenten specificeren om hosts toe te voegen die speciale diensten leveren, -- zoals conferenties voor meerdere gebruikers en transporten. -- Voor meer informatie over componenten, zie http://prosody.im/doc/components ---Stel een MUC-ruimteserver (multi-user chat) in op conference.chat.desdelinux.fan:
Component "conferentie.chat.desdelinux.fan" "muc"
name = "Enthusiasts" - IS DE NAAM VAN DE VERGADERRUIMTE DIE MOET WORDEN AANGEGEVEN - WANNEER GA JE BIJ DE KAMER
restrict_room_creation = waar

- Zet een SOCKS5 bytestream proxy op voor server-proxy bestandsoverdrachten: --Component "proxy.chat" "proxy65" --- Stel een externe component in (standaard componentpoort is 5347) - - Externe componenten maken het mogelijk om verschillende services, zoals gateways / - transporteert naar andere netwerken zoals ICQ, MSN en Yahoo. Voor meer info - zie: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "wachtwoord"

authentication = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = onwaar
cyrus_application_name = "prosodie"
cyrus_server_fqdn = "chat.desdelinux.fan"

We passen de groep aan die eigenaar is van het bestand /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 wortel wortel 1361 29 april 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 wortel prosodie 1361 29 april 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

We controleren de configuratie

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

SSL-certificaten voor beveiligde verbindingen

Om verbinding te maken met de Prosody-server - zowel vanaf het lokale netwerk als vanaf internet - en ervoor te zorgen dat de inloggegevens veilig versleuteld reizen, moeten we de SSL-certificaten genereren - Beveiliging Socket Layer gedeclareerd in het configuratiebestand van de virtuele host /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"
Een 2048 bit RSA privésleutel genereren .....+++ ..........+++ nieuwe privésleutel schrijven naar 'chat.key' ----- U staat op het punt om gevraagd te worden voer informatie in die in uw certificaataanvraag wordt opgenomen. Wat u gaat invoeren, is een zogenaamde Distinguished Name of een DN. Er zijn nogal wat velden, maar u kunt er enkele leeg laten. Voor sommige velden is er een standaardwaarde. Als u '.' invoert, blijft het veld leeg. ----- Landnaam (code van 2 letters) [XX]:CU Staats- of provincienaam (volledige naam) []:Cuba Plaatsnaam (bijvoorbeeld stad) [Standaardstad]:Havana Organisatienaam (bijvoorbeeld bedrijf) [ Standaardbedrijf Ltd]:DesdeLinux.Fan Organisatie-eenheid Naam (bijvoorbeeld sectie) []:Enthousiastelingen Algemene naam (bijvoorbeeld uw naam of de hostnaam van uw server) []:chat.desdelinux.fan e-mailadres []:buzz@desdelinux.ventilator

We wijzigen de algemene configuratie-opties

alleen we zullen bewerken de volgende opties in het bestand /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
- Prosody Voorbeeldconfiguratiebestand - - Informatie over het configureren van Prosody is te vinden op onze - website op http://prosody.im/doc/configure - - Tip: U kunt controleren of de syntaxis van dit bestand correct - als je klaar bent met het uitvoeren van: luac -p prosody.cfg.lua - Als er fouten zijn, zal het je laten weten wat en waar ze zijn, anders zal het zwijgen. - - Het enige wat je nog hoeft te doen is dit bestand een andere naam geven om het .dist-einde te verwijderen, en de - lege velden in te vullen. Veel succes en gelukkig Jabbering! ---------- Server-brede instellingen ---------- - Instellingen in dit gedeelte zijn van toepassing op de hele server en zijn de standaardinstellingen - voor alle virtuele hosts - Dit is een (standaard lege) lijst met accounts die admins zijn - voor de server. Merk op dat u de accounts afzonderlijk moet aanmaken - (zie http://prosody.im/doc/creating_accounts voor info) - Voorbeeld: admins = {"user1@example.com", "user2@example.net"}
beheerders = { "buzz@chat.desdelinux.fan", "trancos@chat.desdelinux.fan" }

- Schakel het gebruik van libevent in voor betere prestaties onder hoge belasting - Zie voor meer informatie: http://prosody.im/doc/libevent --use_libevent = true; - Dit is de lijst met modules die Prosody zal laden bij het opstarten. - Het zoekt naar mod_modulename.lua in de map met plug-ins, dus zorg ervoor dat die ook bestaat. - Documentatie over modules is te vinden op: http://prosody.im/doc/modules modules_enabled = {- Algemeen vereiste "rooster"; - Sta gebruikers toe om een ​​rooster te hebben. Aanbevolen;) "saslauth"; - Authenticatie voor klanten en servers. Aanbevolen als u zich wilt aanmelden. "tls"; - Ondersteuning toegevoegd voor veilige TLS op c2s / s2s-verbindingen "dialback"; - s2s dialback-ondersteuning "schijf"; - Serviceopsporing - Niet essentieel, maar aanbevolen "privé"; - Private XML-opslag (voor kamerbladwijzers, enz.) "Vcard"; - Sta gebruikers toe vCards in te stellen - Deze worden standaard becommentarieerd omdat ze een invloed hebben op de prestaties - "privacy"; - Ondersteuning van privacylijsten - "compressie"; - Streamcompressie (Opmerking: vereist geïnstalleerd lua-zlib RPM-pakket) - Leuk om "versie" te hebben; - Antwoorden op serverversieverzoeken "uptime"; - Rapporteer hoe lang de server "tijd" heeft gedraaid; - Laat anderen weten hoe laat het hier is op deze server "ping"; - Antwoorden op XMPP pings met pongs "pep"; - Hiermee kunnen gebruikers hun stemming, activiteit, muziek afspelen en meer "registreren" publiceren; - Sta gebruikers toe zich op deze server te registreren met behulp van een cliënt en wachtwoorden te wijzigen - Admin-interfaces "admin_adhoc"; - Maakt beheer mogelijk via een XMPP-client die ad-hoc commando's ondersteunt - "admin_telnet"; - Opent de telnet-console-interface op localhost-poort 5582 - HTTP-modules
        "bosh"; - Schakel BOSH-clients in, ook bekend als "Jabber over HTTP"
        - "http_bestanden"; - Serveer statische bestanden vanuit een directory via HTTP - Andere specifieke functionaliteit "posix"; - POSIX-functionaliteit, stuurt server naar achtergrond, maakt syslog mogelijk, etc. - "groepen"; - Gedeelde roosterondersteuning - "aankondigen"; - Stuur aankondiging naar alle online gebruikers - "welkom"; - Welkom gebruikers die accounts registreren - "watchregistrations"; - Alert beheerders van registraties - "motd"; - Stuur een bericht naar gebruikers wanneer ze inloggen - "legacyauth"; - Verouderde authenticatie. Alleen gebruikt door enkele oude klanten en bots. };

bosh_ports = {{poort = 5280; path = "http-bind"; interface = "127.0.0.1"; }}

bosh_max_inactiviteit = 60
- Gebruik deze als proxy HTTPS-> HTTP aan de serverzijde
consider_bosh_secure = waar
- Sta toegang van scripts toe op elke site zonder proxy (vereist een moderne browser)
cross_domain_bosh = waar

- Deze modules worden automatisch geladen, maar als u wilt - om ze uit te schakelen, verwijdert u ze hier: modules_disabled = {- "offline"; - Offline berichten opslaan - "c2s"; - Omgaan met clientverbindingen - "s2s"; - Afhandelen van server-naar-server verbindingen}; - Schakel het aanmaken van accounts standaard uit, om veiligheidsredenen - Zie voor meer informatie http://prosody.im/doc/creating_accounts allow_registration = false; - Dit zijn de SSL / TLS-gerelateerde instellingen. Als u - geen SSL / TLS wilt gebruiken, kunt u commentaar geven of deze verwijderen ssl = {key = "/etc/pki/prosody/localhost.key"; certificaat = "/etc/pki/prosody/localhost.crt"; } - Clients dwingen om versleutelde verbindingen te gebruiken? Deze optie zal - voorkomen dat clients authenticeren, tenzij ze encryptie gebruiken.

c2s_require_encryption = waar

- Certificaatauthenticatie forceren voor server-naar-server-verbindingen? - Dit biedt ideale beveiliging, maar vereist dat servers waarmee u communiceert, codering ondersteunen EN geldige, vertrouwde certificaten presenteren. - OPMERKING: uw versie van LuaSec moet certificaatverificatie ondersteunen! - Zie voor meer informatie http://prosody.im/doc/s2s#security s2s_secure_auth = false - Veel servers ondersteunen geen codering of hebben ongeldige of zelfondertekende - certificaten. U kunt hier domeinen vermelden die niet vereist zijn voor - authenticatie met certificaten. Ze worden geverifieerd met behulp van DNS. --s2s_insecure_domains = {"gmail.com"} - Zelfs als u s2s_secure_auth uitgeschakeld laat, kunt u nog steeds geldige - certificaten eisen voor sommige domeinen door hier een lijst op te geven. --s2s_secure_domains = {"jabber.org"} - Selecteer de authenticatie-backend die moet worden gebruikt. De 'interne' providers - gebruiken de geconfigureerde gegevensopslag van Prosody om de authenticatiegegevens op te slaan. - Om Prosody in staat te stellen veilige authenticatiemechanismen aan klanten aan te bieden, slaat de - standaardprovider wachtwoorden op in platte tekst. Als u uw - server niet vertrouwt, kijk dan op http://prosody.im/doc/modules/mod_auth_internal_hashed - voor informatie over het gebruik van de gehashte backend.

- authentication = "internal_plain"
authentication = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = onwaar

- Selecteer de opslagbackend die u wilt gebruiken. Prosody gebruikt standaard platte bestanden - in de geconfigureerde datamap, maar het ondersteunt ook meer backends - via modules. Een "sql" -backend wordt standaard meegeleverd, maar vereist - aanvullende afhankelijkheden. Zie http://prosody.im/doc/storage voor meer info. --storage = "sql" - Standaard is "internal" (Opmerking: "sql" vereist geïnstalleerd - lua-dbi RPM-pakket) - Voor de "sql" -backend kunt u * een * van de onderstaande opmerkingen verwijderen om te configureren : --sql = {driver = "SQLite3", database = "prosody.sqlite"} - Standaard. 'database' is de bestandsnaam. --sql = {driver = "MySQL", database = "prosody", gebruikersnaam = "prosody", wachtwoord = "secret", host = "localhost"} --sql = {driver = "PostgreSQL", database = "prosody ", username =" prosody ", password =" secret ", host =" localhost "} - Logboekconfiguratie - Voor geavanceerde logboekregistratie zie http://prosody.im/doc/logging log = {- Log alles van niveau "info" en hoger (dat wil zeggen, alle behalve "debug" berichten) - naar /var/log/prosody/prosody.log en fouten ook naar /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; - Verander 'info' in 'debug' voor uitgebreide logging
    error = "/var/log/prosody/prosody.err"; - Registreer fouten ook in het bestand - error = "* syslog"; - Log fouten ook in syslog - log = "* console"; - Log in op de console, handig voor debuggen met daemonize = false} - POSIX-configuratie, zie ook http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false - Standaard is "true" ------ Aanvullende configuratiebestanden ------ - Voor organisatorische doeleinden kunt u er de voorkeur aan geven om VirtualHost en - Componentdefinities toe te voegen aan hun eigen configuratiebestanden. Deze regel bevat - alle configuratiebestanden in /etc/prosody/conf.d/ Inclusief "conf.d / *. Cfg.lua"

Wijzigingen in de configuratie van Dnsmasq in linuxbox

/Etc/dnsmasq.conf bestand

Voeg gewoon de waarde toe cname=chatten.desdelinux.fan,linuxbox.desdelinux.ventilator:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
----- # ----------------------------------------- ---------------------- # RECORDSCNAMEMXTXT # ---------------------- ---------------------------------------- # Dit type registratie vereist een entry # in het /etc/hosts bestand # bijvoorbeeld: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,linuxbox.desdelinux.ventilator
cname=chatten.desdelinux.fan,linuxbox.desdelinux.ventilator
----

[root @ linuxbox ~] # service dnsmasq herstart
[root @ linuxbox ~] # service dnsmasq status [root @ linuxbox ~] # hostchat
chatten.desdelinux.fan is een alias voor Linuxbox.desdelinux.fan. Linuxbox.desdelinux.fan heeft adres 192.168.10.5 linuxbox.desdelinux.fanmail wordt afgehandeld door 1 mail.desdelinux.fan.

/Etc/resolv.conf bestand

[root @ linuxbox ~] # nano /etc/resolv.conf 
search desdelinux.fan nameserver 127.0.0.1 # Voor externe # of niet-domein DNS-query's desdelinux.fan # lokaal=/desdelinux.fan/naamserver 172.16.10.30

Wijzigingen in de externe DNS in de ISP

We wijden het hele artikel «NSD autoritaire DNS-server + Shorewall - MKB-netwerken»Op de vraag hoe de SRV-records met betrekking tot XMPP moeten worden aangegeven, zodat de Instant Messaging-service naar het internet kan gaan en zelfs zodat de Prosody-server kan federeren met de rest van de compatibele XMPP-servers die op het web bestaan.

We herstarten Prosody

[root @ linuxbox ~] # service prosodie herstart
Omleiden naar / bin / systemctl herstart prosody.service
[root @ linuxbox ~] # status van dienstprosodie
Omleiden naar / bin / systemctl status prosody.service ● prosody.service - Prosody XMPP (Jabber) server Geladen: geladen (/usr/lib/systemd/system/prosody.service; ingeschakeld; vendor preset: uitgeschakeld) Actief: actief (actief) sinds Sun 2017-05-07 12:07:54 EDT; 8s geleden Proces: 1388 ExecStop = / usr / bin / prosodyctl stop (code = verlaten, status = 0 / SUCCES) Proces: 1390 ExecStart = / usr / bin / prosodyctl start (code = verlaten, status = 0 / SUCCES) Hoofd-PID : 1393 (lua) CGroup: /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody

[root @ linuxbox ~] # tail -f /var/log/prosody/prosody.log
  • Het is heel gezond om een ​​nieuwe console te openen terwijl de vorige opdracht wordt uitgevoerd, en de uitvoer van de Prosody-foutopsporing te bekijken terwijl de service opnieuw wordt opgestart.

We configureren Cyrus SASL

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

[root @ linuxbox ~] # service saslauthd herstart
Omleiden naar / bin / systemctl herstart saslauthd.service
[root @ linuxbox ~] # service saslauthd status

-- Als...
[root @ linuxbox ~] # service prosodie herstart

PAM-configuratie

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

PAM-authenticatiecontroles

  • Om dit te controleren, moeten we het volgende commando PRECIES uitvoeren zoals hieronder aangegeven, aangezien het gaat om het uitvoeren van een commando als de "prosodie" -gebruiker en niet als de "root" -gebruiker:
[root @ linuxbox ~] # sudo -u prosodie testsaslauthd -s xmpp -u strides -p strides
0: OK "Succes."

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

[root @ linuxbox ~] # sudo -u prosodie testsaslauthd -s xmpp -u legolas -p Lengolas
0: GEEN "authenticatie mislukt"

Het authenticatieproces tegen lokale gebruikers werkt correct.

We passen de FirewallD aan

Met behulp van het grafische hulpprogramma «Firewall«, Voor het gebied«publiek»We activeren de services:

  • xmpp-bosch
  • xmpp-client
  • xmpp-server
  • xmpp-lokaal

Evenzo voor het gebied «extern»We activeren de services:

  • xmpp-client
  • xmpp-server

En we openen de poorten tcp 5222 en 5269

Tenslotte we brengen wijzigingen aan in Uitvoeringstijd a Permanent y herlaad de FirewallD.

XMPP Psi-client

Om verbinding te maken met de nieuw geïnstalleerde Prosody Instant Messaging-server, kunnen we kiezen uit de verschillende bestaande clients:

  • Empathie
  • Gajim
  • kadu
  • Psi
  • psi plus
  • pidgin
  • Telepathie
  • weechat

De lijst gaat verder. We kozen voor de Psi +. Om het te laten installeren gebruiken we het voorkeurscommando ervoor of we doen het via de grafische tools die voor die taak beschikbaar zijn. Eenmaal geïnstalleerd, voeren we het uit, en aan het einde van het artikel geven we een reeks afbeeldingen waarvan we hopen dat ze nuttig voor je zullen zijn.

Overzicht

  • We kunnen een Instant Messaging-service installeren op basis van Prosody voor lokale gebruikers van het systeem, en afzien van het creëren van interne Prosody-gebruikers of andere soorten opslag van authenticatiegegevens.
  • Verificatiegegevens worden versleuteld van de client naar de server gestuurd, en de reacties van de laatste naar de client ook.
  • We kunnen meer dan één service installeren op basis van lokale authenticatie via PAM op een enkele server.
  • Tot nu toe is de server Linuxbox.desdelinux.ventilator levert de volgende diensten aan het MKB-netwerk:
    • Omzetting van domeinnamen of DNS.
    • Dynamische toewijzing van IP- of DCHP-adressen
    • Network Time Service of NTP
    • Back-ups via SSH vanaf UNIX / Linux-clients of via WinSCP voor Microsoft Windows-clients.
    • Instant Messaging Service - Chat. Ook verkrijgbaar via internet.
    • Service voor het delen van bestanden via de chat zelf. Ook verkrijgbaar via internet
    • Teleconferentieservice die u kunt configureren in Prosody.

En alle voorgaande services met een paar grafische tools voor de configuratie van de firewall - FirewallD, en voor het gebruikers- en groepsbeheer van het systeem die heel gemakkelijk te gebruiken zijn als we de basiskennis hebben over wat we willen doen.

Belangrijk

Bezoek zeker de volgende URL voor volledige informatie op PRosody: http: //prosody.im.

Tot de volgende aflevering!


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Guillermo zei

    Wat interessant al uw bijdragen, hartelijk dank voor al uw bijdragen.

  2.   IWO zei

    Duizend gefeliciteerd Federico voor weer een geweldig artikel.
    Hier geeft de auteur ons ("geeft") de "howto know" van hoe de chatservice geïmplementeerd moet worden via Prosody die het XMPP-protocol gebruikt in een netwerk om instant messages uit te wisselen, bestanden over te dragen, conferenties te houden met spraak en video, authenticatie tegen lokale gebruikers via beveiligde verbindingen.
    Zoals gebruikelijk in de hele SME-reeks, vergemakkelijkt de auteur ook de integratie van de te configureren service met de rest van de services en / of parameters die al in een netwerk actief zijn:
    1- De wijzigingen die we moeten aanbrengen in de DNS-service om de Chat-service op te nemen en alles werkt correct.
    2- De configuratie (en controles) van de PAM om de Chat-service lokaal te authenticeren.
    3- Wat we moeten doen in de firewall voor het lokale netwerk en het "Netwerk van netwerken" om de chatservice mogelijk te maken, en dit met een passend beveiligingsniveau.
    4- En tot slot de verificatie van de chat van een XMPP-client.
    Niets om de post op te slaan in een TIPS-directory voor wanneer deze service moet worden geïmplementeerd.

  3.   Federico zei

    Ik hoop dat ze op de een of andere manier nuttig voor je zijn. Bedankt voor de reactie

  4.   Federico zei

    IWO vriend, je snapt de ware kern van het artikel. Voeg gewoon toe dat we services implementeren voor een UNIX / Linux-netwerk, zelfs als al zijn clients Microsoft Windows zijn. Veel lezers hebben dat kleine detail misschien nog niet opgemerkt. 😉

  5.   Dierenriem Carburus zei

    Zeer goede inbrengvriend Fico. U weet dat ik al uw artikelen heb gevolgd en in deze laatste 4 heb ik veel vragen geleerd die ik niet kende omdat ik de sluier van de Active Directory en de Domain Controller voor mijn gezicht had gelegd. Ik ben praktisch geboren met de NT 4 en zijn PDC's en BDC's. Ik wist niet dat ik authenticatie via een netwerk kon vereenvoudigen naar een enkele machine met Centos of andere Linux. Nu leer ik een nieuwe filosofie die volgens mij zo oud is als de oorsprong van de geschiedenis van netwerken. Hoewel je me weinig vertelt over wat je gaat publiceren 😉 denk ik dat je doorgaat met LDAP en dan de Active Directory gebaseerd op Samba 4?. Bedankt voor je toewijding aan het doel van gratis software. Ik wacht op je volgende artikelen, Fico.

  6.   Eduardo Noël zei

    Tijger, geweldig artikel !!!!!

    Collega, er zit een klein detail, in het DNS-gedeelte geef je het hele domein aan desdelinux.fan naar IP 172.16.10.10, je hebt deze server in Debian geïmplementeerd (de DNS-server), nu bevindt deze chatserver zich in CentOS, dus logischerwijs heeft deze een ander IP-adres, waarvoor je al het verkeer in de firewall moest omleiden dit IP-adres waar de instant messaging-service zich zou bevinden, aangezien deze op dit moment naar dezelfde DNS-server verwijst en niet over de berichtenservice beschikt.

    Verder alles prachtig, een dikke knuffel.

  7.   Federico zei

    Bedankt Eduardo voor zijn commentaar. Je leest de alinea goed:

    Evenzo activeren we voor het "externe" gebied de services:

    xmpp-client
    xmpp-server

    En we openen de tcp-poorten 5222 en 5269.

    Ik sta de uitvoer van het XMPP-protocol toe via de ens34-interface. Onthoud het onderstaande bericht, zelfs uit het artikel over inktvis. 😉

  8.   Federico zei

    Zodiac friend: je laat me mijn verrassingen van tevoren aangeven. Nee, LDAP gaat nu niet. Het is de kern van een mailserver gebaseerd op Postfix, Dovecot, Squirrelmail en met PAM-authenticatie, wat de laatste van deze miniserie zou zijn. Meer na. ;-). Als de rest komt tot we bij Samba 4 AD-DC komen. Doei!.

  9.   Eduardo Noël zei

    Ja mijn vriend, als ik het lees, maar ik zie de PREROUTING nergens naar de andere server, kijk dan eens.

  10.   Federico zei

    Eduardo: Doe de installatie. Sluit een laptop aan met een subnet IP 172.16.10.0/24. Installeer er een chatclient op en maak verbinding met Prosody. Dus ik deed het en zo werkte het. 😉
    De FirewallD is degene voor CentOS die op zijn eigen manier PREROUTING zal uitvoeren.