Ubuntu para funcionários de desenvolvimento de bancos [fechado]

16

Existem processos e métodos documentados sobre como executar computadores Ubuntu personalizados (da instalação ao uso diário) para bancos e outras empresas que não desejam que os usuários baixem binários de locais possivelmente inseguros?

Para que o apt-get, update etc aconteça apenas em alguns locais confiáveis ​​da Internet ou intranet?

Atualização: adicionada após a primeira resposta. Esses usuários são suporte, usuários iniciantes de sistemas e desenvolvedores do software do banco ... então alguns deles precisam de privilégios de sudo. Existe uma maneira pronta de monitorá-los para que todas as exceções sejam capturadas rapidamente (como adicionar a lista de fontes), mas outras ações, como instalar coisas de repositórios conhecidos, não são relatadas.

O objetivo é ser seguro, usar o Ubuntu ou um sabor, permitir que desenvolvedores e outros usuários do sudo sejam o mais produtivos possível. (E reduza a dependência em computadores Windows e Mac)

.2. E o pessoal de TI pode atribuir políticas aos usuários para que eles não possam executar algumas ações, como compartilhar uma pasta, mesmo que o usuário sudo? Uma solução completa?

tgkprog
fonte
7
Se você lhes der acesso root sudo apt-get, é melhor colocar um bom firewall fora do sistema.
Muru
2
Para interpretar um pouco os diabos aqui, como você garante que o software nos repositórios do Ubuntu seja "confiável"? Se sua organização não revisar nenhum desses pacotes ou repositórios, pode-se argumentar que você já está instalando software não confiável :) Além disso, a menos que você bloqueie o acesso à Internet ou sites específicos da lista branca, é bastante trivial para um usuário técnico ignorar esse tipo de restrição, basta baixar o (s) deb (s) manualmente e instalar ...
Rory McCune
2
Uma vez que tenham root, eles podem instalar binários não confiáveis ​​obtidos por meio de um pen drive. Ou faça o download deles. Ou envie-os por e-mail para eles mesmos. Impedir que um desenvolvedor com acesso root instale todo o software que deseja é basicamente impossível.
Federico Poloni
3
Estou votando para encerrar esta pergunta como fora de tópico, porque este é um pedido de consultoria, não um controle de qualidade simples para o qual este site foi projetado. Portanto, a questão é muito ampla para ser tratada aqui e fora de tópico!
Fabby
11
Um arquivo de sudoers cuidadosamente criado deve funcionar, implantado por qualquer sistema de gerenciamento de massa, garantindo que apenas as coisas permitidas pela empresa sejam feitas. Isso torna a opção de perguntas com base ou muito ampla (ambas correspondem). sinalizado para fechamento com base em opiniões. (corretor de seguros sysadmin aqui, eu escolhi um caminho em muitos, daí a bandeira baseado opinião)
Tensibai

Respostas:

5

Esta é uma pergunta muito boa, mas sua resposta é muito difícil.

Primeiro, para começar, Timothy Truckle tem um bom ponto de partida. Você executaria seu próprio repositório apt, onde sua equipe de segurança poderia verificar todos os pacotes. Mas isso é apenas o começo.

Em seguida, você deseja implementar grupos. Você gostaria que os usuários pudessem fazer as coisas de que precisam sem muita ajuda do suporte. Mas no setor bancário, você realmente quer que as coisas sejam trancadas. De fato, em muitas estruturas corporativas, você deseja bloquear as coisas. Portanto, conceder privilégios sudo a usuários normais em qualquer nível provavelmente está fora.

O que você provavelmente faria é definir as coisas para que determinados grupos não precisem de permissões elevadas para realizar seus trabalhos.

Novamente, na maioria dos ambientes corporativos, instalar software é algo que pode fazer com que você seja demitido, então isso é um não, não. Se você precisar de um software, ligue para a TI e eles farão isso por você, ou há uma cadeia de requisições ou algo assim.

Idealmente, você nunca precisaria de um funcionário normal para instalar nada ou precisaria de permissões elevadas.

Agora, para os desenvolvedores, a questão é um pouco diferente. Talvez eles precisem instalar e talvez precisem do sudo. Mas suas caixas estão na "rede de perigo" e NUNCA podem se conectar diretamente a sistemas críticos.

A equipe de TI / Suporte precisará do sudo. Mas você pode limitar o acesso ao sudo por comando ou processo (papelada) ou outros meios. Pode haver volumes inteiros sobre coisas como o "princípio dos 2 olhos" e como implementá-lo. Porém, os logs de auditoria existem e podem ser configurados para atender à maioria das necessidades.

