Prosody IM y usuarios locales – Redes PYMES

Índice general de la serie: Redes de Computadoras para las PYMES: Introducción

Este artículo es continuación de:

¡Hola amigas y amigos!

Continuamos adicionando servicios de redes basados en la autenticación de usuarios locales al pequeño servidor del grupo de Entusiastas del Software Libre, específicamente de CentOS.

Las condiciones de trabajo del grupo cambiaron a mejor. Disponen ahora como sede de una casa de tres plantas con sótano y necesitan implementar un servidor de mensajería instantánea y transferencia de archivos entre estaciones de trabajo, para paliar la dificultad que supone el subir y bajar escaleras o el mucho caminar. ;-).  Para ello se proponen utilizar el programa Prosody.

Están decididos a publicar el servicio Chat en Internet solamente para los Entusiastas, y planean unir su servidor de mensajería instantánea con otros servidores XMPP compatibles ubicados en la Red de Redes. Para ello compraron el nombre de dominio desdelinux.fan y hasta el momento actual la dirección IP asociada a ese nombre la maneja su proveedor de acceso a Internet.

El servicio de Chat mediante Prosody les permitirá intercambiar mensajes instantáneos, transferir archivos, realizar conferencias con voz y vídeo, etcétera.

¿Qué es Prosody Instant Messenger?

Prosody es un servidor de comunicaciones moderno basado en el protocolo XMPP. Está concebido para una fácil instalación y configuración, y un eficiente manejo de los recursos del sistema. Prosody es un programa de Fuente Abierta – Open Source creado bajo la permisiva licencia MIT/X11.

XMPP es una alternativa no comercial para proveer los servicios de mensajería instantánea. Se puede implementar en un ambiente empresarial de producción, en una red familiar, red privada de vecinos, etcétera. Soporta una amplia gama de software cliente para escritorios y plataformas móviles. Mediante XMPP se puede brindar éste servicio a cualquier dispositivo.

Adicionalmente, se pueden enlazar varias instalaciones de Prosody y de otros servicios que sean compatibles con el protocolo XMPP, y formar una red de mensajería en la que tendremos el control total del tráfico de mensajes y archivos que ocurrirá de una forma totalmente segura.

Prosody y la autenticación contra usuarios locales

En el Mapa del Sitio de Prosody IM encontramos el enlace a la página Proveedores de Autenticación, la cual expresa que a partir de la versión 0.8 del Prosody se soportan varios proveedores de autenticación mediante plugins. Se pueden emplear los drivers incorporados del programa, o se puede integrar con proveedores de almacenamiento y autenticación externos mediante sus APIs.

Proveedores de autenticación que podemos emplear

Nombre      Descripción
--------------  ---------------------------------------------------------
internal_plain   Autenticación por defecto. Las contraseñas en texto plano
        se almacenan utilizando el almacenamiento incorporado.

internal_hashed  Las contraseñas codificadas mediante un algoritmo interno
        se almacenan utilizando el almacenamiento incorporado.

cyrus       Integración con Cyrus SASL (LDAP, PAM, ...)

anonymous    Mecanismo de autenticación mediante SASL 'ANONYMOUS' con
        nombre de usuario aleatorio que no requiere credenciales
        de autenticación.

XMPP utiliza para la autenticación el protocolo estándar Capa Segura de Autenticación Simple – Simple Authentication and Secure Layer (SASL), para validar las credenciales de los clientes. Prosody incorpora la librería SASL que por defecto valida las credenciales contra las cuentas existentes en su almacenamiento incorporado.

Desde la versión 0.7 del Prosody, se soporta el proveedor externo Cyrus SALS que puede validar las credenciales suministradas por usuarios externos contra otras fuentes como son: PAM, LDAP, SQL y otras. También permite el uso de GSSAPI para los Servicios de Un Solo Inicio de Sesión – Single Sign-on Services.

En éste artículo sobre Prosody, para lograr la autenticación frente a usuarios locales vía PAM, utilizaremos el proveedor de autenticación «cyrus» que aporta el paquete «cyrus-sasl» y que funciona integrado con el demonio saslauthd.

cyrus-sasl y saslauthd

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

El demonio saslauthd ya está instalado

