Prosódia IM e usuários locais - Redes PYMES

Índice geral da série: Redes de computadores para PMEs: introdução

Este artigo é uma continuação de:

Olá amigos e amigos!

Continuamos a adicionar serviços de rede com base na autenticação do usuário local para o servidor de pequenos grupos. entusiastas Software Livre, especificamente CentOS.

As condições de trabalho do grupo mudaram para melhor. Eles agora têm como sede uma casa de três andares com subsolo e precisam implementar um servidor de mensagens instantâneas e transferência de arquivos entre as estações de trabalho, para aliviar a dificuldade de subir e descer escadas ou andar muito. ;-). Para isso, eles se propõem a usar o programa Prosódia.

Eles estão determinados a publicar o serviço de Bate-papo da Internet apenas para Entusiastas e planejam vincular seu servidor de mensagens instantâneas a outros servidores XMPP compatíveis localizados na Rede de Redes. Para isso, eles compraram o nome de domínio desdelinux.ventilador e até agora o endereço IP associado a esse nome é gerenciado pelo seu provedor de acesso à Internet.

O serviço de Chat através de Prosódia permitirá a troca de mensagens instantâneas, transferência de arquivos, realização de conferências de voz e vídeo e muito mais.

O que é Prosody Instant Messenger?

Prosódia é um servidor de comunicação moderno baseado no protocolo XMPP. Ele foi projetado para fácil instalação e configuração e gerenciamento eficiente dos recursos do sistema. Prosody é um programa Open Source - Open Source criado sob a licença permissiva MIT / X11.

XMPP é uma alternativa não comercial para fornecer serviços de mensagens instantâneas. Ele pode ser implementado em um ambiente de negócios de produção, em uma rede familiar, rede privada de vizinhos e assim por diante. Ele oferece suporte a uma ampla variedade de software cliente para plataformas móveis e de desktop. Por meio do XMPP, esse serviço pode ser fornecido a qualquer dispositivo.

Além disso, eles podem ligação diversas instalações de Prosody e outros serviços que sejam compatíveis com o protocolo XMPP, e formem uma rede de mensagens na qual teremos controle total do tráfego de mensagens e arquivos que ocorrerão de forma totalmente segura.

Prosódia e autenticação contra usuários locais

No Mapa do Site Prosody IM encontramos o link para a página Provedores de autenticação, que afirma que a partir da versão 0.8 do Prosody, vários provedores de autenticação são suportados por plugins. Você pode usar o Drivers software embutido, ou você pode integrar com provedores de autenticação e armazenamento de terceiros usando seus APIs.

Provedores de autenticação que podemos empregar

Descrição do nome -------------- ---------------------------------- -----------------------
interno_plano   Autenticação padrão. As senhas de texto simples são armazenadas usando armazenamento integrado.

interno_hashed  As senhas codificadas por um algoritmo interno são armazenadas usando armazenamento integrado.

cyrus       Integração com Cyrus SASL (LDAP, PAM, ...)

anônimo    Mecanismo de autenticação usando SASL 'ANONYMOUS' com nome de usuário aleatório que não requer credenciais de autenticação.

O XMPP usa o protocolo padrão de autenticação simples de camada segura para autenticação - Simple Aautenticação e Secure LOntem (SASL), para validar as credenciais dos clientes. Prosódia incorpora a biblioteca SASL que, por padrão, valida as credenciais em relação às contas existentes em seu armazenamento integrado.

Desde a versão 0.7 do Prosody, o provedor externo é compatível Ciro SALS que pode validar as credenciais fornecidas por usuários externos em outras fontes, como: PAM, LDAP, SQL e outros. Também permite o uso de GSSAPI para serviços de logon único - Serviços de logon único.

Neste artigo sobre Prosódia, para obter autenticação contra usuários locais via PAM, usaremos o provedor de autenticação «cyrus»Fornecido pelo pacote«cyrus sasl»E isso funciona integrado com o daemon Saslauthd.

cyrus-sasl e saslauthd

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

O daemon saslauthd já está instalado

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

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

