Windows "Executar como" sem saber a senha

13

Estamos instalando um sistema de mídia digital na estação de rádio da faculdade em que trabalho. Estamos tentando dar aos programadores (leitura; DJs, não codificadores) acesso à música, sem permitir que eles copiem qualquer coisa para suas unidades flash ou transfiram pela Internet.

Estamos executando nos sistemas Windows (Windows XP para os computadores clientes e Windows Server 2008 para o servidor de mídia). Minha ideia é essa.

  • Crie um usuário (ProgramUser) que não tenha acesso à mídia digital.
  • Crie um usuário (MediaUser) que tenha acesso somente leitura à mídia digital sobre a qual os programadores não sabem nada e não sabem a senha.
  • Faça com que os usuários efetuem login no Windows como ProgramUser, não dando acesso à mídia.
  • Execute nosso aplicativo de reprodução ( Traktor ) como o MediaUser, permitindo que o programador reproduza a mídia, mas não a copie ou modifique.

Esta parece ser a solução perfeita, mas há uma pegadinha. Se o aplicativo de reprodução ou a máquina travar, o programador é a única pessoa capaz de executá-lo novamente em um período de tempo razoável (somos uma estação de rádio FM de 15 kW, portanto o tempo de inatividade é um grande problema). Daí o meu dilema ...

Como posso dar ao programador a capacidade de iniciar nosso aplicativo de reprodução como um usuário para o qual eles não sabem a senha?

Peter Mortensen
fonte

Respostas:

32

sudo.bat

@echo off
runas /user:Administrator /savecred %1

surpreendentemente, ele não solicitará a senha novamente, mesmo após a reinicialização ou falha de energia

Jonny
fonte
2
+1 para a resposta correta. Meu deus é que uma falha de segurança
Dave Cheney
sério, como isso não é conhecido por ser uma brecha na segurança? Por que isso está aberto ?!
Marm0t
2
Tenho certeza de que isso só funcionará se a senha da conta tiver sido salva no Credentials Manager, portanto, não é realmente uma brecha de segurança mais do que no OSX ou em qualquer outro sistema em que as credenciais possam ser salvas e reutilizadas.
Mark Henderson
Você ainda precisa saber a senha na primeira vez, e isso irá parar de funcionar se ela mudar.
ivan_pozdeev
1

... sem permitir que eles copiem nada para suas unidades flash ou transfiram pela Internet

Desative unidades flash USB, acesso à Internet etc. nessas máquinas.

Duncan Smart
fonte
0

Existem algumas maneiras que eu posso pensar de improviso para talvez resolver esse problema. Primeiro (e mais difícil) seria escrever um pequeno serviço do Windows que inicie o Traktor. Assim, o ProgramUser pode solicitar ao serviço uma nova instância do Traktor, e o serviço está sendo executado como MediaUser, portanto, o Traktor é iniciado como MediaUser.

Outra possibilidade, e muito mais fácil, é configurar um atalho de inicialização que inicie o Traktor a cada logon - os atalhos do Windows permitem definir as credenciais do usuário apropriado nas propriedades do atalho. Se o computador travar, os programadores só precisam fazer login e têm um novo Traktor sendo executado como MediaUser!

Espero que uma dessas soluções funcione para você!

Mike
fonte
Eu e o outro administrador somos engenheiros de software, então isso não será um problema. Também executamos outro serviço que monitora nossa mesa de mixagem quanto à entrada GPIO, por isso é algo que já estamos fazendo. Esta é uma excelente ideia, obrigado!
0

Você pode criar um programa que inicie o processo do MediaUser para o DJ. Isso pode ser feito para que seja executado como ProgramUser.

A senha / credenciais do MediaUser precisariam ser compiladas no programa, para que ele soubesse a senha, mas o usuário final nunca precisaria estar ciente disso. Eles teriam apenas um botão ou programa que diz "Reiniciar o Tracktor" e ele pode fazer todo o trabalho.

Aqui está um exemplo de C # do processo. A única mudança seria codificar as credenciais para que o DJ não as veja.

Reed Copsey
fonte
Isso é basicamente o que eu ia sugerir, mas com a ressalva de que é segurança através da obscuridade. Se os usuários finais puderem encontrar e executar uma cópia do procmon ou procexp, poderão obter a senha sem problemas.
Ryan Bolger
@ Ryan: Como você obtém a senha do procmon ou procexp nesta situação? Você pode obter o nome de usuário sob o qual um processo está sendo executado, mas não achei que você pudesse obter as credenciais. Eu entendo essa rev. projetar o executável com a senha embutida faria isso, mas, além disso, como você obteria essas informações?
0

Dê uma olhada no Steel RunAs. Usei-o para vários scripts na minha carreira no SysAdmin quando nenhuma outra alternativa era plausível. Definitivamente é útil. Ele gera um arquivo executável, no qual criptografa as credenciais armazenadas. Ligação

Nick Jacques
fonte
0

A situação ideal seria para você modificar o Traktor para ser executado como um serviço, com uma GUI separada. Isso fornece as melhores opções de segurança - o Traktor seria executado como o usuário com as credenciais corretas e ninguém precisa saber o que são ou precisa digitar a senha para reiniciá-la. Na verdade, você pode reiniciar a si próprio se travar no snap-in de serviços.

Sua GUI para conduzir o Traktor é gravada como seu próprio aplicativo, que o usuário executa como ela mesma; envia mensagens para o serviço do Traktor (via TCP / IP, RPC, memória compartilhada ou qualquer outra forma de IPC) para fazer o que o usuário quer. Se você fez a GUI funcionar usando um protocolo de rede cruzada (por exemplo, TCP / IP), o usuário poderá efetuar login na estação de trabalho e o serviço de traktor poderá ser executado em um servidor mais confiável, possivelmente bloqueado para impedir reinicializações "acidentais". Se você é bom, pode escrever um aplicativo da Web para conduzir o Traktor (ou seja, o servidor da Web envia as mensagens para o serviço) e seu usuário pode executar a estação em casa!

O serviço traktor seria iniciado com o servidor, sem precisar fazer login.

Peter Mortensen
fonte
Ideia interessante, mas o Traktor é muito proprietário e realmente não possui uma API. Os únicos pontos de integração são MIDI, Send Keys e VST Plugins. Embora a idéia do Traktor como um mecanismo de reprodução baseado em serviços com uma interface de usuário personalizada seja atraente, analisamos uma interface de usuário personalizada mais robusta que lida com coisas como criação de gráficos e lista de reprodução.