암호를 몰라도 Windows“Run As”


13

우리는 내가 일하는 대학 라디오 방송국에 디지털 미디어 시스템을 설치하고 있습니다. 우리는 프로그래머가 음악을 플래시 드라이브에 복사하거나 인터넷을 통해 전송할 수 있도록시키지 않고 음악에 액세스하도록 프로그래머 (읽기, 코더가 아닌 DJ)에게 제공하려고합니다.

Windows 시스템 (클라이언트 시스템의 경우 Windows XP, 미디어 서버의 경우 Windows Server 2008)에서 실행 중입니다. 내 생각은 이것입니다.

  • 디지털 미디어에 전혀 액세스 할 수없는 사용자 (ProgramUser)를 작성하십시오.
  • 프로그래머가 모르고 암호를 모르는 디지털 미디어에 대한 읽기 전용 액세스 권한이있는 사용자 (MediaUser)를 만듭니다.
  • 사용자가 ProgramUser로 Windows에 로그인하도록하여 미디어에 전혀 액세스 할 수 없도록하십시오.
  • 재생 응용 프로그램 ( Traktor )을 MediaUser로 실행 하여 프로그래머가 미디어를 재생할 수는 있지만 복사하거나 수정할 수는 없습니다.

이것은 완벽한 솔루션처럼 보이지만 한 가지 문제가 있습니다. 재생 응용 프로그램이나 기계가 충돌하는 경우 프로그래머는 합리적인 시간 내에 다시 실행할 수있는 유일한 사람입니다 (우리는 15kW FM 라디오 방송국이므로 가동 중지 시간이 큰 문제입니다). 그러므로 나의 딜레마는 ...

프로그래머가 암호를 모르는 사용자로서 재생 응용 프로그램을 시작할 수있게하려면 어떻게해야합니까?

답변:


32

sudo.bat

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

놀랍게도 재부팅이나 정전 후에도 암호를 다시 묻지 않습니다.


2
정답은 +1입니다. 나의 신은 그 보안 구멍입니다
Dave Cheney

진지하게 이것이 보안 취약점으로 알려지지 않은 이유는 무엇입니까? 이것이 왜 열려 있습니까?!
Marm0t

2
계정 암호가 자격 증명 관리자에 저장된 경우에만 작동하므로 OSX 또는 자격 증명을 저장하고 재사용 할 수있는 다른 시스템보다 더 이상 보안상의 허점이 아닙니다.
Mark Henderson

여전히 1 차 비밀번호를 알고 있어야하며 비밀번호가 변경되면 작동이 중지됩니다.
ivan_pozdeev

1

... 플래시 드라이브에 복사하거나 인터넷을 통해 전송할 수 있습니다.

이 기기에서 USB 플래시 드라이브, 인터넷 액세스 등을 비활성화하십시오.


0

이 문제를 해결할 수있는 몇 가지 방법이 있습니다. 우선 Traktor를 시작하는 작은 Windows 서비스를 작성하는 것이 더 어렵습니다. 따라서 ProgramUser는 새 Traktor 인스턴스를 서비스에 요청할 수 있으며 서비스는 MediaUser로 실행되므로 Traktor는 MediaUser로 시작됩니다.

로그인 할 때마다 Traktor를 시작하는 시작 바로 가기를 설정하는 것이 훨씬 더 쉬운 방법입니다. Windows 바로 가기를 사용하면 바로 가기 속성에서 해당 사용자의 자격 증명을 설정할 수 있습니다. 컴퓨터가 고장 나면 프로그래머는 로그인 만하면 MediaUser로 새로운 Traktor를 실행할 수 있습니다!

이 솔루션 중 하나가 도움이 되길 바랍니다.


본인과 다른 관리자는 소프트웨어 엔지니어이므로 문제가되지 않습니다. 또한 GPIO 입력을 위해 믹싱 보드를 모니터링하는 다른 서비스를 실행하므로 이미 수행중인 작업입니다. 이것은 훌륭한 아이디어입니다, 감사합니다!

0

DJ에 대한 미디어 사용자 프로세스를 시작하는 프로그램을 만들 수 있습니다. ProgramUser로 실행되도록 할 수 있습니다.

MediaUser의 비밀번호 / 자격 증명은 프로그램에 컴파일되어 비밀번호를 알고 있어야하지만 최종 사용자는이를 알 필요가 없습니다. "트랙터 재시작"이라는 버튼이나 프로그램 만 있으면 모든 작업을 수행 할 수 있습니다.

다음은 프로세스의 C # 예제입니다. 유일한 변경 사항은 자격 증명을 하드 코딩하여 DJ가 볼 수 없도록하는 것입니다.


이것은 기본적으로 내가 제안하려고하는 것이지만 모호함을 통한 보안이라는주의 사항이 있습니다. 최종 사용자가 procmon 또는 procexp의 사본을 찾아서 실행할 수 있으면 아무런 문제없이 비밀번호를 얻을 수 있습니다.
Ryan Bolger

@Ryan :이 상황에서 procmon 또는 procexp에서 암호를 어떻게 얻습니까? 프로세스가 실행되는 사용자 이름을 얻을 수 있지만 자격 증명을 얻을 수 있다고 생각하지 않았습니다. 나는 그 개정을 이해합니다. 하드 코딩 된 암호로 실행 파일을 엔지니어링하면 암호가 아닌 다른 정보를 어떻게 얻을 수 있습니까?

0

Steel RunAs를 살펴보십시오. 다른 대안이 그럴듯 해 보이지 않을 때 SysAdmin 경력에서 여러 스크립트에 사용했습니다. 확실히 편리합니다. 저장된 자격 증명을 암호화하는 실행 파일을 생성합니다. 결합


0

이상적인 상황은 별도의 GUI를 사용하여 Traktor를 서비스로 실행하도록 수정하는 것입니다. 이렇게하면 최상의 보안 옵션을 얻을 수 있습니다. Traktor는 올바른 자격 증명을 가진 사용자로 실행되며 아무도 자신의 자격 증명을 알 필요가 없으며 암호를 다시 입력하여 다시 시작할 필요가 없습니다. 실제로 서비스 스냅인에서 충돌이 발생하면 자체적으로 다시 시작할 수 있습니다.

Traktor를 구동하기위한 GUI는 사용자가 스스로 실행하는 자체 애플리케이션으로 작성되며, TCP / IP, RPC, 공유 메모리 또는 기타 IPC를 통해 Traktor 서비스에 메시지를 전송하여 사용자가 원합니다. 크로스 네트워크 프로토콜 (예 : TCP / IP)을 사용하여 GUI 작업을 수행 한 경우 사용자는 워크 스테이션에 로그인 할 수 있으며 traktor 서비스는보다 우발적 인 재부팅을 막기 위해보다 안정적인 서버에서 실행될 수 있습니다. 당신이 좋다면, 대신 Traktor를 구동하기 위해 웹 응용 프로그램을 작성할 수 있습니다 (즉, 웹 서버가 메시지를 서비스에 보냅니다). 사용자는 집에서 스테이션을 실행할 수 있습니다!

traktor 서비스는 로그인 할 필요없이 서버에서 시작됩니다.


흥미로운 아이디어이지만 Traktor는 매우 독점적이며 실제로 API가 없습니다. 유일한 통합 지점은 MIDI, 전송 키 및 VST 플러그인입니다. Traktor가 사용자 정의 UI가있는 서비스 기반 재생 엔진으로서의 아이디어는 차트 및 재생 목록 작성과 같은 것을 처리하는보다 강력한 사용자 정의 UI를 살펴보면 매력적입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.