[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - daemon de autenticação SASL. Carregado: carregado (/usr/lib/systemd/system/saslauthd.service; desativado; predefinição do fornecedor: desativado) Ativo: inativo (morto)

[root @ linuxbox ~] # systemctl enable saslauthd
Link simbólico criado de /etc/systemd/system/multi-user.target.wants/saslauthd.service para /usr/lib/systemd/system/saslauthd.service.

[root @ linuxbox ~] # systemctl start saslauthd
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - daemon de autenticação SASL. Carregado: carregado (/usr/lib/systemd/system/saslauthd.service; ativado; predefinição do fornecedor: desativado) Ativo: ativo (em execução) desde sáb 2017-04-29 10:31:20 EDT; 2s atrás Processo: 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (código = encerrado, status = 0 / SUCESSO) PID principal: 1679 (saslauthd) CGroup: /system.slice/saslauthd. serviço ├─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

Prosódia e lua-cyrussasl

[root @ linuxbox ~] # yum install prosody
---- Dependências resolvidas ============================================== ========================================== Tamanho do repositório da versão da arquitetura do pacote ========= ======================================================= ======================= Instalando: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k Instalando para dependências: 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 Resumo da transação ========================================== ============================================ Instalar 1 pacote (+4 pacotes dependentes) --- -

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

[root @ linuxbox ~] # systemctl enable prosody
Link simbólico criado de /etc/systemd/system/multi-user.target.wants/prosody.service para /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # systemctl status prosody ● prosody.service - Servidor Prosody XMPP (Jabber) Carregado: carregado (/usr/lib/systemd/system/prosody.service; ativado; predefinição do fornecedor: desativado) Ativo: inativo (morto )

[root @ linuxbox ~] # systemctl start prosody
[root @ linuxbox ~] # systemctl status prosody
● prosody.service - servidor Prosody XMPP (Jabber) Carregado: carregado (/usr/lib/systemd/system/prosody.service; ativado; predefinição do fornecedor: desativado) Ativo: ativo (em execução) desde sáb 2017-04-29 10:35:07 EDT; 2s atrás Processo: 1753 ExecStart = / usr / bin / prosodyctl start (código = encerrado, status = 0 / SUCCESS) PID principal: 1756 (lua) CGroup: /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody

[root @ linuxbox ~] # tail /var/log/prosody/prosody.log
29 de abril 10:35:06 informações gerais Olá e bem-vindo ao Prosody versão 0.9.12 29 de abril 10:35:06 informações gerais Prosódia está usando o back-end de seleção para manipulação de conexão 29 de abril 10:35:06 portmanager info Serviço ativado 's2s' on [::]: 5269, [*]: 5269 29 de abril 10:35:06 informações do portmanager Serviço ativado 'c2s' em [::]: 5222, [*]: 5222 29 de abril 10:35:06 informações do portmanager ativado serviço 'legacy_ssl' em nenhuma porta 29 de abril 10:35:06 mod_posix info A prosódia está prestes a se desconectar do console, desabilitando outras saídas do console 29 de abril 10:35:06 mod_posix info daemonized com sucesso para PID 1756

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

Criamos o host virtual «chat.desdelinux.fan" de "example.com" que o Prosody instala

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

[root @ linuxbox ~] # nano /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
- Seção para bate-papo VirtualHost

VirtualHost "bate-papo.desdelinux.fã"

- Atribua a este host um certificado para TLS, caso contrário, ele usaria aquele - definido na seção global (se houver). - Observe que o SSL no estilo antigo na porta 5223 suporta apenas um certificado, - e sempre usará o certificado global.
        ssl = {
                 key = "/etc/pki/prosody/chat.key";
                certificado = "/etc/pki/prosody/chat.crt";
        }

------ Componentes ------ -- Você pode especificar componentes para adicionar hosts que fornecem serviços especiais, -- como conferências multiusuários e transportes. -- Para obter mais informações sobre componentes, consulte http://prosody.im/doc/components --- Configure um servidor de sala MUC (chat multiusuário) em Conference.chat.desdelinux.fã:
Componente "conference.chat.desdelinux.fan" "muc"
name = "Entusiastas" - É O NOME DA SALA DE CONFERÊNCIAS A DECLARAR - QUANDO VOCÊ ENTRARÁ NA SALA
restrito_room_creation = verdadeiro

- Configurar um proxy de bytestream SOCKS5 para transferências de arquivos por proxy de servidor: --Componente "proxy.chat" "proxy65" --- Configurar um componente externo (a porta do componente padrão é 5347) - - Componentes externos permitem adicionar vários serviços, como gateways / - transportes para outras redes como ICQ, MSN e Yahoo. Para obter mais informações - consulte: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "senha"

autenticação = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = falso
cyrus_application_name = "prosódia"
cyrus_server_fqdn = "chat.desdelinux.fã"

Ajustamos o grupo que possui o arquivo /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 raiz raiz 1361 29 de abril 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 prosódia raiz 1361 29 de abril 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

Nós verificamos a configuração

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

Certificados SSL para conexões seguras

Para se conectar ao servidor Prosody - tanto da rede local quanto da Internet - e garantir que as credenciais viajem criptografadas com segurança, devemos gerar os certificados SSL - Camada de soquete de segurança declarado no arquivo de configuração do host virtual /etc/prosody/conf.d/chat.confdesdelinux.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"
Gerando uma chave privada RSA de 2048 bits .....+++ ..........+++ escrevendo uma nova chave privada em 'chat.key' ----- Você está prestes a ser solicitado a insira informações que serão incorporadas à sua solicitação de certificado. O que você está prestes a inserir é o que é chamado de Nome Distinto ou DN. Existem alguns campos, mas você pode deixar alguns em branco. Para alguns campos haverá um valor padrão. Se você inserir '.', o campo será deixado em branco. ----- Nome do país (código de 2 letras) [XX]: Nome do estado ou província da CU (nome completo) []: Nome da localidade de Cuba (por exemplo, cidade) [Cidade padrão]: Havana Nome da organização (por exemplo, empresa) [ Empresa padrão Ltd]:DesdeLinux.Nome da unidade organizacional do fã (por exemplo, seção) []:Nome comum dos entusiastas (por exemplo, seu nome ou o nome do host do seu servidor) []:chat.desdelinuxEndereço de e-mail .fan []:buzz@desdelinux.ventilador

Modificamos as opções de configuração global

unicamente vamos editar as seguintes opções no arquivo /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
- Arquivo de configuração de exemplo de prosódia - - Informações sobre a configuração de Prosódia podem ser encontradas em nosso - website em http://prosody.im/doc/configure - - Dica: Você pode verificar se a sintaxe deste arquivo é correto - quando você tiver terminado executando: luac -p prosody.cfg.lua - Se houver algum erro, ele vai deixar você saber o que e onde - eles estão, caso contrário, ficará quieto. - - A única coisa que resta a fazer é renomear este arquivo para remover a terminação .dist e preencher os - espaços em branco. Boa sorte e feliz Jabbering! ---------- Configurações de todo o servidor ---------- - As configurações nesta seção se aplicam a todo o servidor e são as configurações padrão - para quaisquer hosts virtuais - Esta é uma lista (por padrão, vazia) de contas que são administradores - para o servidor. Observe que você deve criar as contas separadamente - (consulte http://prosody.im/doc/creating_accounts para informações) - Exemplo: admins = {"user1@example.com", "user2@example.net"}
admins = { "buzz@chat.desdelinux.fan", "trancos@chat.desdelinux.fã" }

- Habilite o uso de libevent para melhor desempenho sob carga alta - Para mais informações, consulte: http://prosody.im/doc/libevent --use_libevent = true; - Esta é a lista de módulos que o Prosody irá carregar na inicialização. - Ele procura por mod_modulename.lua na pasta de plug-ins, então verifique se ele existe também. - A documentação sobre os módulos pode ser encontrada em: http://prosody.im/doc/modules modules_enabled = {- "Roster" geralmente obrigatório; - Permitir que os usuários tenham uma lista. Recomendado;) "saslauth"; - Autenticação para clientes e servidores. Recomendado se você quiser fazer login. "tls"; - Adicionar suporte para TLS seguro em conexões c2s / s2s "dialback"; - suporte a discagem s2s "disco"; - Descoberta de serviço - não essencial, mas recomendado como "privado"; - Armazenamento XML privado (para bookmarks de salas, etc.) "vcard"; - Permitir que os usuários configurem vCards - Eles são comentados por padrão, pois têm um impacto no desempenho - "privacidade"; - Suporte a listas de privacidade - "compressão"; - Compressão de fluxo (Nota: Requer pacote RPM lua-zlib instalado) - Bom ter "versão"; - Respostas aos pedidos de versão do servidor "uptime"; - Reportar quanto tempo o servidor está rodando "tempo"; - Avisar aos outros a hora aqui neste servidor "ping"; - Respostas a pings XMPP com pongs "pep"; - Permite que os usuários publiquem seu humor, atividade, tocando música e mais "cadastro"; - Permitir que os usuários se cadastrem neste servidor usando um cliente e alterem as senhas - Interfaces de administração "admin_adhoc"; - Permite a administração através de um cliente XMPP que suporta comandos ad-hoc - "admin_telnet"; - Abre a interface do console telnet na porta localhost 5582 - Módulos HTTP
        "bosh"; - Habilite clientes BOSH, também conhecido como "Jabber sobre HTTP"
        - "http_files"; - Servir arquivos estáticos de um diretório sobre HTTP - Outra funcionalidade específica "posix"; - Funcionalidade POSIX, envia servidor para segundo plano, habilita syslog, etc. - "grupos"; - Suporte a escalação compartilhada - "anunciar"; - Enviar anúncio a todos os usuários online - "bem-vindo"; - Bem-vindo usuários que registram contas - "watchregistrations"; - Alertar administradores de registros - "motd"; - Enviar uma mensagem aos usuários quando eles logarem - "legacyauth"; - Autenticação herdada. Usado apenas por alguns clientes e bots antigos. };

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

