Got de hospedagem compartilhada e preocupado com a segurança? Aqui está o que você precisa saber

Compartilhado hospedagem

. É a opção mais barata, não é? E para uma enorme faixa da população, é tudo o que realmente precisa para hospedar seu site ou aplicação web. E quando bem feito, hospedagem compartilhada é escalável, rápido e seguro.

Mas o que acontece quando não está bem feito?

Bem, é aí que as questões de segurança perigosas começam a rastejar dentro. Isso é quando o seu site está em risco de ser apagado, ou os dados privados você segurar ser vazado. Mas não se preocupe. A grande maioria dos web hosts têm medidas de segurança decentes. É apenas os fly-by-noite, anfitriões do negócio-porão você tem que ser cauteloso.

sharedhosting-Hacker

Nós estamos indo para explorar as questões de segurança em torno hospedagem compartilhada. Mas primeiro, vamos falar sobre o que torna uma plataforma de hospedagem compartilhada seguro.

O que faz um seguro Web Host

Existem algumas considerações de segurança de destaque que devem ser feitas com respeito à hospedagem compartilhada.

  • Cada usuário no servidor deve ser isolado de outros usuários, e não deve ser capaz de acessar ou modificar os arquivos de outros usuários.
  • A vulnerabilidade de segurança na lógica de um site hospedado no servidor não deve ser capaz de afetar outros usuários.
  • O servidor é regularmente atualizado, atualizado e monitorado para solucionar problemas de segurança de arquitetura.
  • Cada usuário deve ter o seu próprio acesso ao banco isolado, e não devem ser autorizados a fazer alterações nos registros armazenados ou permissões de tabela de outros usuários.

Mais uma vez, a maioria dos hospedeiros web atender a esses requisitos para suas ofertas compartilhados. Mas se você está olhando hospedagem vários sites em um único servidor, ou estão curiosos para ver como sua empresa de hospedagem pilhas, ou mesmo pensando em lançar sua própria empresa de hospedagem e estão ansiosos para trabalhar para fora como para proteger seus usuários, por favor, continue a ler.

Mas Primeiro, um aviso

Antes de entrar na carne de olhar para ataques comuns feitas a hospedagem compartilhada, eu só quero dizer que este post não será (e não deve ser lido como) uma lista exaustiva de potenciais problemas de segurança.

A segurança é, em uma palavra, grande. Há uma série de maneiras em que você pode comprometer um site. Isso vale em dobro para hospedagem compartilhada. Cobrindo-os em um único artigo nunca foi sobre os cartões.

sharedhosting-disclaimer

Se você é paranóico sobre a sua segurança, obter um VPS ou servidor dedicado. Estes são ambientes em que você tem (em sua maior parte) o controle absoluto sobre o que se passa. Se você não tem certeza sobre os diferentes tipos de hospedagem na web, confira este post do meu colega, James Bruce.As várias formas de Web Hosting explicado [Tecnologia Explicada]As várias formas de Web Hosting explicado [Tecnologia Explicada]consulte Mais informação

Gostaria também de salientar que este post não é para ser interpretado como um ataque contra compartilhada hospedagem. Pelo contrário, é um olhar puramente acadêmico para as questões de segurança que cercam esta categoria de hospedagem na web.

Diretório Traversal

Vamos começar com a passagem de diretório (muitas vezes conhecido como atravessamento de ‘Caminho) ataques. Este tipo de ataque permite acessar arquivos e diretórios que estão armazenados fora da raiz da web.

Na planície Inglês? Bem, vamos imaginar que Alice e Bob usar o mesmo servidor para hospedar seus sites. arquivos de Alice são armazenados em / var / www / alice, enquanto documentos de Bob pode ser encontrado em / var / www / bob. Além disso, vamos fingir que há uma outra pasta no servidor (/ usr / crappyhosting / myfolder) que mantém um arquivo de texto simples não criptografado (vamos chamá-lo pwd.txt) contendo nomes de usuário e senhas do sistema.

sharedhosting-servidor

Comigo até agora? Boa. Agora, vamos imaginar o site do Bob serve arquivos PDF que são gerados localmente, e o arquivo local é referenciado no URL. Algo como:

http://example.com/file?=report.pdf

