Advertências sobre a instalação de ferramentas de desenvolvimento no servidor de produção

1

Eu quero instalar algum software na caixa CentOS de produção que não esteja disponível no repositório (como o tmux etc). Eu posso baixar o código-fonte e compilá-lo localmente, mas para isso eu precisarei de ferramentas de desenvolvimento (gcc etc) em uma caixa de produção. É uma boa ideia instalar ferramentas de desenvolvimento na caixa de produção?

    
por Faisal 29.10.2014 / 21:07

2 respostas

5

Eu sou uma ferramenta anti-desenvolvimento em máquinas de produção. Eu peguei críticas de pessoas que dizem que isso vai contra uma nebulosa "filosofia Unix", mas eu assumo que:

  • Ter software "em excesso" em uma máquina equivale a mais "partes móveis" e maiores chances de falha

  • Ferramentas de desenvolvimento disponíveis para você significa que estão disponíveis para invasores que podem obter acesso não autorizado à sua máquina

  • Compilar coisas do zero em máquinas de produção é contrário a um rigoroso processo de controle de mudanças, na minha opinião.

Eu acredito que o "imposto" para gastar o tempo para construir binários empacotados para programas que você precisaria compilar vale a pena o incômodo. Eu acho que isso também promove boas práticas de controle de mudanças.

    
por 29.10.2014 / 21:12
2

Os principais riscos de um aspecto operacional / de segurança de ter ferramentas de desenvolvimento em sistemas de produção é simplesmente colocar

  • quanto mais software instalado, maior a superfície de ataque e mais você precisa manter
  • a maioria das pessoas que implantam software da fonte não o mantém após a implantação inicial bem-sucedida
  • A maioria das ferramentas de manutenção e relatório de software no Linux são orientadas para pacotes e não relatam muito bem em softwares implantados a partir do código-fonte, dependendo do que está descrito acima. Muitas vezes você não sabe que corre o risco de usar softwares desatualizados.

Em ordem:

  1. use pacotes de repositórios bem mantidos, deixe que um mantenedor se preocupe com listas de discussão, anúncios da CVE, rastreamento de bugs, construção e testes de pacotes, etc.
  2. crie seus próprios pacotes e faça o que foi descrito acima. Construa em um sistema de desenvolvimento ou desenvolvimento, teste e libere o gerenciamento no UAT antes da implementação na produção.
por 29.10.2014 / 21:32

Tags