Criando usuários próprios “root” [closed]

3

Então, meu objetivo é dar a cada usuário sua própria "raiz", basicamente criando uma unidade de loop com uma cópia dos arquivos principais. Eu sei que há coisas como conchas, e todas aquelas coisas divertidas que tornam isso um pouco mais fácil, MAS você ainda está acessando os arquivos-raiz daquele sistema e um bastardo astuto pode mexer o suficiente para sair da cadeia.

Minha teoria é sobre a criação do usuário uma unidade de loop é girada com uma cópia do root, em seguida, quando um usuário faz o login, algo, talvez um chroot é executado, e ele aparece em sua bolha. Conheço as permissões dos usuários e as que não mantêm as pessoas honestas, mas essencialmente não quero que essa pessoa saiba que há mais ninguém nesse dispositivo, não importa onde olhem, nada além do conteúdo será exibido e, se de alguma forma, eles executaram um comando e destruiu seu env raiz, ele não vai tocar a máquina real, apenas estourar sua bolha. Eu sei que percorremos um longo caminho com snaps e outras ferramentas de sandboxing para impedir que as coisas toquem em outras coisas, mas nada que eu tenha visto em manter os usuários em seu próprio ambiente de usuário.

Estou jogando em torno de idéias, e não posso pensar, seria um cenário docker, uma máquina virt, onde ele aparece apenas no login, ou se é realmente factível com ajustes para os parâmetros addusr e login.

Minha teoria.

Como as máquinas Virt, existe um "usuário root" (vamos chamá-lo de bob) que gerencia as contas de usuários, bob pode adicionar, excluir, modificar o que não e também gerenciar o software das máquinas e quais não.

bob, em seguida, quer adicionar sally para a máquina, ele faz o adduser normal, o usuário add, em seguida, gira um arquivo aa (dd se = / dev / zero de = / home / sal_drive bs = contagem de 1000M = 60) gira um dispositivo de loop, adiciona-o ao fdisk e copia alguns arquivos principais nele.

(agora é aqui que eu fico tropeçando) Sally agora é um usuário, sua casa está configurada para / dev / loop (sally) / home (se essa é a sintaxe apropriada. Ou seria apenas deixada / home / sally e um script apenas a deixaria na nova unidade com o ambiente definido?)

Sally, em seguida, está na página de login, insere suas informações de login e, em seguida, é descartada em sua bolha, com seus arquivos raiz e inicial.

Então a questão, Isso é factível apenas com alguns ajustes no env do usuário no adduser e no script de login, e quando o usuário efetua login, ele faz o chroot para o ambiente e o Chroots volta ao logout. OU eu teria que criar uma instância virtual e, em seguida, eles fazem login dessa maneira. por exemplo, a máquina host é charles.local, a página de login é então carregada para login.charles.local e então sally entraria em sally.charles.local ....

    
por Charles Wilson 04.09.2018 / 19:43

1 resposta

4

Sally is now a user, her home is set to /dev/loop(sally)/home (if that is the proper syntax. ...

Usar /dev/loop(sally)/root/home é melhor, por isso Sally pode digitar cd .. , mas assim que descobrir as permissões ou se forem falsas, você será descoberto. Dar à pessoa uma VM permite a eles uma experiência real , mas procure por Meltdown, Spectre e outros hacks de TLB ou a experiência seja seu próprio.

O termo que você está procurando é honeypot mas lembre-se desta citação que foi alterada um pouco ao longo dos séculos :

Jacques Abbadie (1684): "… ont pû tromper quelques hommes, ou les tromper tous dans certains lieux et en temples, mais non pas tous les hommes, dans tous les lieux & dans les sécies."

Português: Pode-se enganar alguns homens ou enganar todos os homens em alguns lugares e épocas, mas não se pode enganar todos os homens em todos os lugares e épocas.

Um especialista provavelmente não será enganado por muito tempo e é improvável que um novato represente uma ameaça tão grande.

Veja este um dos muitos artigos sobre o assunto: " Aumente sua segurança de rede: implemente um honeypot ". Sem algo real, sempre haverá um teste que falhará ou alguns meios para detectar que o ambiente não é real. Basta dar a eles uma VM em um computador antigo.

    
por 04.09.2018 / 21:01