bosh_max_inatividade = 60
- Use se estiver fazendo proxy HTTPS-> HTTP no lado do servidor
consider_bosh_secure = verdadeiro
- Permita o acesso de scripts em qualquer site sem proxy (requer um navegador moderno)
cross_domain_bosh = verdadeiro

- Esses módulos são carregados automaticamente, mas se você quiser - desabilitá-los e depois descomente-os aqui: modules_disabled = {- "offline"; - Armazenar mensagens offline - "c2s"; - Gerenciar conexões de clientes - "s2s"; - Lidar com conexões de servidor para servidor}; - Desabilite a criação de conta por padrão, por segurança - Para obter mais informações, consulte http://prosody.im/doc/creating_accounts allow_registration = false; - Estas são as configurações relacionadas a SSL / TLS. Se você não quiser - usar SSL / TLS, pode comentar ou remover este ssl = {key = "/etc/pki/prosody/localhost.key"; certificado = "/etc/pki/prosody/localhost.crt"; } - Forçar clientes a usar conexões criptografadas? Esta opção - impedirá que os clientes se autentiquem, a menos que estejam usando criptografia.

c2s_require_encryption = verdadeiro

- Forçar autenticação de certificado para conexões de servidor a servidor? - Isso fornece segurança ideal, mas requer servidores com os quais você se comunica - para oferecer suporte à criptografia E apresentar certificados válidos e confiáveis. - NOTA: Sua versão do LuaSec deve suportar verificação de certificado! - Para obter mais informações, consulte http://prosody.im/doc/s2s#security s2s_secure_auth = false - Muitos servidores não suportam criptografia ou possuem certificados inválidos ou autoassinados. Você pode listar domínios aqui que não serão obrigados a - autenticar usando certificados. Eles serão autenticados usando DNS. --s2s_insecure_domains = {"gmail.com"} - Mesmo se você deixar s2s_secure_auth desabilitado, você ainda pode exigir certificados válidos para alguns domínios especificando uma lista aqui. --s2s_secure_domains = {"jabber.org"} - Selecione o back-end de autenticação a ser usado. Os provedores 'internos' - usam o armazenamento de dados configurado do Prosody para armazenar os dados de autenticação. - Para permitir que a Prosody ofereça mecanismos de autenticação seguros aos clientes, o provedor - default armazena as senhas em texto simples. Se você não confia no seu - servidor, consulte http://prosody.im/doc/modules/mod_auth_internal_hashed - para obter informações sobre como usar o backend com hash.

