+ Responder ao Tópico



  1. #1

    Exclamation Existe algum similar ao Xinetd que use criptografia?

    Boa noite galera.
    Estou a implementar um serviço Client/Servidor com o auxilio do Xinetd para gerenciar as conexões.

    São dois bash scripts, o cliente utiliza o comando nc(netcat) para enviar uma string contendo usuario, senha e alguns dados, o servidor fica a ovindo através do xinetd pela porta 7256, recebe os dados e faz a validação do usuario e senha.

    Gostaria de saber como fazer para criptografar essa transmissão de dados de forma que alguém com um sniffer não possa captura-la de forma intendivel.
    Existe algum similar do xinetd que implemente isso?

    Valew galera!@

  2. #2

    Padrão

    O xinetd só gerencia as conexões chamando o aplicativo especificado para aquela porta.

    A responsabilidade de criptografar os dados é de sua aplicação e não do xinetd, você deve implementar isso tanto no servidor como no cliente, não sei em que linguagem está fazendo o seu servidor, mas provavelmente já existe alguma biblioteca para fazer esse tipo de criptografia com TLS/SSL utilizando chaves públicas e privadas (na maioria das vezes usando o padrão RSA).

  3. #3

    Padrão

    Bom dia.
    Estou desenvolvendo o servidor em bash-script mesmo e na real ele já etá prontinho, só gostaria de uma forma de tornar a conexão entre o client/server criptografada.
    Tem alguma ideia de como fazer isso em bash?

    Orbigado!

    Citação Postado originalmente por allisonvoll Ver Post
    O xinetd só gerencia as conexões chamando o aplicativo especificado para aquela porta.

    A responsabilidade de criptografar os dados é de sua aplicação e não do xinetd, você deve implementar isso tanto no servidor como no cliente, não sei em que linguagem está fazendo o seu servidor, mas provavelmente já existe alguma biblioteca para fazer esse tipo de criptografia com TLS/SSL utilizando chaves públicas e privadas (na maioria das vezes usando o padrão RSA).

  4. #4

    Padrão

    Bom, se a maneira pela qual você está utilizando para fazer a conexão não fornece opção de criptografia você pode criptografar o texto antes de enviar, e ao receber fazer o inverso.

    Para isso você pode utilizar o GPG (GNUPG), cria um par de chaves para o servidor, se você quer que apenas o cliente envie chaves criptografadas se não cria um par de chaves para ambos, exporta as chaves públicas do servidor para o cliente e a do cliente para o servidor.

    O GPG é bem completo e tem bastante documentação pela rede, nesse documento [1] já explica o suficiente para fazer o que você precisa.

    Se você utiliza uma distribuição baseada em Debian a instalação é bem simples (# aptitude install gnupg), se usa outra distro, procure nos repositórios dela antes de fazer a instalação através dos fontes.

    Outra alternativa seria utilizar uma linguagem de scripting como Python por exemplo, que ja tem recursos para casos como esse na biblioteca padrão [2]. Pra quem ja tem uma noção sobre programação o aprendizado é bem rápido.


    [1] Gnu Privacy Guard (GnuPG) Mini Howto (English)
    [2] http://docs.python.org/library/ssl.h...socket-objects
    Última edição por allisonvoll; 18-05-2009 às 11:55.

  5. #5

    Padrão

    Muito obrigado amigo, acredito que exatamente isso que eu precisava. vou dar uma estudada e depois posto o resultado. Muito obrigado pela sua atenção.

    Citação Postado originalmente por allisonvoll Ver Post
    Bom, se a maneira pela qual você está utilizando para fazer a conexão não fornece opção de criptografia você pode criptografar o texto antes de enviar, e ao receber fazer o inverso.

    Para isso você pode utilizar o GPG (GNUPG), cria um par de chaves para o servidor, se você quer que apenas o cliente envie chaves criptografadas se não cria um par de chaves para ambos, exporta as chaves públicas do servidor para o cliente e a do cliente para o servidor.

    O GPG é bem completo e tem bastante documentação pela rede, nesse documento [1] já explica o suficiente para fazer o que você precisa.

    Se você utiliza uma distribuição baseada em Debian a instalação é bem simples (# aptitude install gnupg), se usa outra distro, procure nos repositórios dela antes de fazer a instalação através dos fontes.

    Outra alternativa seria utilizar uma linguagem de scripting como Python por exemplo, que ja tem recursos para casos como esse na biblioteca padrão [2]. Pra quem ja tem uma noção sobre programação o aprendizado é bem rápido.


    [1] Gnu Privacy Guard (GnuPG) Mini Howto (English)
    [2] 18.3. ssl — SSL wrapper for socket objects — Python v2.6.2 documentation