Então, voltando à sua pergunta. A resposta de Timothy Truckle é 100% correta, mas a premissa para sua pergunta está errada. Proteger um sistema operacional Linux é muito mais sobre a escolha das configurações necessárias para seu caso de uso específico e menos sobre uma idéia geral de como proteger as coisas.

coteyr
fonte
resposta bem declarada
Corey Goldberg
Trabalhei para um fornecedor de TI americano, onde eles desabilitaram o Windows 7 UAC imediatamente nas imagens de instalação (eles também tinham imagens do Linux) e todos os meus colegas de trabalho eram administradores de suas máquinas e tinham privilégios de root em muitas máquinas de clientes diferentes, armazenando também recursos financeiros. em formação. Não é que não houvesse nenhuma medida de segurança, mas como devo colocá-lo ... de qualquer maneira, você está correto e eu preferiria do seu jeito se eu estivesse no comando, mas você tem experiência real ou é apenas ilusão?
LiveWireBT
Muitos muitos anos de experiência real. O OP perguntou sobre bancos e no setor bancário, bem como em muitas estruturas corporativas, existem regulamentos, tanto contratuais quanto legais que precisam ser cumpridos. Geralmente você começa (ou termina) cumprindo essas obrigações.
coteyr
Obrigado. Sim, não somos um banco, mas precisamos e seguimos a segurança como um, porque se houver dados sensíveis. usei a palavra banco como um caso de uso familiar.
precisa saber é o seguinte
18

Configure seu próprio proxy de repositório debian dentro da sua intranet.

Personalize a instalação do ubuntu para que seu proxy do repositório debian seja a única entrada no /etc/apt/sources.list.

Et voila: você tem controle total sobre o software instalado em seus clientes (desde que nenhum usuário tenha permissões de superusuário).


Atualização: adicionada após a primeira resposta. Esses usuários são suporte, usuários iniciantes de sistemas e desenvolvedores do software do banco ... então alguns deles precisam de privilégios de sudo. Existe uma maneira pronta de monitorá-los para que todas as exceções sejam capturadas rapidamente (como adicionar a lista de fontes), mas outras ações, como instalar coisas de repositórios conhecidos, não são relatadas.

Em sua instalação personalizada você pode modificar o /etc/sudoersarquivo para que os usuários têm permissão para executar sudo apt updatee sudo apt installmas nenhum outro comando começando com apt. Obviamente, você também precisa restringir sudo bash(ou qualquer outro shell).

Timothy Truckle
fonte
3
Desde que nenhum usuário tenha privilégios de superusuário, ele não poderá instalar nenhum software.
Byte Commander
Eu editei a pergunta.
precisa saber é
@ByteCommander é verdade, mas e se você quiser adicionar mais um "site confiável" além da lista inicial? Você prefere executar um script para atualizar /etc/apt/sources.listtodos os 10.000 clientes ou apenas modificar esse arquivo em alguns caches apt?
Timothy Truckle
5
@TimothyTruckle se você realmente tem 10.000 clientes, então você também tem um sistema de gestão como Puppet ao redor, e adicioná-lo a todos eles é trivial
Muru
os usuários podem ter acesso a um shell se sudo apt updaterelata um conflito de arquivo
Ferrybig
6

Em quase todas as lojas que vi até agora, os desenvolvedores tinham acesso total às máquinas de desenvolvimento, mas essas máquinas só tinham acesso à Internet e ao repositório de código-fonte.

O código-fonte é registrado e compilado em máquinas confiáveis ​​(nas quais os desenvolvedores geralmente não têm ou precisam de permissões administrativas) e, em seguida, implantado em sistemas de teste que têm acesso à rede interna.

Se essas máquinas são usadas pelos desenvolvedores ou por uma equipe de teste separada, depende da sua organização - mas geralmente o limite entre máquinas confiáveis ​​e não confiáveis ​​é entre máquinas separadas, com a interface entre elas verificável (como confirmações do código-fonte).

Os funcionários da recepção nunca recebem privilégios administrativos. Quando implantamos o Solitaire em todas essas máquinas, as reclamações sobre essa política praticamente cessaram.

Simon Richter
fonte
Boa dica. Alguns horários (aplicativos de jogos) e talvez um amplo espaço social da empresa (wiki, bate-papo, fórum, votos) aberto de uma a duas horas por dia.
precisa saber é o seguinte