O que aconteceria se eu substituiu o ‘report.pdf` com os alguns parâmetros UNIX que mudam o diretório?

http://example.com/file?=../alice/

Se o servidor estiver configurado incorretamente, este seria, então permitir que você veja raiz do documento de Alice. Interessante, mas, estamos muito mais interessados ​​em que arquivo de passaportes suculentos. senhas Accio!

http://example.com/file?=../../../usr/crappyhosting/myfolder/pwd.txt

É realmente tão fácil como isso. Mas como é que vamos lidar com isso? Isso é fácil.

Já ouviu falar de um utilitário Linux pouco conhecido chamado chroot? Você provavelmente já adivinhou o que ele faz. Ele define a raiz Linux / UNIX para uma pasta arbitrária, o que torna impossível para os usuários a sair dele. Efetivamente, ele pára ataques de passagem de diretório em suas trilhas.

shared-chroot

É difícil dizer se o seu host tem isso no lugar sem infringir a lei. Afinal, para testá-lo, você seria sistemas e arquivos que você não tem permissão para acessar o acesso. Com isso em mente, talvez seria sensato para falar com o seu host e perguntar sobre como eles isolar seus usuários um do outro.

Você está operando seu próprio compartilhada hospedagem servidor e não usando chroot para proteger seus usuários? Reconhecidamente, chroot seus ambientes pode ser difícil. Felizmente, há uma riqueza de plugins que tornam tão fácil. Dê uma olhada em mod_chroot, em particular.

Injeção de comando

Vamos voltar para Alice e Bob. Então, nós sabemos aplicação web de Bob tem alguns ... Aham ... questões de segurança. Uma delas é a vulnerabilidade de injeção de comando, que permite que você execute comandos arbitrários do sistema.Um guia rápido para começar com a linha de comando LinuxUm guia rápido para começar com a linha de comando LinuxVocê pode fazer muitas coisas incríveis com comandos no Linux e não é realmente difícil de aprender.consulte Mais informação

website de Bob permite executar uma consulta whois em outro site que é então exibida no navegador. Há uma caixa de entrada HTML padrão que aceita um nome de domínio, e em seguida, executa o comando whois sistema. Este comando é executado chamando o comando PHP system ().

O que aconteceria se alguém inserido o seguinte valor?



example.com && cd ../alice/ && index.html rm

Bem, vamos dividi-la. Alguma desta pode ser familiar para você se você leu nossa ‘Guia de Introdução ao Linux` e-book, que anteriormente publicado em 2010, ou que tenham olhou nossa Folha Linux Command Line fraude.Guia de Introdução ao LinuxGuia de Introdução ao LinuxUm Novato do Guia de Introdução ao Linux! Você provavelmente já ouviu falar sobre Linux, o sistema operacional livre, de código aberto que foi empurrando para cima contra a Microsoft.consulte Mais informação