- autenticação = "internal_plain"
autenticação = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = falso

- Selecione o back-end de armazenamento a ser usado. Por padrão, o Prosody usa arquivos simples - em seu diretório de dados configurado, mas também suporta mais backends - por meio de módulos. Um backend "sql" é incluído por padrão, mas requer - dependências adicionais. Consulte http://prosody.im/doc/storage para obter mais informações. --storage = "sql" - O padrão é "interno" (Nota: "sql" requer instalação - pacote RPM lua-dbi) - Para o backend "sql", você pode descomentar * um * dos itens abaixo para configurar : --sql = {driver = "SQLite3", database = "prosody.sqlite"} - Padrão. 'banco de dados' é o nome do arquivo. --sql = {driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost"} --sql = {driver = "PostgreSQL", database = "prosody ", username =" prosody ", password =" secret ", host =" localhost "} - Configuração de registro - Para registro avançado, consulte http://prosody.im/doc/logging log = {- Registrar tudo do nível "info" e superior (ou seja, todas exceto as mensagens "debug") - para /var/log/prosody/prosody.log e erros também para /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; - Altere 'informações' para 'depurar' para registro detalhado
    erro = "/var/log/prosody/prosody.err"; - Registre os erros também no arquivo - error = "* syslog"; - Registre os erros também no syslog - log = "* console"; - Log para o console, útil para depuração com daemonize = false} - Configuração POSIX, veja também http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false - O padrão é "true" ------ Arquivos de configuração adicionais ------ - Para propósitos organizacionais, você pode preferir adicionar VirtualHost e - Definições de componentes em seus próprios arquivos de configuração. Esta linha inclui - todos os arquivos de configuração em /etc/prosody/conf.d/ Incluir "conf.d / *. Cfg.lua"

