Infra

Conexão criptografada em ambiente de desenvolvimento

Pode-se implementar a conexão criptografada em desenvolvimento por meio de Apache e Nginx, porém aqui vou usar o Stunnel – stunnel-5.48-5.el8.0.1.x86_64

https://www.
HTTP over SSL

Criar uma chave privada e o certificado

A chave privada e o certificado serão autoassinados e gerados por meio do comando openssl.

1) Gerar a chave privada – 4096 bits

# openssl genrsa 4096 > stunnel.key

2) Gerar o certificado

# openssl req -new -x509 -nodes -sha1 -days 365 -key stunnel.key > stunnel.cert

3) Gerar o arquivo PEM – chave privada + certificado

# cat stunnel.key stunnel.cert > stunnel.pem

Criar o arquivo de configuração do Stunnel

O arquivo de configuração define a versão do protocolo (TLS v 1.0, mas existe até a versão 1.2). As versões SSL v 1, 2 e 3 são obsoletas e inseguras.

pid=

cert = stunnel/stunnel.pem
sslVersion = TLSv1
foreground = yes
output = /var/log/stunnel.log

[https]
accept=8443
connect=8001
TIMEOUTclose=1

Depreende-se da configuração acima que a conexão é feita pela porta 8443, porém ela é “tunelada” para a porta 8001.

Criar um script para ativar o servidor web do Django

Recomendo a ativação do servidor web Django, por meio do script runstunnel.sh abaixo:

stunnel stunnel/dev_https &
python3 manage.py runserver 0.0.0.0:8000 &
HTTPS=1 python3 manage.py runserver 0.0.0.0:8001

Resumo:

  • A conexão HTTP é feita pela porta 8000
  • A conexão HTTPS é feita pela porta 8443
    • A porta 8001 deve estar ativa e é usada pelo stunnel para obter resposta para a porta 8443

Resultado

Há implicações de segurança que impedem que as configurações acima sejam implementadas em produção, sendo as principais:

  • certificado autoassinado – não provê a segurança quanto ao servidor que está respondendo à conexão HTTPS ser realmente o servidor que se acredita estar conectando
  • TLS v 1 – existem versões TLS mais seguras
  • Não limitar ao uso de cifras seguras, somente

Após implementar o HTTPS ao site, o navegador Google Chrome acusa como site inseguro por, principalmente, estar usando certificado autoassinado.

Nginx, Apache, Stunnel, Django, Python, Google e Chrome – são marcas/ferramentas registradas

Passo a passo: Reset do Dell SonicWall TZ 205

Como configurar o SonicWall TZ 205 Wireless N, utilizando o reset de fábrica e desabilitando HTTPS da interface web, através da linha de comando.

Primeira ressalva: não é necessário usar a interface “Console”

A interface de rede “Console” raramente será usada nos dias de hoje. Isso porque deve ser conectada a uma interface DB9 no PC/laptop numa ponta do cabo de rede e, na interface “Console” do tipo RJ-45.

Cabo de rede CAT.5e.

O procedimento para confecção do cabo encontra-se no site oficial da Dell SonicWall – https://www.sonicwall.com/support/knowledge-base/how-do-i-make-a-console-cable-for-sonicwall-firewall-appliances/170505608988182/

Image
Disposição das ligações do cabo de rede nas pontas RJ-45 e DB9.

Usando a interface X0

Ao usar a interface X0, configurar a placa de rede no PC/laptop como “Obter IP automaticamente da rede” (Microsoft Windows 7+).

Após conectar o cabo de rede, verificar o endereço de rede que subir na interface da placa, por meio do comando ipconfig ou similar (ifconfig). Ex. 10.1.130.23.

Saída do comando ipconfig (Windows).

Executando o SonicWall TZ 205 em Modo de Segurança (Safe Mode)

Reset de Fábrica

Existe um pino redondo ao lado da entrada de energia que pode ser ativado por meio de um clipe de papel para efetuar o reset das configurações de fábrica do SonicWall.

O pino redondo está dentro da abertura sinalizada acima com uma seta.

Após pressionar o botão por 5 a 10 segundos, o LED frontal sobre o ícone de chave de rosca ficará piscando na cor laranja.

Dessa forma, proceder à configuração da placa de rede do PC/laptop para IP fixo manualmente 192.168.168.1 e máscara de rede 255.255.255.0.

Acessar no navegador de Internet o endereço http://192.168.168.168/

Modo de Segurança do TZ 205.

