Windows“ Run As” โดยไม่ทราบรหัสผ่าน


13

เรากำลังติดตั้งระบบสื่อดิจิทัลที่สถานีวิทยุวิทยาลัยที่ฉันทำงาน เรากำลังพยายามให้โปรแกรมเมอร์ (อ่าน; ดีเจไม่ใช่ผู้เข้ารหัส) เข้าถึงเพลงโดยไม่อนุญาตให้พวกเขาคัดลอกไฟล์ใด ๆ ลงในแฟลชไดรฟ์หรือถ่ายโอนเพลงผ่านอินเทอร์เน็ต

เรากำลังทำงานบนระบบ Windows (Windows XP สำหรับเครื่องไคลเอนต์และ Windows Server 2008 สำหรับเซิร์ฟเวอร์สื่อ) ความคิดของฉันคือสิ่งนี้

  • สร้างผู้ใช้ (ProgramUser) ที่ไม่มีสิทธิ์เข้าถึงสื่อดิจิทัลทั้งหมด
  • สร้างผู้ใช้ (MediaUser) ที่มีสิทธิ์เข้าถึงแบบอ่านอย่างเดียวกับสื่อดิจิทัลที่โปรแกรมเมอร์ไม่รู้อะไรเลยและไม่ทราบรหัสผ่าน
  • ให้ผู้ใช้ลงชื่อเข้าใช้ Windows ในฐานะผู้ใช้ ProgramUser โดยไม่ให้ผู้ใช้เข้าถึงสื่อใด ๆ
  • เรียกใช้แอปพลิเคชั่นการเล่นของเรา ( Traktor ) ในฐานะ MediaUser ทำให้โปรแกรมเมอร์สามารถเล่นสื่อ แต่ไม่คัดลอกหรือแก้ไข

ดูเหมือนว่าเป็นโซลูชั่นที่สมบูรณ์แบบ แต่ก็มี gotcha อยู่หนึ่งอัน หากแอปพลิเคชั่นเล่นหรือเครื่องขัดข้องโปรแกรมเมอร์เป็นบุคคลเดียวที่สามารถให้มันทำงานอีกครั้งในเวลาที่เหมาะสม (เราเป็นสถานีวิทยุ 15 kW FM ดังนั้นการหยุดทำงานจึงเป็นเรื่องใหญ่) ดังนั้นภาวะที่กลืนไม่เข้าคายไม่ออกของฉัน ...

ฉันจะให้โปรแกรมเมอร์สามารถเริ่มต้นแอปพลิเคชันการเล่นของเราในฐานะผู้ใช้ที่พวกเขาไม่ทราบรหัสผ่านได้อย่างไร

คำตอบ:


32

sudo.bat

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

น่าแปลกใจที่มันจะไม่ถามรหัสผ่านอีกครั้งแม้หลังจากรีบูตหรือไฟฟ้าขัดข้อง


2
+1 สำหรับคำตอบที่ถูกต้อง พระเจ้าของฉันเป็นที่เจาะรู
Dave Cheney

อย่างจริงจังนี้ไม่รู้จักว่าเป็นช่องโหว่ความปลอดภัยได้อย่างไร ทำไมถึงเปิดอยู่!
Marm0t

2
ฉันค่อนข้างแน่ใจว่าจะใช้งานได้ก็ต่อเมื่อรหัสผ่านสำหรับบัญชีได้รับการบันทึกในตัวจัดการข้อมูลประจำตัวดังนั้นจึงไม่ใช่ช่องโหว่ด้านความปลอดภัยมากกว่าใน OSX หรือระบบอื่น ๆ ที่สามารถบันทึกข้อมูลรับรองและนำมาใช้ใหม่ได้
มาร์คเฮนเดอร์สัน

คุณยังต้องรู้รหัสผ่านในครั้งแรกและจะหยุดทำงานหากมีการเปลี่ยนแปลง
ivan_pozdeev

1

... โดยไม่อนุญาตให้คัดลอกไฟล์ใด ๆ ไปยังแฟลชไดรฟ์หรือถ่ายโอนผ่านอินเทอร์เน็ต

ปิดใช้งานแฟลชไดรฟ์ USB การเข้าถึงอินเทอร์เน็ตและอื่น ๆ บนเครื่องเหล่านี้


0

มีสองวิธีที่ฉันสามารถนึกถึงเพื่อหลีกเลี่ยงปัญหานี้ อันดับแรก (และยากกว่า) คือการเขียนบริการ windows เล็ก ๆ ที่เปิดตัว Traktor ดังนั้น ProgramUser สามารถขอบริการสำหรับอินสแตนซ์ Traktor ใหม่และบริการกำลังทำงานเป็น MediaUser เพื่อให้ Traktor เปิดใช้งานเป็น MediaUser

ความเป็นไปได้อีกอย่างหนึ่งและง่ายกว่ามากคือการตั้งค่าทางลัดเริ่มต้นที่เรียกใช้ Traktor ในทุกการเข้าสู่ระบบ - ทางลัดของ Windows ช่วยให้คุณสามารถกำหนดข้อมูลประจำตัวของผู้ใช้ที่เหมาะสมในคุณสมบัติทางลัด หากคอมพิวเตอร์หยุดทำงานโปรแกรมเมอร์ก็ต้องเข้าสู่ระบบและพวกเขามี Traktor ใหม่ที่ทำงานเป็น MediaUser!

หวังว่าหนึ่งในโซลูชันเหล่านี้จะทำงานให้คุณ!