Modificações na configuração do Dnsmasq no linuxbox

Arquivo /Etc/dnsmasq.conf

Basta adicionar o valor cname = bate-papo.desdelinux.fan,linuxbox.desdelinux.ventilador:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
-----# -------------------------------------------- ----------------------- #RECORDSCNAMEMXTXT# ------------------------ ------------------------------------------- # Este tipo de inscrição requer um entrada # no arquivo /etc/hosts # ex: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,linuxbox.desdelinux.ventilador
cname = bate-papo.desdelinux.fan,linuxbox.desdelinux.ventilador
----

[root @ linuxbox ~] # service dnsmasq restart
[root @ linuxbox ~] # serviço dnsmasq status [root @ linuxbox ~] # host chat
bate-papo.desdelinux.fan é um apelido para Linuxbox.desdelinux.fã. linuxbox.desdelinux.fan tem endereço 192.168.10.5 linuxbox.desdelinuxO correio .fan é tratado por 1 correios.desdelinux.fã.

Arquivo /Etc/resolv.conf

[root @ linuxbox ~] # nano /etc/resolv.conf 
search desdelinux.fan nameserver 127.0.0.1 # Para consultas DNS externas ou # sem domínio desdelinux.fã#local=/desdelinux.fan/servidor de nomes 172.16.10.30

Modificações no DNS externo no ISP

Dedicamos todo o artigo «Servidor DNS Autoritário NSD + Shorewall - Redes SME»Ao tópico de como declarar os registros SRV relacionados ao XMPP para que o serviço de Instant Messaging possa ir para a Internet, e ainda para que o servidor Prosody possa federar com os demais servidores XMPP compatíveis existentes na web.

Nós reiniciamos a Prosódia

