
O que estou procurando é uma maneira de, no meu próprio computador, executar algum tipo de comando que "incorpore" meus scripts PHP e algum tipo de arquivo de configuração em uma caixa preta de um único arquivo, algo como My server.abc
, o que é impossível para qualquer um para "espiar", e que eu simplesmente carrego no site de alguma empresa e que depois vai para seu grande "computador em nuvem" ou algo assim, e depois funciona enquanto eu pagar as contas, e eles não têm a menor ideia do que é dentro desta “caixa” criptografada; tudo o que veem é que ele envia pacotes de dados e recebe pacotes de dados. O arquivo de configuração seria apenas uma lista bem abstrata de softwares que desejo dentro dele, como: "PHP 8, PostgreSQL 13, nginx 123, sshd", e um login/senha simples para eu poder acessá-lo via SFTP /SSH.
Reconheço plenamente que istopodersertecnicamente impossível, mas de acordo com meu entendimento de computadores, parece que seria possível, mesmo que não seja realmentedisponíveldevido a outras razões.
Não consigo hospedar um servidor em casa. Especialmente um servidor web que deverá estar disponível na maior parte do tempo. (Na verdade, eu costumava fazer isso há muitos anos, mas era um pesadelo quando a Internet caía ou havia um corte de energia ou risco de incêndio ou o hardware morria ou ocorria um ataque DDoS.)
Não posso usar um "webhost" onde pago alguma empresa para me permitir ter um pequeno login SFTP onde coloco meus arquivos e um painel de controle web. Quase nenhum deles suporta PostgreSQL (o banco de dados que eu uso), mas mesmo que suportassem, este ambiente simplesmente não é seguro de forma alguma.
Não posso pagar a alguma empresa pelo meu próprio servidor dedicado, que eu mesmo administro e gerencio. Bem, na verdade, eupoderiafazer isso, mas como fiz isso por muitos anos e quase fiquei louco de estresse, quero evitar isso, se possível. Além disso, mesmo sendo "dedicado", está fora do meu controle e eles geralmente usam soluções de gerenciamento remoto altamente inseguras. Além disso, se por algum motivo eu não puder estar por perto e cuidar do servidor e aplicar patches no meio da noite, ele rapidamente se tornará inseguro. Além disso, eu gostaria muito de nunca mais usar o FreeBSD, Linux ou Windows Server novamente na minha vida, se puder evitar...
(Uma VM é a mesma coisa que acima, com os problemas adicionais de ser uma VM, com relógios flutuantes e toda essa porcaria.)
Não posso pagar alguma empresa para fornecer um servidor dedicado "gerenciado", onde eles lidam com todo o estresse. Principalmente porque não confio neles para serem competentes, tendo lidado com "profissionais" de TI tantas vezes no passado, mas também porque é claro que custa muito mais dinheiro.
Não posso pagar alguma empresa por um serviço de "nuvem" confuso, porque, novamente, isso não é seguro. Não está claro onde e como meu "servidor" existe, e pode muito bem ser uma conta VM/webhost. Além disso, e talvez eu tenha apenas azar, mas na verdade tentei usar a solução de nuvem AWS, Azure e IBM há alguns anos, e não consegui nem registrar/fazer login em dois deles, e o Azure estava tão ridiculamente quebrado que nem foi possível montar um "servidor" de teste!
Estou ciente doexistênciade "Docker" e coisas semelhantes, mas nunca consegui descobrir como usá-lo. Eu realmente gastei muito tempo nisso. Na verdade, não parece ser o que eu quero.
Por favor, não me diga que estou preso a fazer 100% do processamento de dados no meu computador desktop, gerando arquivos HTML estáticos o dia todo, que eu sincronizo com uma conta de host via SFTP. Porque esse é o "último recurso" desesperado em que estou pensando se não conseguir administrar minhas coisas com segurança. Claro, isso significará que meu site não terá interatividade e nem forma de “login”. Tudo se torna muito mais difícil dessa forma, mas simplesmente não posso confiar a terceiros os meus dados e os dos meus usuários se não puder fazer isso de uma maneira verdadeiramente segura.
Responder1
A simplificação geralmente aceita é que quaisquer que sejam as proteções e a criptografia incorporadas ao seu software, elas não o protegerão de um adversário determinado que tenha controle total sobre o hardware onde o seu software está sendo executado.
Se for esse o caso: como e por que mesmo as grandes empresas ainda usam soluções em nuvem, onde não têm controle sobre o hardware físico, mesmo para aplicações e dados valiosos e confidenciais que precisam manter protegidos?
Eles simplesmente confiam no provedor de hospedagem para manter o hardware seguro e, eventualmente, seus dados e aplicativos?
Em essência sim, mas não há nada de “simples” nisso.
Existem análises de custo-benefício e de risco, bem como processos de gestão de risco.
Geralmente essas empresas estão tomandomedidas técnicas controlar os riscos (ou pelo menos deveria fazer tudo) para garantir que mesmo quando um adversário assume o controle do hardware não será fácil ou trivial usar esse acesso, por exemplo, implementando o uso de criptografia (disco completo) para armazenamento de dados restantes, criptografia de transporte para toda comunicação entre sistemas e usuários, assinaturas e não repúdio para transações etc.
Assim, eles não dependem apenas de software e soluções de criptografia para o gerenciamento de riscos; eles fazem o seudue diligencena seleção de partes confiáveis para gerenciar o hardware e fazê-las assinar rigorosamentecontratos, com SLA's e cláusulas de penalidadepara mantê-los honestos.
E as empresas em geralauditar e verificarse o seu próprio pessoal e equipas, bem como os seus fornecedores, realmente cumprem o que prometeram e deveriam fazer.