stunnel-5.68

Introdução a stunnel

O pacote stunnel contém um aplicativo que permite encriptar conexões arbitrárias TCP dentro de SSL (Secure Sockets Layer), de modo que você consiga se comunicar facilmente com clientes ao longo de canais seguros. stunnel também pode ser usado para encapsular PPP ao longo de soquetes de rede de comunicação sem mudanças no código-fonte do pacote do servidor.

Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

Dependências do stunnel

Opcionais

libnsl-2.0.0, netcat (exigido para os testes), tcpwrappers e TOR

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/stunnel

Instalação do stunnel

O processo de segundo plano stunnel será executado em uma jaula chroot por um(a) usuário(a) sem privilégios. Crie o(a) novo(a) usuário(a) e grupo usando os seguintes comandos como o(a) usuário(a) root:

groupadd -g 51 stunnel &&
useradd -c "Processo de segundo plano stunnel" -d /var/lib/stunnel \
        -g stunnel -s /bin/false -u 51 stunnel
[Nota]

Nota

Um certificado SSL assinado e uma chave privada é necessário(a) para executar o processo de segundo plano stunnel. Depois que o pacote estiver instalado, existem instruções para gerá-lo(a). No entanto, se você é dono(a) ou já criou um Certificado SSL assinado que deseja usar, [então] copie-o para /etc/stunnel/stunnel.pem antes de iniciar a construção (certifique-se de que somente o(a) root tenha acesso de leitura e gravação). O arquivo .pem precisa ser formatado conforme mostrado:

-----BEGIN PRIVATE KEY-----
<muitas linhas encriptadas da chave privada>
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
<muitas linhas encriptadas do certificado>
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
<linhas encriptadas dos parâmetros dh>
-----END DH PARAMETERS-----

Instale stunnel executando os seguintes comandos:

./configure --prefix=/usr       \
            --sysconfdir=/etc    \
            --localstatedir=/var &&
make

Se você tiver instalado o aplicativo opcional netcat, [então] os testes de regressão podem ser executados com make check.

Agora, como o(a) usuário(a) root:

make docdir=/usr/share/doc/stunnel-5.68 install

Instale a unidade systemd incluída executando o seguinte comando como o(a) usuário(a) root:

install -v -m644 tools/stunnel.service /usr/lib/systemd/system

Se você ainda não tiver um certificado SSL assinado e uma chave privada, [então] crie o arquivo stunnel.pem no diretório /etc/stunnel usando o comando abaixo. Você será solicitado(a) a inserir a informação necessária. Certifique-se de responder ao

Common Name (FQDN of your server) [localhost]:

prompt com o nome ou o endereço IP que você usará para acessar o(s) serviço(s).

Para gerar um certificado, como o(a) usuário(a) root, emita:

make cert

Explicações do Comando

make docdir=... install: Esse comando instala o pacote e muda o diretório de instalação da documentação para convenções de nomenclatura padrão.

Configurando stunnel

Arquivos de Configuração

/etc/stunnel/stunnel.conf

Informação de Configuração

Como o(a) usuário(a) root, crie o diretório usado para o arquivo .pid criado quando o processo de segundo plano stunnel inicia:

install -v -m750 -o stunnel -g stunnel -d /var/lib/stunnel/run &&
chown stunnel:stunnel /var/lib/stunnel

Em seguida, crie um arquivo básico de configuração /etc/stunnel/stunnel.conf usando os seguintes comandos como o(a) usuário(a) root:

cat > /etc/stunnel/stunnel.conf << "EOF"
; File: /etc/stunnel/stunnel.conf

; Observação: os locais da saída gerada e do PID são relativos ao local do chroot.

pid = /run/stunnel.pid
chroot = /var/lib/stunnel
client = no
setuid = stunnel
setgid = stunnel
cert = /etc/stunnel/stunnel.pem

;debug = 7
;output = stunnel.log

;[https]
;accept = 443
;connect = 80
;; "TIMEOUTclose = 0" é um contorno para uma falha de projeto no Microsoft SSL
;; Implementações Microsoft não usam alerta de notificação de fechamento SSL e, portanto,
;; elas são vulneráveis a ataques de truncamento
;TIMEOUTclose = 0

EOF

Finalmente, adicione o(s) serviço(s) que deseja encriptar ao arquivo de configuração. O formato é como segue:

[<service>]
accept = <nome_dispositivo:número_porta>
connect = <nome_dispositivo:número_porta>

Para uma explicação completa dos comandos e da sintaxe usados no arquivo de configuração, emita man stunnel.

Unidade do systemd

Para iniciar o processo de segundo plano stunnel na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root:

systemctl enable stunnel

Conteúdo

Aplicativos Instalados: stunnel e stunnel3
Biblioteca Instalada: libstunnel.so
Diretórios Instalados: /{etc,lib,var/lib}/stunnel e /usr/share/doc/stunnel-5.68

Descrições Curtas

stunnel

é um aplicativo projetado para funcionar como invólucro de encriptação SSL entre clientes remotos e servidores locais ou remotos

stunnel3

é um script de invólucro Perl para usar a sintaxe 3.x do stunnel com o stunnel 4.05 ou posterior

libstunnel.so

contém as funções de API exigidas pelo stunnel