DevSecOpsARTIGO

Cuidado com o que você esquece no servidor

Quem desenvolve sistemas para web sabe que o ambiente de produção nem
sempre é aquela maravilha de organização, sempre ficam uns arquivos para
trás, como teste.phpPHP44 conteúdosPadronizando seu código com PHP CS FixerDev (Back & Front) · mai 2019Docker de imagem. Para rodar projetos PHP em menos de 30 segundosDev (Back & Front) · jan 2026PHP 7.3: conheça as novidades desta versãoDev (Back & Front) · abr 2019Ver tudo em Dev (Back & Front) , index_antiga.php, naosei.exemplo etc.

Só que, infelizmente, o mundo não é tão azul assim e existem pessoas
que adoram tirar proveito e prejudicar os outros. E o mais fácil de achar são projetos com
arquivos esquecidos, como por exemplo o famoso connect.inc,
con.inc, conectar.inc
. Isso já mostra o quanto de
“sobrinhos” existem no mercado de sistemas para web, reflete a baixa profissionalização de programadores web e a falta
de visão das empresas, que ainda pagam esses serviços com a filosofia do
“bom e barato”.

Se tem uma coisa que todo programador web deveria
saber é que o seu sistema VAI estar na internet!!! Isso parece óbvio para você? Ótimo. Pois para uma grande parte de
programadores web, não.

Vamos fazer um teste? Abra o Google e busque por isso backup
filetype:sql
. Viram que maravilha?

Ok. Não retornou tantos resultados assim, vamos perder mais 5min
estudando a busca do Google e vamos pesquisar por “bkp” ext:SQLSQL64 conteúdosSQL Server – Como evitar SQL Injection?Data · mai 2019Azure SQL DB Managed InstanceData · abr 2019SQL Server – Como evitar SQL Injection? Pare de utilizar Query Dinâmica como EXEC(@Query)Data · abr 2019Ver tudo em Data .

O negócio tá ficando mais bonito, não é? Agora pense naquele carinha que não tem o que fazer, que fica o dia inteiro na internet tentando
achar algo para atrapalhar e começa a pesquisar site por site atrás desses
lixos no servidor.

Você, programador, sabe que muitos programas geram
arquivos de backups dos arquivos que estão sendo construídos, por
exemplo o Kwrite gera um nomedoarquivo.php~ do arquivo que você está programando e muitas vezes você manda pro FTP sem nem saber.

Quer ver que legal? Pesquise isso “index” ext:php~

Tá ficando divertido, né? Acho que mais uma meia hora
estudando meios de fazer buscas no Google e vou achar alguma
senha de conexão a algum banco de dados.

Como eliminar isso? Conheço três soluções:

  1. Tomar vergonha na cara duas vezes ao dia. Uma no início do
    expediente e outra no final.
  2. Usar sempre um controle de versão (svn) e, quando você for enviar algo
    para internet, usar o comando svn export
    projeto projetolimpo
    , que vai gerar uma pasta apenas
    com os arquivos do projeto que foram adicionados ao controle de versão do
    seu repositório.
  3. Colocar um arquivo robots.txt na raiz da sua aplicação bloqueando o
    acesso dos robôs das buscas no seus diretórios. Você não sabe o que é o
    robots.txt? O Google sabe.

Essa falha de segurança cometida por muitos programadores é apenas a
ponta do iceberg.

é criador do projeto PHP Mobile, co-fundador do grupo de usuários PHP de Mato Grosso do Sul e representante desse estado no PHP Brasil Comunidades. Já palestrou em eventos como FISL, LatinoWare, ENSOL e PHP Conference Brazil. Trabalha com desenvolvimento web há mais de 6 anos e é especialista em PHP e Desenvolvimento Mobile Web. No Twitter, é o @porkaria.

Ver perfil