4D usa SSL/TLS para proteger a comunicação cliente-servidor e pedidos HTTP. 4D suporta a criptografia RSA há mais de uma década e com 4D v20R3 estamos agora adicionando a criptografia ECDSA ao nosso conjunto de ferramentas. É um bom momento para eu falar um pouco sobre segurança.
SSL/TLS é um protocolo usado para encriptar comunicações entre um cliente e um servidor. É usado mundialmente por quase 3 décadas, é forte, inquebrável e rápido. Em 4D, pode ser usado principalmente em 2 lugares: Para encriptar a comunicação entre um Cliente 4D e um Servidor 4D e para encriptar os pedidos ao servidor web 4D. Aconselhamos fortemente que criptografe ambas as comunicações cliente-servidor e os pedidos para seu servidor web, e de fato criptografar a comunicação cliente-servidor se tornou a configuração padrão desde 4D v18.
Encriptar a comunicação cliente-servidor
Para ativar a criptografia de suas comunicações cliente-servidor, pode abrir a aba cliente-servidor das configurações do banco de dados e marcar a caixa de seleção “Encrypt client-server communication”.
Nota para o futuro: A camada de rede QUIC que estamos a implementar atualmente baseia-se no protocolo QUIC, que é necessariamente encriptado. Assim, se selecionar a camada QUIC, a caixa de verificação não será apresentada, uma vez que a encriptação está sempre activada.
Ativar o protocolo SSL/TLS não é suficiente para proteger sua comunicação, também é necessário fornecer um certificado que 4D vai usar para criptografar a comunicação. 4D fornece um que pode ser encontrado na pasta Resources do 4D Server nos arquivos chamados key.pem e cert.pem. Como 4D fornece o mesmo certificado para todos os seus clientes, não é recomendado usar esses arquivos em produção. Você deve substituí-los por seu próprio certificado.
Criptografar pedidos HTTP
Se quiser criptografar suas comunicações com o servidor web, precisa usar o protocolo HTTPS, que é a versão segura do protocolo HTTP. No separador Web das definições da base de dados, pode ativar o HTTPS (está ativado por predefinição).
Mais uma vez, precisa fornecer um certificado que 4D vai usar para a encriptação (pode usar o mesmo certificado que para 4D Server se quiser). Precisa colocar os arquivos key.pem e cert.pem ao lado da pasta do projeto.
Certificados ECDSA
Então, vamos falar sobre certificados. Há 2 algoritmos de encriptação principais usados por TLS/SSL: RSA e ECDSA. Ambos são inquebráveis, estáveis e rápidos, por isso pode escolher o que preferir. O RSA é o padrão da indústria, mas o ECDSA está a tornar-se cada vez mais comum. Como tal, decidimos lidar com o ECDSA juntamente com o RSA. Para si, não há diferença na forma de os utilizar, apenas precisa de colocar os seus ficheiros key.pem e cert.pem na localização correcta, independentemente do algoritmo de encriptação que o seu certificado está a utilizar.
Se quiser saber mais sobre TLS/SSL e encriptação, posso redireccioná-lo para a documentação 4D. E se tiver alguma pergunta, não hesite em perguntar no fórum oficial 4D.