신뢰할 수없는 로컬 사용자로부터 Mac Pro를 원격으로 보호하기위한 패닉 스크립트 작성


12

그 상황

워크 스테이션에서 "Shady Sam"관리자 액세스 권한을 부여하여 임시 루트 로그인 암호를 지정하여 Mac Pro에서 중요한 관리 작업을 수행 할 수 있습니다. ( 내 회사의 시스템 관리자 일 가능성 있다고 가정 해보십시오 .)

원격 위치 (예 : 집)에서 MacBook Pro 랩톱을 사용하여 Sam의 활동을 관찰하고 VNC (원격 데스크톱)를 통해 직접 작업을 수행하는 방법을 배웁니다.

경고없이 Shady Sam은 끔찍한 일을합니다! 어쩌면 그가 하드 드라이브에서 데이터를 삭제하거나 제한된 폴더 등을 들여다 보는 것을 보았을 것입니다. 별다른 일이 무엇이든간에 Shady Sam을 즉시 잠그고 원격 위치에서 컴퓨터를 최대한 안전하게 보호하고 싶습니다.

마우스와 키보드를 공유했기 때문에 원격 데스크톱 내에서 안정적으로 작업을 수행 할 수 없었습니다 (단, 연결을 닫을 수 있음). 스크립트를 작성하고 원격으로 실행해야합니다.

도전

내가 Shady Sam이 그의 나쁜 짓 하지 못하게하고 다시 시도하지 못하도록 원격으로 실행할 수 있는 가장 좋은 스크립트는 무엇입니까 (예 : panicScript.sh또는 panicScript.py) ?

나는 다음과 같은 방식으로 그것을 실행하는 것을 상상한다.

scp panicScript.sh remoteMachine:~/panicScript.sh
ssh remoteMachine . ~/panicScript.sh

가능한 특징들 :

다른 아이디어가 명시 적으로 권장됩니다!

  • remoteMachine에서 모든 / 모든 계정의 비밀번호 변경
  • 키보드 또는 마우스 비활성화
  • 모니터 비활성화
  • 기계를 재부팅

가정

그늘 샘은 어떤 방식으로 맥 프로 (Mac Pro)가 손상되거나 구성 요소를 제거 (예 : 물리적으로 하드 드라이브 또는 유선 네트워크 연결을 제거),하지만 그는하지 않습니다 다시 로그인을 시도하는 그의 비겁한 행동 가능한 한 빨리 계속합니다. Sam은 컴퓨터에 대한 무제한의 물리적 액세스 권한과 루트 로그인 비밀번호를 가지고 있습니다.

Mac Pro에 모니터, 키보드, 마우스, 외장 하드 드라이브 및 인터넷 용 이더넷 연결이 있다고 가정하십시오. 공통 영역의 네트워크 프린터로 인쇄 할 수 있다고 가정합니다. 재미를 위해 여러 동료의 워크 스테이션에 표준 사용자 계정이 있고 내 것과 동일하다고 가정합니다 (따라서을 통해 컴퓨터에 연결할 수 있음 ssh).

동료들이 일어 서서 서로 이야기 할 수 있도록 12 개의 야외 칸막이가 모여 있다고 가정 해 봅시다. 그러나 내 동료들은 일반적으로 Shady Sam이 과거에 여러 명의 사람들을 도왔으며 컴퓨터에 별다른 일을하지 않았기 때문에 내 컴퓨터에서 그를 보면 별 나지 않은 일을하고 있다고 의심하지 않습니다.

제약

공황 스크립트는 처음에 집에서 내 노트북에 있습니다. 당신은 할 수있는 scp내 컴퓨터에 거기를 실행하거나 집에서 내 노트북에서 직접 실행합니다. (응답을 지정하십시오!)

스크립트에서 수행 한 모든 작업은 원격 위치에서 나중에 다시 액세스 할 수 있도록 원격 위치에서 손상을 입히거나 되돌릴 수 있어야하며 Mac Pro의 표준 기능 / 명령이어야합니다.

스크립트는 컴퓨터에서 표준으로 제공되는 한 다른 스크립트 / 프로그램을 호출 할 수 있습니다. 명령 줄 스크립트 도구 (예 awk:)는 명령이 기본 스크립트 (예 :)에 포함되어 있으면 괜찮습니다 history | awk '{print $2}'. 이것은 사용 가능한 스크립팅 언어를 제한합니다.

스크립트 . ~/myOtherScriptOfKungFoo.sh내에서 생성하고 생성 된 스크립트가 32 자 미만인 경우를 제외하고 작성한 사용자 지정 스크립트 나 프로그램 (예 :)을 호출 해도 문제가 없습니다.

echo -e "#"'!'"/bin/bash\necho \"Hello, World\"" >> test.sh
chmod +x test.sh
. test.sh 

스크립트와 두 번 이상 상호 작용하지 않아도됩니다 (예 : 비밀번호 입력).

기준

스크립트는 짧아야하지만 (30 줄의 캡) 읽을 수 있어야합니다. 기본 기준은 철저 함, 독창적 인 기능 및 스타일이며 단순성보다 낫습니다.

궁극적으로 가장 많은 표가 승리합니다!


28
전문가 팁 : Shady Sam이라는 사람을 고용하지 마십시오.
Geobits

답변:


10

패닉 스크립트는 scp를 사용하여 원격 시스템 (Mac Pro)으로 전송 된 다음 실행해야합니다 (sudo 또는 입력이 필요하지 않음).

스크립트는 다음과 같습니다 (이것은 John Smith라고 가정합니다)

#!/bin/bash -m
f() {
 while true
 do
  pmset displaysleepnow
  sleep 0.1
 done
}
f&
while true
do
 osascript -e "set Volume 10"
 say -v Ralph "Stop Shady Sam now. He is trying to do something he is not allowed to."
 for n in {1..10};
 do
  afplay /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/Hit.aiff
  sleep 0.05
 done
 sleep 0.1
 say -v Ralph "This is John Smith speaking."
done

효율성을 극대화하려면 모든 사람이 문제를 인식하고 중지 할 수 있도록 방에있는 모든 단일 시스템에서이를 실행해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.