O que significa "patching" de segurança e por que é difícil?

0

Acabei de aprender a gerenciar um servidor e obtive meu primeiro VPS em execução. Como você pode pensar, é um servidor de treinamento "pessoal", não sendo executado por nenhuma empresa.

Eu continuo ouvindo sobre "patching de segurança" e muitas palestras sobre como é difícil que algumas pessoas não o façam, favorecendo outros aspectos em relação à segurança.

Não posso deixar de pensar que estou fazendo algo errado apenas ativando um firewall e bloqueando todas as portas, mas as que estou usando, e apenas iniciando " apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y " de vez em quando. (Nota: Eu tenho uma "distribuição rolling GNU / Linux")

Eu sei o quão ignorante eu soo agora, mas isso não é "remendar"? Se não, por favor, explique o conceito de "patching de segurança", metas que queremos realizar através de patch, alguns métodos de patch como exemplos, e algumas dificuldades enfrentadas pelos administradores de sistemas como exemplos.

Nota: Para limitar o escopo desta questão, estou especificamente perguntando sobre o conceito e a prática de "patching de segurança", não o mais amplo "endurecimento de sistemas".

    
por Mars 13.05.2016 / 13:13

3 respostas

2

Manter um sistema pessoal atualizado é relativamente fácil: como você diz, geralmente fazer uma atualização completa regular do sistema através do gerenciador de pacotes é suficiente. (Observe que muitas pessoas não fazem isso, no entanto.) Os problemas reais ocorrem em uma grande configuração de produção.

Em um mundo corporativo, você pode gerenciar centenas de computadores, em vez de apenas um ou dois. Você tem um software de terceiros instalado em alguns desses sistemas que não está disponível por meio dos repositórios e também pode estar compilando seu próprio software que também não está disponível em repos. Elas se combinam para tornar muito mais difícil saber qual software está instalado em seus sistemas, se há alguma vulnerabilidade de segurança no software instalado conhecido e como distribuir atualizações pela frota.

Além disso, toda atualização é uma mudança e a mudança traz riscos. Enquanto um pouco de tempo de inatividade em seu VPS é bom, em uma empresa uma atualização ruim pode custar milhões de dólares. Assim, toda atualização deve primeiro ser testada para garantir que tudo continue funcionando.

Vamos adicionar outra camada: as correções de segurança só entram em uma versão do software que você não pode executar porque algum outro software crítico para os negócios não suporta a nova versão. Agora você tem que tentar backport uma correção de segurança em software que você realmente não conhece (perigoso!) Enquanto agride um fornecedor para atualizar seu software (o que eles provavelmente farão em 10 anos), assumindo que eles ainda estão por aí. e não falir por agora.

Em suma, multiplicar a escala e as penalidades torna-a muito mais problemática.

    
por 16.05.2016 / 19:50
4

Corrigir-se é simplesmente modificar um sistema para uma finalidade específica (ou seja, um patch de jogos para aumentar ou diminuir a dificuldade). Isso pode ser algo tão trivial quanto mudar algumas linhas em um script para substituir componentes de software inteiros. A opinião da Wikipedia é um pouco diferente:

A patch is a piece of software designed to update a computer program or its supporting data, to fix or improve it.[1] This includes fixing security vulnerabilities[1] and other bugs, with such patches usually called bugfixes or bug fixes,[2] and improving the usability or performance. Although meant to fix problems, poorly designed patches can sometimes introduce new problems (see software regressions)

link

Com relação ao patch de segurança, isso normalmente é feito em um nível de software. O desenvolvedor corrige as vulnerabilidades de seu software, a nova versão entra no ecossistema de software onde:

  • Packagers et al pronto para suas distribuições e, eventualmente, retorna para o usuário (geralmente baixado através de um gerenciador de pacotes.
  • É baixado do site do desenvolvedor.
  • Ele é enviado na mídia de armazenamento (ou era uma vez).
  • O fornecedor do produto para o qual é um componente libera a atualização por meio de qualquer um dos métodos acima.

Em patches orientados à segurança, os objetivos são bastante óbvios: segurança. Em outras palavras, menos proezas para o inimigo. Por inimigo, quero dizer pessoas e software malicioso. Como apontado no comentário da Class Stack, um lançamento rotativo é uma péssima idéia de segurança. Com novos recursos, vêm novos bugs. Borda de sangramento é melhor mantida para uso não crítico (ou seja, seu PC de jogos em casa, não o servidor da empresa). Eu, portanto, recomendo que você vá com o branch Debian Stable (presumo que você esteja usando alguma distro baseada em Testing / Sid). As ramificações do Debian funcionam assim (simplificadas):

  • Estável - está em teste há muito tempo e nenhum bug foi encontrado desde sempre.
  • Teste - Material do Sid testado e corrigido. Tudo parece estar funcionando, mas nunca há garantias.
  • Sid - Coisas novas que mal se arrastaram para fora da fase Experimental. Funciona, mas espera o inesperado.

Quanto às atualizações, recomendo o seguinte:

  • Sempre faça um apt-get update antes de novas instalações de software.
  • Verifique as atualizações disponíveis antes de executá-las. Não é necessário atualizar a menos que haja atualizações de segurança ou você precise da versão mais recente de um software.
  • Você não precisa fazer uma atualização distária a menos que esteja atualizando todo o sistema para uma nova versão, por exemplo, wheezy to jessie. Você não deve emitir este comando de ânimo leve.

Em relação à sua distro atual, se você decidir mudar para Stable (o que deve), terá que reinstalar o sistema. Não tente misturar coisa ou reverter ou algo assim. Uma instalação Debian é razoavelmente rápida e indolor, mesmo a partir do CD do instalador de rede.

Espero que esta visão geral muito simplificada ajude você com um entendimento básico. Eu sugiro que você leia mais sobre link , pois o escopo desta questão pode continuar crescendo.

    
por 13.05.2016 / 15:50
-1

Corrigir um Software ou um OS (Sistema operacional) é exatamente uma atualização ou uma correção para vulnerabilidades ou um bug. Isso pode aumentar o desempenho do sistema ou corrigir esses erros que tornam o sistema estável contra ataques.

Alguns patches mal concebidos podem, por vezes, introduzir novos problemas.

    
por 13.05.2016 / 13:24