Em Firmware Management, clicar no ícone da coluna “Boot“:

Reset (Boot) para as Configurações de Fábrica.

Após o reset acima, o LED laranja se apaga e acende o LED azul sobre o ícone de energia (power on). Isto sinaliza que a configuração foi realizada com sucesso.

LED azul sobre o ícone de energia (power on), ao lado do ícone de chave de rosca, bem como a interface X0 acesa (LED ligado).

No PC/laptop, ativar a detecção automática do endereço IP nas configurações de placa de rede.

Problemas ao acessar a configuração web do SonicWall TZ 205 (versão SSL ou cifra fraca)

Se ocorrer um dos erros abaixo referente à segurança do acesso HTTPS à interface web do SonicWall:

Erro de versão SSL.
Erro de cifra fraca.

É possível desabilitar o acesso via HTTPS.
Este work-around não é recomendado se o acesso for feito em rede corporativa ou em rede pública.

É possível fazer isso pela interface CLI do SonicWall.

Para realizar o acesso à CLI (Command Line Interface) Interface de Linha de Comando, basta conectar-se via SSH, utilizando usuário e senha definidos previamente ou usuário “admin” e senha “password” no caso de obter as configurações padrão de fábrica.

Digitar “configure” <enter>, depois digitar “show administration” <enter> para verificar as configurações ativas e digitar “administration” <enter> para entrar no modo de configuração administrativa:

admin@C0XXXXXXXXXX> configure
config(C0XXXXXXXXXX)# show administration
administration
firewall-name C0XXXXXXXXXX
no auto-append-suffix
admin-name admin
no password aging
no password uniqueness
no password enforce-4-character-difference
password minimum-length 1
no password complexity
password constraints-apply-to builtin-admin
password constraints-apply-to full-admins
password constraints-apply-to limited-admins
password constraints-apply-to local-users
idle-logout-time 5
no user-lockout
admin-preempt-action goto-non-config
admin-preempt-inactivity-timeout 10
no inter-admin-messaging
no web-management allow-http
web-management https-port 443
web-management certificate use-self-signed
no web-management client-certificate-check
web-management cert-common-name 192.168.168.168
web-management default-table-size 50
web-management refresh-interval 10
no dashboard-as-starting-page
web-management tooltip form-delay 2000 button-delay 3000 text-delay 500
no override-sonicpointn-download
no override-sonicpointnv-download
no override-sonicpointndr-download
language-override english
no gms-management
ssh port 22
exit
config(C0XXXXXXXXXX)# administration

Permitir que a configuração da interface web seja feita ao digitar “web-management allow-http” <enter>. Depois, digitar “commit” <enter> para gravar as configurações.

Opcional: verificar a alteração realizada, por meio do comando “show administration”:

(config-administration)# web-management allow-http
(config-administration)# commit
% Applying changes…
% Changes made.
(config-administration)# exit
config(C0XXXXXXXXXXX)# show administration
administration
firewall-name C0XXXXXXXXXX
no auto-append-suffix
admin-name admin
no password aging
no password uniqueness
no password enforce-4-character-difference
password minimum-length 1
no password complexity
password constraints-apply-to builtin-admin
password constraints-apply-to full-admins
password constraints-apply-to limited-admins
password constraints-apply-to local-users
idle-logout-time 5
no user-lockout
admin-preempt-action goto-non-config
admin-preempt-inactivity-timeout 10
no inter-admin-messaging
web-management allow-http
web-management http-port 80
web-management certificate use-self-signed
no web-management client-certificate-check
web-management cert-common-name 192.168.168.168
web-management default-table-size 50
web-management refresh-interval 10
no dashboard-as-starting-page
web-management tooltip form-delay 2000 button-delay 3000 text-delay 500
no override-sonicpointn-download
no override-sonicpointnv-download
no override-sonicpointndr-download
language-override english
no gms-management
web-management https-port 443
ssh port 22
exit

Por fim, permitir o acesso HTTP e sem redirecionamento HTTPS na interface X0 por meio dos comandos abaixo:

config(C0XXXXXXXXXX)# interface X0
(edit-interface[X0])# no https-redirect
(edit-interface[X0])# management http
(edit-interface[X0])# commit
% Applying changes…
% Changes made.

Acesso à interface Web

Verificar na página abaixo que o acesso foi habilitado para ser realizado via HTTP (“Não seguro”).

Acesso à interface web de configuração do TZ 205

As marcas Microsoft, Windows, SonicWall, TZ 205 são registradas.