Cibersegurança · PHP e Laravel

O prático Laravel segurança lista de verificação

Por · Última atualização: · grátis para ler, sem acesso pago

A maioria dos aplicativos Laravel não são hackeados por dias zero inteligentes. Eles são hackeados por arquivos .env expostos, modo de depuração deixado ativado, PHP sem patch e SSH fraco. Esta lista de verificação cobre primeiro o trabalho chato e de alto impacto – servidor, aplicativo, dependências, segredos e resposta – com uma maneira de automatizar cada etapa.

Neste guia
  1. O que realmente faz com que Laravel aplicativos sejam hackeados
  2. Lista de verificação de proteção do servidor
  3. Lista de verificação de proteção de aplicativos
  4. Dependências e cadeia de suprimentos
  5. Segredos e proteção de dados
  6. Detecção, monitoramento e resposta
  7. Perguntas frequentes

O que realmente faz com que Laravel aplicativos sejam hackeados

Classificados pela frequência com que aparecem em incidentes reais, e não pelo quão interessantes são:

  1. Saída de depuração exposta. APP_DEBUG=true em ambiente de vazamentos de produção variáveis, credenciais de banco de dados e caminhos de arquivo para qualquer pessoa que acione um erro.
  2. Legível .env ou .git/. Raízes de documentos mal configuradas que serve dotfiles entrega seu APP_KEY e credenciais.
  3. PHP, estrutura ou pacotes sem patch com CVEs conhecidos.
  4. SSH fraco: autenticação de senha, login root habilitado, sem proteção de força bruta.
  5. Uploads de arquivos inseguros que permitem conteúdo executável em caminhos servidos pela web.
  6. Injeção nas escotilhas de fuga: SQL bruto sem ligações, sem escape {!! !!} Saída da lâmina.
  7. Painéis de administração sem MFA e sem limitação de taxa.

O chato é melhor do que o inteligente: se você fechar essas sete portas, estará à frente da grande maioria da produção PHP implantações.

Lista de verificação de proteção do servidor

Lista de verificação de proteção de aplicativos

Dependências e cadeia de suprimentos

Seu aplicativo é principalmente código de outras pessoas, então trate a higiene de dependências como um controle de segurança de primeira classe:

Segredos e proteção de dados

Detecção, monitoramento e resposta

Coloque isso em prática com Cipi

Cipi é o open-source implantar CLI gratuito mencionado ao longo deste guia: um comando transforma um novo Ubuntu VPS em um servidor de produção reforçado para Laravel — Nginx, PHP-FPM ou Octane, MariaDB ou PostgreSQL, filas, agendador, SSL e implantações Git com tempo de inatividade zero incluídas.

wget -O - https://cipi.sh/setup.sh | festa

Perguntas frequentes

Laravel é seguro por padrão?

A estrutura fornece padrões fortes: proteção CSRF, senhas com hash, proteção de injeção de SQL por meio do construtor de consultas e saída de escape do Blade. A maioria dos incidentes do mundo real vem de erros de implantação – modo de depuração ativado, arquivos .env expostos, PHP sem patch, SSH fraco – e é por isso que a proteção do servidor é tão importante quanto o código do aplicativo.

Qual é a configuração de segurança Laravel mais importante?

APP_DEBUG=false em produção. Uma página de depuração exposta vaza variáveis ​​de ambiente, credenciais e caminhos, e ainda é a violação Laravel autoinfligida mais comum. Verifique agora e automatize a verificação em seu pipeline de implantação.

Com que frequência devo atualizar PHP e minhas dependências?

Aplique patches de segurança assim que possível – automatize a detecção com auditoria composer em CI e Renovate ou Dependabot para PRs de atualização. Para o próprio PHP, use um mecanismo gerenciado em vez de memória: Cipi, por exemplo, verifica semanalmente e aplica patches de segurança PHP por meio da atualização cipi php.

Preciso de um WAF para um aplicativo Laravel?

Um WAF é uma camada extra útil, não um substituto para o básico. Feche primeiro os fundamentos: TLS, software corrigido, SSH reforçado, entrada validada, limitação de taxa. Depois disso, um WAF de nível CDN adiciona defesa profunda contra ataques automatizados.

O que devo fazer primeiro se suspeitar de um servidor comprometido?

Isole a máquina do tráfego, alterne todos os segredos que ela contém (senhas de banco de dados, tokens API, APP_KEY), restaure o aplicativo em um servidor limpo a partir de um backup em bom estado e só então investigue o ponto de entrada. Corrigir o host comprometido ao vivo e esperar é como os invasores mantêm sua posição.

Continue lendo