[root @ linuxbox ~] # reinicialização da prosódia de serviço
Redirecionando para / bin / systemctl restart prosody.service
[root @ linuxbox ~] # status de prosódia de serviço
Redirecionando para / bin / systemctl status prosody.service ● prosody.service - Servidor Prosody XMPP (Jabber) Carregado: carregado (/usr/lib/systemd/system/prosody.service; ativado; predefinição do fornecedor: desativado) Ativo: ativo (em execução) desde Sun 2017-05-07 12:07:54 EDT; 8s atrás Processo: 1388 ExecStop = / usr / bin / prosodyctl stop (código = saiu, status = 0 / SUCCESS) Processo: 1390 ExecStart = / usr / bin / prosodyctl start (código = saiu, status = 0 / SUCCESS) 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
  • É muito saudável abrir um novo console com o comando anterior em execução e observar a saída da depuração do Prosody enquanto o serviço reinicia.

Nós configuramos Cyrus SASL

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

[root @ linuxbox ~] # service saslauthd restart
Redirecionando para / bin / systemctl restart saslauthd.service
[root @ linuxbox ~] # service saslauthd status

-- Por si...
[root @ linuxbox ~] # reinicialização da prosódia de serviço

Configuração PAM

[root @ linuxbox ~] # nano /etc/pam.d/xmpp
auth inclui senha-autenticação conta inclui senha-autenticação

Verificações de autenticação PAM

  • Para verificar, temos que executar o seguinte comando EXATAMENTE como indicado abaixo, pois se trata de executar um comando como o usuário "prosódia" e não como o usuário "root":