ตัวเองและผู้ดูแลระบบคนอื่นเป็นวิศวกรซอฟต์แวร์ดังนั้นสิ่งนี้จะไม่เป็นปัญหา นอกจากนี้เรายังเรียกใช้บริการอื่นที่ตรวจสอบบอร์ดผสมของเราสำหรับอินพุต GPIO ดังนั้นจึงเป็นสิ่งที่เราทำอยู่แล้ว นี่เป็นความคิดที่ยอดเยี่ยมขอบคุณ!

0

คุณสามารถสร้างโปรแกรมที่เริ่มกระบวนการของ MediaUser สำหรับดีเจ สิ่งนี้สามารถทำได้เพื่อให้มันทำงานเป็น ProgramUser

รหัสผ่าน / ข้อมูลประจำตัวสำหรับ MediaUser จะต้องรวบรวมในโปรแกรมเพื่อให้รู้รหัสผ่าน แต่ผู้ใช้ปลายทางไม่จำเป็นต้องรู้สิ่งนี้ พวกเขาต้องการเพียงแค่มีปุ่มหรือโปรแกรมที่ระบุว่า "Restart Tracktor" และสามารถทำงานได้ทั้งหมด

นี่คือตัวอย่าง C # ของกระบวนการ การเปลี่ยนแปลงเพียงอย่างเดียวนั้นเป็นการเข้ารหัสข้อมูลประจำตัวอย่างหนักดังนั้นดีเจจึงไม่เห็นพวกเขา


นี่เป็นสิ่งที่ฉันจะแนะนำ แต่ด้วยข้อแม้ว่ามันมีความปลอดภัยผ่านความสับสน หากผู้ใช้สามารถค้นหาและเรียกใช้สำเนาของ procmon หรือ procexp พวกเขาจะสามารถรับรหัสผ่านได้อย่างไม่มีปัญหา
s

@ Ryan: คุณจะรับรหัสผ่านจาก procmon หรือ procexp ในสถานการณ์นี้ได้อย่างไร คุณสามารถรับชื่อผู้ใช้ที่กระบวนการทำงานอยู่ แต่ฉันไม่คิดว่าคุณจะได้รับข้อมูลรับรอง ฉันเข้าใจการหมุนรอบนั้น วิศวกรรมการปฏิบัติการด้วยรหัสผ่านฮาร์ดโค้ดจะทำ แต่นอกเหนือจากนั้นคุณจะได้รับข้อมูลนี้ได้อย่างไร?

0

ดูที่ Steel RunAs ฉันใช้มันกับหลาย ๆ สคริปต์ในอาชีพ SysAdmin ของฉันเมื่อไม่มีทางเลือกอื่นที่เป็นไปได้ มันมีประโยชน์แน่นอน มันสร้างไฟล์ที่ปฏิบัติการได้ซึ่งมันจะเข้ารหัสข้อมูลรับรองที่เก็บไว้ การเชื่อมต่อ


0

สถานการณ์ที่เหมาะจะให้คุณปรับเปลี่ยน Traktor ให้ทำงานเป็นบริการโดยใช้ GUI แยกกัน สิ่งนี้จะให้ทางเลือกการรักษาความปลอดภัยที่ดีที่สุดแก่คุณ - Traktor จะทำงานในฐานะผู้ใช้ที่มีข้อมูลประจำตัวที่ถูกต้องและไม่มีใครต้องการทราบว่าพวกเขาคืออะไรหรือต้องการพิมพ์รหัสผ่านเพื่อเริ่มต้นใหม่ ในความเป็นจริงคุณสามารถทำให้มันรีสตาร์ทตัวเองหากมันล้มเหลวในบริการ snapin

GUI ของคุณในการขับเคลื่อน Traktor จะถูกเขียนเป็นแอปพลิเคชันของตัวเองที่ผู้ใช้ทำงานเป็นตัวเองมันจะส่งข้อความไปยังบริการ Traktor (ผ่าน TCP / IP, RPC, หน่วยความจำที่ใช้ร่วมกันหรือ IPC ในรูปแบบอื่น ๆ ) ผู้ใช้ต้องการ หากคุณทำให้ GUI ทำงานโดยใช้โปรโตคอลข้ามเครือข่าย (เช่น TCP / IP) จากนั้นผู้ใช้สามารถเข้าสู่เวิร์กสเตชันของเธอและบริการ traktor สามารถทำงานบนเซิร์ฟเวอร์ที่เชื่อถือได้มากขึ้นอาจถูกล็อคอยู่เพื่อป้องกันการรีบูตโดยไม่ตั้งใจ หากคุณดีคุณสามารถเขียนแอปพลิเคชันเว็บเพื่อขับ Traktor แทน (นั่นคือเว็บเซิร์ฟเวอร์จะส่งข้อความไปยังบริการ) และผู้ใช้ของคุณสามารถเรียกใช้สถานีจากที่บ้าน!

บริการ traktor จะเริ่มทำงานกับเซิร์ฟเวอร์โดยไม่จำเป็นต้องลงชื่อเข้าใช้


แนวคิดที่น่าสนใจ แต่ Traktor มีกรรมสิทธิ์มากและไม่มี API จริงๆ จุดรวมเพียงอย่างเดียวคือ MIDI, ส่งคีย์และปลั๊กอิน VST แม้ว่าแนวคิดของ Traktor ในฐานะเครื่องมือเล่นที่ให้บริการด้วย UI ที่กำหนดเองนั้นน่าสนใจเพราะเรามองหา UIs ที่กำหนดเองที่มีประสิทธิภาพมากขึ้นซึ่งจัดการสิ่งต่าง ๆ เช่นการสร้างแผนภูมิและการสร้างเพลย์ลิสต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.