[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 - SASL authentication daemon.
   Loaded: loaded (/usr/lib/systemd/system/saslauthd.service; 
   disabled; vendor preset: disabled)
   Active: inactive (dead)

[root@linuxbox ~]# systemctl enable saslauthd
Created symlink from /etc/systemd/system/multi-user.target.wants/saslauthd.service to 
/usr/lib/systemd/system/saslauthd.service.

[root@linuxbox ~]# systemctl start saslauthd
[root@linuxbox ~]# systemctl status saslauthd
● saslauthd.service - SASL authentication daemon.
   Loaded: loaded (/usr/lib/systemd/system/saslauthd.service; enabled; vendor preset: disabled)
   Active: active (running) since sáb 2017-04-29 10:31:20 EDT; 2s ago
  Process: 1678 ExecStart=/usr/sbin/saslauthd -m $SOCKETDIR -a $MECH $FLAGS (code=exited, status=0/SUCCESS)
 Main 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 y lua-cyrussasl

[root@linuxbox ~]# yum install prosody
----
Dependencias resueltas

================================================================================
 Package              Arquitectura Versión                Repositorio     Tamaño
================================================================================
Instalando:
 prosody              x86_64       0.9.12-1.el7           Epel-Repo       249 k
Instalando para las dependencias:
 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       176 k

Resumen de la transacción
================================================================================
Instalar  1 Paquete (+4 Paquetes dependientes)
----

[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 enable prosody
Created symlink from /etc/systemd/system/multi-user.target.wants/prosody.service to /usr/lib/systemd/system/prosody.service.
[root@linuxbox ~]# systemctl status prosody
● prosody.service - Prosody XMPP (Jabber) server
   Loaded: loaded (/usr/lib/systemd/system/prosody.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

[root@linuxbox ~]# systemctl start prosody
[root@linuxbox ~]# systemctl status prosody
● prosody.service - Prosody XMPP (Jabber) server
   Loaded: loaded (/usr/lib/systemd/system/prosody.service; enabled; vendor preset: disabled)
   Active: active (running) since sáb 2017-04-29 10:35:07 EDT; 2s ago
  Process: 1753 ExecStart=/usr/bin/prosodyctl start (code=exited, status=0/SUCCESS)
 Main PID: 1756 (lua)
   CGroup: /system.slice/prosody.service
           └─1756 lua /usr/lib64/prosody/../../bin/prosody

[root@linuxbox ~]# tail /var/log/prosody/prosody.log
Apr 29 10:35:06 general info    Hello and welcome to Prosody version 0.9.12
Apr 29 10:35:06 general info    Prosody is using the select backend for connection handling
Apr 29 10:35:06 portmanager info    Activated service 's2s' on [::]:5269, [*]:5269
Apr 29 10:35:06 portmanager info    Activated service 'c2s' on [::]:5222, [*]:5222
Apr 29 10:35:06 portmanager info    Activated service 'legacy_ssl' on no ports
Apr 29 10:35:06 mod_posix   info    Prosody is about to detach from the console, disabling further console output
Apr 29 10:35:06 mod_posix   info    Successfully daemonized to PID 1756

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

Creamos el virtual host «chat.desdelinux.fan» a partir del «example.com» que instala el Prosody

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

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

VirtualHost "chat.desdelinux.fan"

-- Assign this host a certificate for TLS, otherwise it would use the one
-- set in the global section (if any).
-- Note that old-style SSL on port 5223 only supports one certificate,
-- and will always use the global one.
        ssl = {
                 key = "/etc/pki/prosody/chat.key";
                certificate = "/etc/pki/prosody/chat.crt";
        }

------ Components ------
-- You can specify components to add hosts that provide special services,
-- like multi-user conferences, and transports.
-- For more information on components, see http://prosody.im/doc/components

---Set up a MUC (multi-user chat) room server on conference.chat.desdelinux.fan:
Component "conference.chat.desdelinux.fan" "muc"
name = "Entusiastas"  -- ES EL NOMBRE DE LA SALA DE CONFERENCIAS A DECLARAR
                      -- CUANDO SE VA A UNIR A LA SALA
restrict_room_creation = true

-- Set up a SOCKS5 bytestream proxy for server-proxied file transfers:
--Component "proxy.chat" "proxy65"

---Set up an external component (default component port is 5347)
--
-- External components allow adding various services, such as gateways/
-- transports to other networks like ICQ, MSN and Yahoo. For more info
-- see: http://prosody.im/doc/components#adding_an_external_component
--
--Component "gateway.chat"
--  component_secret = "password"

authentication = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = false
cyrus_application_name = "prosody"
cyrus_server_fqdn = "chat.desdelinux.fan"

Ajustamos el grupo propietario del archivo /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 root 1361 abr 29 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 abr 29 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

Comprobamos la configuración

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

Certificados SSL para conexiones seguras

Para conectarnos al servidor Prosody -tanto desde la red local como desde Internet- y lograr que las credenciales viajen encriptadas de forma segura, debemos generar los certificados SSL – Security Socket Layer declarados en el archivo de configuración del host virtual /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"
Generating a 2048 bit RSA private key
.....+++
..........+++
writing new private key to 'chat.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CU
State or Province Name (full name) []:Cuba
Locality Name (eg, city) [Default City]:Habana
Organization Name (eg, company) [Default Company Ltd]:DesdeLinux.Fan
Organizational Unit Name (eg, section) []:Entusiastas
Common Name (eg, your name or your server's hostname) []:chat.desdelinux.fan
Email Address []:buzz@desdelinux.fan

Modificamos las opciones globales de configuración

Solamente editaremos las siguientes opciones en el archivo /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 Example Configuration File
--
-- Information on configuring Prosody can be found on our
-- website at http://prosody.im/doc/configure
--
-- Tip: You can check that the syntax of this file is correct
-- when you have finished by running: luac -p prosody.cfg.lua
-- If there are any errors, it will let you know what and where
-- they are, otherwise it will keep quiet.
--
-- The only thing left to do is rename this file to remove the .dist ending, and fill in the
-- blanks. Good luck, and happy Jabbering!


---------- Server-wide settings ----------
-- Settings in this section apply to the whole server and are the default settings
-- for any virtual hosts

-- This is a (by default, empty) list of accounts that are admins
-- for the server. Note that you must create the accounts separately
-- (see http://prosody.im/doc/creating_accounts for info)
-- Example: admins = { "user1@example.com", "user2@example.net" }
admins = { "buzz@chat.desdelinux.fan", "trancos@chat.desdelinux.fan" }

-- Enable use of libevent for better performance under high load
-- For more information see: http://prosody.im/doc/libevent
--use_libevent = true;

-- This is the list of modules Prosody will load on startup.
-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
-- Documentation on modules can be found at: http://prosody.im/doc/modules
modules_enabled = {

    -- Generally required
        "roster"; -- Allow users to have a roster. Recommended ;)
        "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
        "tls"; -- Add support for secure TLS on c2s/s2s connections
        "dialback"; -- s2s dialback support
        "disco"; -- Service discovery

    -- Not essential, but recommended
        "private"; -- Private XML storage (for room bookmarks, etc.)
        "vcard"; -- Allow users to set vCards
    
    -- These are commented by default as they have a performance impact
        --"privacy"; -- Support privacy lists
        --"compression"; -- Stream compression (Note: Requires installed lua-zlib RPM package)

    -- Nice to have
        "version"; -- Replies to server version requests
        "uptime"; -- Report how long server has been running
        "time"; -- Let others know the time here on this server
        "ping"; -- Replies to XMPP pings with pongs
        "pep"; -- Enables users to publish their mood, activity, playing music and more
        "register"; -- Allow users to register on this server using a client and change passwords

    -- Admin interfaces
        "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
        --"admin_telnet"; -- Opens telnet console interface on localhost port 5582
    
    -- HTTP modules
        "bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
        --"http_files"; -- Serve static files from a directory over HTTP

    -- Other specific functionality
        "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
        --"groups"; -- Shared roster support
        --"announce"; -- Send announcement to all online users
        --"welcome"; -- Welcome users who register accounts
        --"watchregistrations"; -- Alert admins of registrations
        --"motd"; -- Send a message to users when they log in
        --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
};

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

bosh_max_inactivity = 60
-- Use if proxying HTTPS->HTTP on the server side
consider_bosh_secure = true
-- Allow access from scripts on any site with no proxy (requires a modern browser)
cross_domain_bosh = true

-- These modules are auto-loaded, but should you want
-- to disable them then uncomment them here:
modules_disabled = {
    -- "offline"; -- Store offline messages
    -- "c2s"; -- Handle client connections
    -- "s2s"; -- Handle server-to-server connections
};

-- Disable account creation by default, for security
-- For more information see http://prosody.im/doc/creating_accounts
allow_registration = false;

-- These are the SSL/TLS-related settings. If you don't want
-- to use SSL/TLS, you may comment or remove this
ssl = {
    key = "/etc/pki/prosody/localhost.key";
    certificate = "/etc/pki/prosody/localhost.crt";
}

-- Force clients to use encrypted connections? This option will
-- prevent clients from authenticating unless they are using encryption.

c2s_require_encryption = true

-- Force certificate authentication for server-to-server connections?
-- This provides ideal security, but requires servers you communicate
-- with to support encryption AND present valid, trusted certificates.
-- NOTE: Your version of LuaSec must support certificate verification!
-- For more information see http://prosody.im/doc/s2s#security

s2s_secure_auth = false

-- Many servers don't support encryption or have invalid or self-signed
-- certificates. You can list domains here that will not be required to
-- authenticate using certificates. They will be authenticated using DNS.

--s2s_insecure_domains = { "gmail.com" }

-- Even if you leave s2s_secure_auth disabled, you can still require valid
-- certificates for some domains by specifying a list here.

--s2s_secure_domains = { "jabber.org" }

-- Select the authentication backend to use. The 'internal' providers
-- use Prosody's configured data storage to store the authentication data.
-- To allow Prosody to offer secure authentication mechanisms to clients, the
-- default provider stores passwords in plaintext. If you do not trust your
-- server please see http://prosody.im/doc/modules/mod_auth_internal_hashed
-- for information about using the hashed backend.

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

-- Select the storage backend to use. By default Prosody uses flat files
-- in its configured data directory, but it also supports more backends
-- through modules. An "sql" backend is included by default, but requires
-- additional dependencies. See http://prosody.im/doc/storage for more info.

--storage = "sql" -- Default is "internal" (Note: "sql" requires installed
-- lua-dbi RPM package)

-- For the "sql" backend, you can uncomment *one* of the below to configure:
--sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename.
--sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }
--sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }

-- Logging configuration
-- For advanced logging see http://prosody.im/doc/logging
log = {
    -- Log everything of level "info" and higher (that is, all except "debug" messages)
    -- to /var/log/prosody/prosody.log and errors also to /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
    error = "/var/log/prosody/prosody.err"; -- Log errors also to file
    -- error = "*syslog"; -- Log errors also to syslog
    -- log = "*console"; -- Log to the console, useful for debugging with daemonize=false
}

-- POSIX configuration, see also http://prosody.im/doc/modules/mod_posix
pidfile = "/run/prosody/prosody.pid";
--daemonize = false -- Default is "true"

------ Additional config files ------
-- For organizational purposes you may prefer to add VirtualHost and
-- Component definitions in their own config files. This line includes
-- all config files in /etc/prosody/conf.d/

Include "conf.d/*.cfg.lua"

Modificaciones en la configuración del Dnsmasq en linuxbox

Archivo /etc/dnsmasq.conf

Solo agregar el valor cname=chat.desdelinux.fan,linuxbox.desdelinux.fan:

[root@linuxbox ~]# nano /etc/dnsmasq.conf
-----
# -------------------------------------------------------------------
# R E G I S T R O S   C N A M E    M X    T X T
# -------------------------------------------------------------------
# Este tipo de registro requiere de una entrada
# en el archivo /etc/hosts
# ej: 192.168.10.5 linuxbox.desdelinux.fan linuxbox
# cname=ALIAS,REAL_NAME
cname=mail.desdelinux.fan,linuxbox.desdelinux.fan
cname=chat.desdelinux.fan,linuxbox.desdelinux.fan
----

[root@linuxbox ~]# service dnsmasq restart
[root@linuxbox ~]# service dnsmasq status

[root@linuxbox ~]# host chat
chat.desdelinux.fan is an alias for linuxbox.desdelinux.fan.
linuxbox.desdelinux.fan has address 192.168.10.5
linuxbox.desdelinux.fan mail is handled by 1 mail.desdelinux.fan.

Archivo /etc/resolv.conf

[root@linuxbox ~]# nano /etc/resolv.conf 
search desdelinux.fan
nameserver 127.0.0.1
# Para consultas DNS externas o 
# que no sean del dominio desdelinux.fan
# local=/desdelinux.fan/
nameserver 172.16.10.30

Modificaciones en el DNS externo en el ISP

Dedicamos todo el artículo «Servidor DNS Autoritario NSD + Shorewall – Redes PYMES» al tema de cómo declarar los registros SRV relativos al XMPP para que el servicio de Mensajería Instantánea pudiera salir a Internet, e incluso para que el servidor Prosody se puediera federar con el resto de los servidores XMPP compatibles existentes en la Web.

Reiniciamos Prosody

[root@linuxbox ~]# service prosody restart
Redirecting to /bin/systemctl restart  prosody.service
[root@linuxbox ~]# service prosody status
Redirecting to /bin/systemctl status  prosody.service
● prosody.service - Prosody XMPP (Jabber) server
   Loaded: loaded (/usr/lib/systemd/system/prosody.service; enabled; vendor preset: disabled)
   Active: active (running) since dom 2017-05-07 12:07:54 EDT; 8s ago
  Process: 1388 ExecStop=/usr/bin/prosodyctl stop (code=exited, status=0/SUCCESS)
  Process: 1390 ExecStart=/usr/bin/prosodyctl start (code=exited, status=0/SUCCESS)
 Main PID: 1393 (lua)
   CGroup: /system.slice/prosody.service
           └─1393 lua /usr/lib64/prosody/../../bin/prosody

[root@linuxbox ~]# tail -f /var/log/prosody/prosody.log
  • Es muy saludable abrir una nueva consola con el comando anterior en ejecución, y observar la salida del «debug» del Prosody mientras se reinicia el servicio.

Configuramos Cyrus SASL

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

[root@linuxbox ~]# service saslauthd restart
Redirecting to /bin/systemctl restart  saslauthd.service
[root@linuxbox ~]# service saslauthd status

-- Por si...
[root@linuxbox ~]# service prosody restart

Configuración PAM

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

Comprobaciones de la autenticación PAM

  • Para comprobar, tenemos que ejecutar el comando siguiente EXACTAMENTE como se indica a continuacón, pues se trata de ejecutar un comando como el usuario «prosody» y no como el usuario «root»:
[root@linuxbox ~]# sudo -u prosody testsaslauthd -s xmpp -u trancos -p trancos
0: OK "Success."

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

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

El proceso de autenticación contra los usuarios locales funciona correctamente.

Modificamos el FirewallD

Mediante la utilidad gráfica «Cortafuegos«, para la zona «public» activamos los servicios:

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

De igual forma para la zona «external» activamos los servicios:

  • xmpp-client
  • xmpp-server

Y abrimos los puertos tcp 5222 y 5269.

Finalmente, hacemos los cambios en Tiempo de ejecución a Permanentes y recargamos el FirewallD.

Cliente XMPP Psi

Para conectarnos con el servidor de Mensajería Instantánea Prosody recién instalado, podemos escoger entre los diversos clientes que existen:

  • Empathy
  • Gajim
  • Kadu
  • Psi
  • Psi Plus
  • Pidgin
  • Telepathy
  • Weechat

La lista prosigue. Nosotros escogimos al Psi+. Para tenerlo instalado hacemos uso del comando preferido para ello o lo hacemos mediante las herramientas gráficas disponible para esa tarea. Una vez instalado, lo ejecutamos, y al final del artículo damos una serie de imágenes que esperamos les sean de utilidad.

Resumen

  • Podemos instalar un servicio de Mensajería Instantánea basado en Prosody para los usuarios locales del sistema, y prescindir de la creación de los usuarios internos del Prosody o de otros tipos de almacenamiento de credenciales de autenticación.
  • Las credenciales de autenticación viajaran encriptadas desde el cliente al servidor, y las respuestas de éste último al cliente también.
  • Podemos instalar en un solo servidor, más de un servicio basado en autenticación local mediante PAM.
  • Hasta ahora, el servidor linuxbox.desdelinux.fan brinda los siguientes servicios a la Red PYME:
    • Resolución de Nombres de Dominio o DNS.
    • Otorgamiento dinámico de direcciones IP o DCHP
    • Servicio de Tiempo de Red o NTP
    • Copias de seguridad mediante SSH desde clientes UNIX/Linux, o mediante el WinSCP para clientes Microsoft Windows.
    • Servicio de Mensajería Instantánea – Chat. También disponible desde Internet.
    • Servicio de intercambio de archivos mediante el propio Chat. También disponible desde Internet
    • Servicio de Teleconferencias que Usted podrá configurar en el Prosody.

Y todos los servicios anteriores con un par de herramientas gráficas para la configuración del Cortafuegos – FirewallD, y para la Gestión de Usuarios y Grupos del sistema verdaderamente fáciles de utilizar si tenemos los conocimientos básicos sobre lo que queremos hacer.

Importante

No deje de visitar la siguiente URL para tener una información completa sobre el Prosody: http://prosody.im.

¡Hasta la próxima entrega!