[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u strides -p strides
0: OK "Sucesso."

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

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p Lengolas
0: NÃO "autenticação falhou"

O processo de autenticação contra usuários locais funciona corretamente.

Nós modificamos o FirewallD

Usando o utilitário gráfico «firewalls«, Para a área«público»Ativamos os serviços:

  • xmpp-bosch
  • cliente xmpp
  • servidor xmpp
  • xmpp-local

Da mesma forma para a área «externo»Ativamos os serviços:

  • cliente xmpp
  • servidor xmpp

E nós abrimos as portas tcp 5222 e 5269.

Finalmente, nós fazemos mudanças para Tempo de execução a Permanente y recarregue o FirewallD.

Cliente XMPP Psi

Para conectar ao servidor Prosody Instant Messaging recém-instalado, podemos escolher entre os vários clientes existentes:

  • Empatia
  • Gajim
  • Kadu
  • Psi
  • psi mais
  • Pidgin
  • Telepatia
  • Wechat

A lista continua. Nós escolhemos o Psi +. Para instalá-lo utilizamos o comando preferido para ele ou o fazemos através das ferramentas gráficas disponíveis para essa tarefa. Uma vez instalado, nós o executamos e no final do artigo damos uma série de imagens que esperamos sejam úteis para você.

Resumo

  • Podemos instalar um serviço de Instant Messaging baseado em Prosody para usuários locais do sistema, e dispensar a criação de usuários Prosody internos ou outros tipos de armazenamento de credenciais de autenticação.
  • As credenciais de autenticação viajarão criptografadas do cliente para o servidor, e as respostas deste último para o cliente também.
  • Podemos instalar mais de um serviço baseado na autenticação local por meio do PAM em um único servidor.
  • Até agora, o servidor linuxbox.desdelinux.ventilador fornece os seguintes serviços para a Rede PME:
    • Resolução de nomes de domínio ou DNS.
    • Concessão dinâmica de endereços IP ou DCHP
    • Network Time Service ou NTP
    • Backups por meio de SSH de clientes UNIX / Linux ou por meio de WinSCP para clientes Microsoft Windows.
    • Serviço de mensagens instantâneas - Chat. Também disponível na Internet.
    • Serviço de compartilhamento de arquivos através do próprio Chat. Também disponível na Internet
    • Serviço de teleconferência que você pode configurar no Prosody.

E todos os serviços anteriores com um par de ferramentas gráficas para a configuração do Firewall - FirewallD, e para a Gestão de Usuários e Grupos do sistema que são realmente fáceis de usar se tivermos os conhecimentos básicos sobre o que queremos fazer.

importante

Não deixe de visitar o seguinte URL para ter informações completas em Prosódia: http: //prosody.im.

Até a próxima edição!


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Projeto de lei dito

    Que interessante todas as suas contribuições, muito obrigado por todas elas.

  2.   IWO dito

    Mil parabéns Federico por mais um ótimo artigo.
    Aqui o autor nos dá ("dá") o "como saber" de como implementar o serviço de Chat através de Prosódia que utiliza o protocolo XMPP em uma rede para trocar mensagens instantâneas, transferir arquivos, fazer conferências com voz e vídeo, autenticar contra usuários locais por meio de conexões seguras.
    Além disso, como de costume em toda a série SME, o autor facilita a integração do serviço a ser configurado com o resto dos serviços e / ou parâmetros que já estão em operação em uma rede:
    1- As modificações que devemos fazer no serviço de DNS para incluir o serviço de Chat e tudo funcionar corretamente.
    2- A configuração (e verificações) do PAM para autenticar localmente o serviço de Chat.
    3- O que devemos fazer no Firewall para a rede local e na “Rede de Redes” para permitir o serviço de Chat, e isso com um nível de segurança adequado.
    4- E por último a verificação do Chat de um cliente XMPP.
    Nada para salvar a postagem em um diretório TIPS para quando este serviço tiver que ser implementado.

  3.   federico dito

    Espero que sejam úteis para você de alguma forma. Obrigado por comentar

  4.   federico dito

    Amigo IWO, você entendeu a verdadeira essência do artigo. Basta acrescentar que estamos implementando serviços para uma rede UNIX / Linux, mesmo que todos os seus clientes sejam Microsoft Windows. Muitos leitores podem não ter notado esse pequeno detalhe ainda. 😉

  5.   Carburo do Zodíaco dito

    Muito boa contribuição amigo Fico. Você sabe que segui todos os seus artigos e nestes últimos 4 aprendi muitas perguntas que não sabia por ter colocado o véu do Active Directory e do Controlador de Domínio na minha cara. Eu praticamente nasci com o NT 4 e seus PDCs e BDCs. Eu não sabia que poderia simplificar a autenticação em uma rede para uma única máquina executando Centos ou outro Linux. Agora estou aprendendo uma nova filosofia que considero tão antiga quanto a origem da história das redes. Embora você me diga pouco sobre o que vai publicar 😉 acho que você vai continuar com o LDAP e depois o Active Directory baseado no Samba 4 ?. Obrigado por sua dedicação à causa do software livre. Vou aguardar seus próximos artigos, Fico.

  6.   Eduardo noel dito

    Tigre, ótimo artigo !!!!!

    Colega, tem um pequeno detalhe, na parte de DNS você indica todo o domínio do desdelinux.fan para IP 172.16.10.10, você implementou esse servidor no Debian (o DNS), agora esse servidor de chat está no CentOS, então logicamente ele tem um endereço IP diferente, que você precisava para redirecionar todo o tráfego no firewall para este IP onde estaria localizado o serviço de mensagens instantâneas, pois neste momento aponta para o mesmo servidor DNS e não possui o serviço de mensagens.

    Caso contrário, tudo esplêndido, um grande abraço.

  7.   federico dito

    Obrigado Eduardo por comentar. Você leu bem o parágrafo:

    Da mesma forma para a área "externa" ativamos os serviços:

    xmpp-client
    xmpp-server

    E abrimos as portas tcp 5222 e 5269.

    Eu permito a saída do protocolo XMPP através da interface ens34. Lembre-se da postagem abaixo, até mesmo do artigo do Squid. 😉

  8.   federico dito

    Amigo do Zodíaco: você me faz declarar minhas surpresas com antecedência. Não, o LDAP não vai agora. Existe o núcleo de um servidor de e-mail baseado em Postfix, Dovecot, Squirrelmail e com autenticação PAM, que seria o último desta minissérie. Morena. ;-). Então, se o resto vier até chegarmos ao Samba 4 AD-DC. Tchau!.

  9.   Eduardo noel dito

    Sim meu amigo, se eu li, mas não vejo o PREROUTING para o outro servidor em lugar nenhum, dá uma olhada.

  10.   federico dito

    Eduardo: Faça a instalação. Conecte um laptop com uma sub-rede IP 172.16.10.0/24. Instale um cliente de bate-papo nele e conecte-se ao Prosody. Então eu fiz e funcionou assim. 😉
    O FirewallD é aquele do CentOS que irá PREROUTING à sua maneira.