Em primeiro lugar, ele vai executar uma consulta whois em example.com. Em seguida, ele iria mudar o diretório de trabalho atual para raiz do documento de Alice. Em seguida, ele iria remover o arquivo chamado ‘index.html` que é a página de índice para seu site. Isso não é bom. Não senhor.

sharedhosting-linux

Assim, como administradores de sistema, como podemos mitigar contra isso? Bem, voltando ao exemplo anterior, podemos sempre colocar todos os utilizadores na sua própria, higienizado ambiente isolado, chrooted.

Nós também pode se aproximar isso de um nível de linguagem. É possível (embora, isso pode quebrar as coisas) globalmente remover declarações de função de idiomas. Quer dizer, é possível remover a funcionalidade das línguas usuários tem acesso.

Olhando para PHP em particular, você pode remover a funcionalidade com runkit - kit de ferramentas oficial do PHP para modificar a funcionalidade da linguagem. Há uma riqueza de documentação lá fora. Leia nele.

Você também pode modificar o arquivo de configuração do PHP (php.ini) para desativar funções que muitas vezes são abusadas por hackers. Para fazer isso, abra um terminal em seu servidor e abrir o seu arquivo php.ini em um editor de texto. Gosto de usar VIM, mas NANO também é aceitável.

Encontre a linha que começa com disable_functions e adicionar as definições de função que deseja proibir. Neste caso, seria exec, shell_exec e do sistema, embora seja importante notar que há outras funções internas que são explorados por hackers.

disable_functions = exec, shell_exec, sistema

Idioma e intérprete Baseado Ataques

Então, vamos olhar para PHP. Esta é a linguagem que alimenta um número surpreendente de websites. Ele também vem com uma série de idiossincrasias e comportamentos estranhos. Como isso.

PHP é geralmente utilizado em conjunto com o Apache rede servidor. Para a maior parte, é impossível carregar várias versões da linguagem com esta configuração.

sharedhosting-phpelephant

Por que isso é um problema? Bem, vamos imaginar aplicação web de Bob foi originalmente construído em 2002. Isso é muito tempo atrás. Isso é para trás quando Michelle Branch ainda estava no topo das paradas, Michael Jordan ainda estava jogando para o Washington Wizards e PHP era uma língua muito diferente.

Mas o site do Bob ainda funciona! Ele usa um monte de funções PHP obsoleta e descontinuada, mas funciona! Usando uma versão moderna do PHP seria efetivamente quebrar o site do Bob, e por que Bob reescrever seu site para atender aos caprichos de seu host?

Isso deve lhe dar uma idéia do dilema alguns provedores de hospedagem enfrentar. Eles têm que equilibrar manter um serviço arquitetonicamente som e seguro, mantendo isso em harmonia com a garantia de pagar os clientes estão felizes.

Como resultado, não é incomum ver menores, anfitriões independentes utilizam versões mais antigas do PHP (ou qualquer outra língua, para que o assunto) intérprete.

Não é incomum ver menores, anfitriões independentes utilizam versões mais antigas do PHP, potencialmente expor os usuários a riscos de segurança.

Por que isso é uma coisa ruim? Bem, em primeiro lugar, seria expor os usuários a uma série de riscos de segurança. Como a maioria dos principais pacotes de software, PHP está sendo constantemente atualizado para abordar a multiplicidade de vulnerabilidades de segurança que estão constantemente a ser descobertos (e divulgadas).

Além disso, isso significa que os usuários não podem usar as últimas (e maiores) funções da linguagem. Isso também significa que as funções que foram reprovados por uma razão permanecem. No caso do linguagem de programação PHP, isso inclui os laughably terríveis (e recentemente reprovado) funções mysql_options que são usados ​​para interagir com o sistema de banco de dados MySQL relacional e dl (), que permite aos usuários importar suas próprias extensões de linguagem.

Como um usuário, você deve ser capaz de ver qual a versão de um intérprete está em execução no seu serviço. Se for ultrapassado, ou contendo uma série de vulnerabilidades de segurança, entre em contato com seu anfitrião.

Video: SEM MEDO NO JAPÃO | VOCÊ PRECISA SABER | Travel and Share | T4. Ep.140

E sobre os administradores de sistemas? Você tem algumas opções aqui. O primeiro (e mais promissor) é usar Docker para cada um de seus usuários. Docker permite executar vários ambientes, isoladas em simultâneo, bem como uma máquina virtual faz, embora sem ter para executar outro sistema operacional. Como resultado, este é rápido. Muito, muito rápido.

Na planície Inglês? Você pode executar o intérprete mais recente e maior margem sangramento para a maioria dos seus usuários, enquanto os clientes que estão usando aplicativos antigos que usam antigos, intérpretes obsoletas para fazê-lo sem comprometer outros usuários.

Isto também tem a vantagem de ser independente de linguagem. PHP, Python, Ruby. Tanto faz. É tudo a mesma coisa.

Não tenho pesadelos

Este post foi destinado a fazer um par de coisas. Em primeiro lugar, foi para chamar a sua atenção o número de problemas de segurança que web hosting empresas têm de enfrentar, a fim de garantir a segurança de seus clientes e seus dados.

Ele também foi destinado a mostrar-lhe como sites hospedados no mesmo servidor pode afetar o outro. Quer colocar um dente neste? Começar a obedecer bons padrões de codificação e seguras. Em particular, comece saneantes suas entradas tanto no front-end e back-end.

Um bom começo é com a nova funcionalidade de validação de formulário HTML5. Nós conversamos sobre isso antes em nosso guia HTML5. Coletivamente, nós podemos fazer sites mais seguro por ser melhores programadores, mais conscientes.

Video: Ева Энслер о безопастности

Como sempre, eu estou aqui para ouvir seus pensamentos. Deixe-me cair um comentário abaixo.

Crédito da foto: Todos precisa um Hacker (Alexandre Dulaunoy), Adesivo de Taxi Window (Cory Doctorow), sala de Server (Torkild Retvedt), Livros Linux e Revistas (library_mistress), PHP Elephant (Markus Tacker)


Artigos relacionados