Como criar um usuário com permissões minimalistas no OpenBSD?

3

Eu quero rodar o navegador (xxxterm) com um usuário diferente (XY) em uma área de trabalho do OpenBSD (usuário diferente daquele que uso diariamente). Eu vou chegar ao navegador com ssh -X na máquina local (ou existem soluções melhores?). O webbrowser não precisa de áudio, sem flash, sem html5, sem java, sem plugins, sem javascript, etc.

Como posso criar um usuário com as menores permissões possíveis? Existem truques? (o usuário só precisa estar no grupo dele e não mais?)

Pesquisei algumas horas para palavras-chave / truques que eu preciso "expandir" (mini-howto para ele) mais tarde:

mount /home with nodev, nosuid, noexec AND/OR with read-only option?
set high umask for users that are not XY
minimal groups needed for user
regularly check that the user isn't in the sudoers file
no o+rwx on the files in the system or suids
**restricted shell for the user?**
systrace restrictions? (or doesn't worth it?*)
pf limitations - user uid only needs http https ftp dns - no other network needed for any user besides root
put the webbrowsing in a qemu vm??
security/limits.conf - ulimit for the user?
chroot the xxxterm?
xxxterm as shell? (instead of ksh?)
only let a few dozen MByte quota for the user or zero?
guest session like? - start with a clear QEMU guest or chrome directory at every chrome exit/start?
privoxy for filtering chrome traffic? (proxy can be set to anything by the XY user..)
can pf limit that what process can use http https ftp dns?

Se este howto estiver completo, pode ser útil quando você tiver um apocalipse de terminador zumbi : D

    
por gasko peter 15.07.2013 / 11:25

1 resposta

2

Se você quiser uma instância do navegador completamente isolada que não possa afetar nada fora de sua pequena sandbox, o que parece (apesar do título da pergunta), sugiro simplesmente executar uma VM e conectar-se a ela de alguma forma diferente do encaminhamento X11 . O SSH ou não, criptografado ou não, não importa neste caso, porque você não está realmente procurando proteger os dados em trânsito, você está apenas procurando isolar um aplicativo de todo o resto. Execute o navegador lá e tudo o mais fora dele. No que diz respeito ao navegador, ele vê sua instalação do SO na VM e nada fora dessa esfera de influência.

VNC, Microsoft Remote Desktop ou algo parecido deve funcionar. O encaminhamento do X11 está fora porque expõe fluxos de dados brutos de uma forma que essas alternativas provavelmente não permitirão, o que permitiria que um aplicativo mal-intencionado em execução, em ambos os lados, espionasse tudo o que estivesse fazendo, negando todos os ganhos de segurança. (Isso não requer raiz, apenas seu próprio acesso, porque você possui a sessão X.) Naturalmente, seria um problema muito sério se qualquer navegador permitir que uma página da web acesse esse tipo de dados.

Ele não protege contra um aplicativo mal-intencionado em execução enquanto você está fora da VM espionando o que você está fazendo com o navegador dentro da VM, mas deve impedir que qualquer coisa mal-intencionada dentro da VM espione qualquer coisa que esteja fora da VM.

    
por 20.09.2013 / 21:32