Introdução
O Flask é uma estrutura Python para criar aplicativos da Web. Com o Flask, os desenvolvedores podem definir facilmente rotas, lidar com solicitações e respostas HTTP e renderizar conteúdo dinâmico usando modelos Jinja2. Ele também suporta extensões, permitindo que os desenvolvedores integrem recursos como acesso ao banco de dados, manuseio de formulários e autenticação do usuário.
Neste artigo, vamos implantar um aplicativo de frasco usando o Gunicorn, juntamente com a implementação das políticas de proteção e segurança de conteúdo da CSRF. Também vamos configurar um proxy reverso usando o NGINX e implementar o HTTPS solicitando um certificado SSL gratuito da Let’s Encrypt.
Implante a instância de nuvem otimizada do Vultr
- Inscreva -se e faça login no Portal do cliente Vultr.
- Navegue até o Produtos página.
- No menu lateral, selecione Calcular.
- Clique no Implantar servidor botão no centro.
- Escolha computação de nuvem otimizada como o tipo de servidor.
- Escolha um local do servidor.
- Escolha o Ubuntu 24.04 como o sistema operacional.
- Escolha um plano adequado.
- Escolha qualquer Recursos adicionais se necessário.
- Clique Implantar agora.
Adicione seus arquivos de código de aplicação de demonstração
Configure um ambiente virtual python
- Instale o
python3-venv
pacote - Crie um ambiente virtual.
- Ative o ambiente virtual.
Adicionar arquivos de código de aplicação de demonstração
- Clone o repositório do GitHub.
- Navegue até o diretório do projeto.
- Instale pacotes de frasco e gunicorn.
- Permitir conexões de entrada para o porto
5000
.
Aplicar políticas de proteção e segurança de conteúdo CSRF
A falsificação de solicitação entre sites (CORS) é uma vulnerabilidade que permite que alguém explore e aproveite a sessão conectada de um usuário em um site confiável para fazer solicitações não autorizadas a um site diferente em que o usuário confia. O WTForms é uma extensão de frasco que integra a proteção de CSRF por padrão para impedir os ataques dos CORS.
A Política de Segurança de Conteúdo (CSP) é uma camada extra de segurança para aplicativos da Web que os protege de ataques maliciosos. O CSP instrui o navegador sobre quais recursos podem carregar em uma página da Web específica. Geralmente, o administrador do site configura um CSP adicionando um cabeçalho especial à resposta do servidor para uma página da Web, o navegador recebe o cabeçalho do CSP e entende quais recursos podem carregar. O Talisman é uma extensão do Flask que simplifica o processo de adição de CSP às aplicações de frasco.
- Instalar
flask-wtf
etalisman
pacotes - Abra o
app.py
arquivo. - Editar o
app.py
arquivo para incluir políticas de segurança de conteúdo. - No
app.py
Arquive, importe e configure proteção CSRF.Salve e feche o arquivo.
- Navegue até o
templates
diretório. - Abra o
index.html
arquivo. - Edite a página HTML para incluir a configuração do CSRF.
Salve e feche o arquivo.
- Saia do
templates
diretório.
Configurando o nginx como um proxy reverso
O NGINX atua como um proxy reverso entre o seu servidor da Web e os clientes. Ele direciona as solicitações recebidas com base nas configurações de configuração da sua solicitação. Nesta seção, configuraremos nosso aplicativo para proxy reverso para manuseio eficiente de solicitações e balanceamento de carga. Também solicitaremos um certificado SSL gratuito da Let’s Encrypt para implementar o HTTPS que protege a comunicação entre um usuário e um servidor da Web para o nosso domínio.
- Faça login no Portal do cliente Vultr.
- Navegue até a página de produtos.
- No menu lateral, expanda o suspensão da rede e selecione DNS.
- Clique no botão Adicionar domínio no centro.
- Siga o procedimento de configuração para adicionar seu nome de domínio selecionando o endereço IP do seu servidor.
- Defina os seguintes nomes de host como os servidores de nomes primários e secundários do seu domínio com o seu registrador de domínio.
- Instale o nginx.
- Crie um novo arquivo de configuração nginx.
- Cole a seguinte configuração no arquivo.
- Ative a configuração do host virtual.
- Teste a configuração Nginx.
- Recarregue Nginx.
- Permitir conexões de entrada para o porto
80
e443
. - Instale o pacote CERTBOT.
- Solicite um certificado SSL.
- Inicie um servidor Gunicorn.
- Agora você pode acessar seu aplicativo de frasco em
https://
.
Faça mais com aplicativos Python no Vultr
Conclusão
Neste artigo, exploramos como implantar um aplicativo de frasco usando o proxy reverso do Nginx e o Gunicorn com proteção de CSRF e CSPs. Também garantimos o aplicativo adicionando um certificado SSL e permitindo o acesso HTTPS.
Este é um artigo patrocinado da Vultr. A Vultr é a maior plataforma de computação em nuvem de capital privado do mundo. A favorita dos desenvolvedores, a Vultr atendeu a mais de 1,5 milhão de clientes em 185 países com soluções flexíveis, escaláveis e globais de nuvem, GPU em nuvem, metal nu e armazenamento em nuvem. Saiba mais sobre Vultr