Variáveis de ambiente do conjunto raiz

0

Eu tenho um pequeno script que faz o download de um arquivo crítico, abre uma conexão SFPT, coloca o arquivo e fecha a conexão.

Como você pode imaginar, meu script tem algumas informações de nome de usuário e senha.

Eu planejo fazer essas partes sensíveis de variáveis de ambiente de informação, para que, caso sejam invadidas, essas informações não sejam expostas.

No entanto, gostaria de saber se:

  • a abordagem das variáveis de ambiente é a melhor solução
  • as variáveis serão permanentes e sobreviverão às redefinições do servidor, falhas etc
  • se minhas variáveis de ambiente estiverem visíveis para outro terminal usuários não-root

Obrigado pela sua contribuição antecipada ... feliz ano novo.

    
por sisko 07.01.2013 / 18:00

2 respostas

1

  • sem variáveis env: ps pode mostrar seus valores

  • use um par de chaves privada / pública (sem senha), assegure-se de que a chave privada seja SOMENTE legível pelas pessoas relevantes (ou seja, aquela que inicia o script que copia os valores para a outra máquina) e coloque a chave pública no arquivo authorised_keys da máquina de destino (na conta de destino do usuário relevante, os arquivos são copiados para). que o usuário local, em seguida, use sua chave privada local, somente-ele-possa-ler, para poder

    scp sensitivefile  destinationuser@destinationhost:/destination/path/
    

Além disso:

  • tornam os usuários muito restritos localuser e destinationuser 2: eles só podem acessar essa área localmente, aquela área remotamente, etc. Dessa forma, se comprometidos, eles não podem fornecer acesso root remotamente, ou algo semelhante. E tenha um script local e remotamente que copie os arquivos para o destino final (a área local legível por localuser e o destino final remoto). Esses scripts, é claro, se possível, também não podem ser root ... (imagine que você seja comprometido: o arquivo copia um script para um local, então termina como / local / area / somefile ... mas alguém maliciosamente coloque um link lá, com o mesmo nome de arquivo local, aquele link apontando para algum arquivo confidencial: / local / area / somefile - > / etc / sensitivefile) que esse arquivo sensível pode ser sobrescrito! E em alguns conditinos que poderiam abrir brechas de segurança ou negação de serviços. E cuidado também remotamente, pois uma vez comprometida, a chave do localizador local pode ser usada para ssh / scp para destinationuser @ destinationhost.

Sim, há muitos mais controles a serem feitos para garantir que seja difícil (e não impossível ...) ser usado para atacar o host local ou de destino! Compartilhe sua solução final conosco.

    
por 07.01.2013 / 18:08
-1

Variáveis de ambiente não são permanentes. Eles são privados, no entanto. Torná-los permanentes envolveria registrá-los em um script.

Uma solução melhor seria usar o mecanismo ssh authorized_keys; as chaves ainda serão roubadas se a máquina que originou a conexão estiver comprometida, mas é mais fácil desautorizá-las na outra extremidade.

    
por 07.01.2013 / 18:02