iT邦幫忙

1

run as administrator是否有更安全的用法

ACE 2024-09-25 18:53:372649 瀏覽
  • 分享至 

  • xImage

公司電腦都有加入網域,預設一般user只有最低權限無法任意安裝或使用程式
某些程式安裝後,運行時會跳UAC認證要key管理者帳密
一般user的帳號,即便是電腦本機administrator群組我也不想讓他們加入
避免user自己安裝程式

目前方法都是寫一個run as administrator的bat檔案
指定程式以本機admin運行,只有第一次執行需要管理者權限而以
不過如果user去修改bat檔
或是將其他程式複製到bat檔的路徑並更名,也等於變相繞過權限
想請問下有甚麼方法可以讓run as administrator的使用比較安全呢?

看更多先前的討論...收起先前的討論...
想想看
A 程式 會需要 admin 才能執行
B 程式 卻不用 原因是什麼?
基本上都是系統設定
所以反過來
A 程式加權限讓 user 也能執行就好了
PIZZ iT邦新手 2 級 ‧ 2024-09-26 08:37:45 檢舉
.GPT大神開釋

使用 Task Scheduler(工作排程器)繞過 UAC 提示
如果程式必須要管理員權限才能正常執行,但你又不想每次都手動輸入密碼或按下 UAC 提示,你可以使用 Windows 的「工作排程器」來自動在高權限下啟動程式。這樣可以在保留 UAC 的情況下,讓指定的程式自動以管理員權限執行。
步驟:
打開「工作排程器」。
選擇「建立任務」。
在「一般」選項卡中,勾選「以最高權限運行」。
轉到「操作」選項卡,點選「新建」,並選擇要運行的程式。
建立後,可以從「工作排程器」或桌面快捷方式執行該任務。
ming9900 iT邦新手 4 級 ‧ 2024-09-26 08:37:46 檢舉
想安全,就不會方便。
想方便,就安全不了
想又方便又安全,大多要花$(而且花了錢,效果...)

一般程式大多不會要 本機 admin 權限。
要 admin 權限的程式,大多是有動到系統檔,或是 admin 的目錄存取之類的。
要問一下程式相關人員,為何執行需要這麼大的權限?
最簡單的方法
用 bat2exe 將BAT 檔 轉換成 exe檔,讓使用者無法觀看跟編輯BAT檔 內容
阿摔 iT邦新手 3 級 ‧ 2024-09-26 10:06:00 檢舉
SCCM之類的軟體安裝平台呢
PIZZ iT邦新手 2 級 ‧ 2024-09-26 10:16:22 檢舉
>>>bat2exe 將BAT 檔 轉換成 exe檔

然後USER要啟動這個exe就會跳出要輸入管理員帳密XDDDDD

之前有次也有想過這樣做看看,然後就出現這個尷尬的狀況...
DennisLu iT邦好手 1 級 ‧ 2024-09-26 13:25:22 檢舉
為什麼要 run as administrator,因為這個程式沒有給user執行權限。
安裝是admin要裝,使用是要給user使用。
如果你安裝好,要給user使用遇到要admin權限,
要朝向讓user具有權限正常執行,但保持user身分。

這要看你安裝的時候,軟體本身怎麼裝,是否適合讓一般user運行。
假設你裝在只有admin才能碰的條件,那user當然就會遇到這件事情。
了解一下,可以給user執行的軟體,一般裝在哪裡才對,或者是要授予那些檔案權限給user。
不同軟體的做法不同。
supermaxfight iT邦研究生 5 級 ‧ 2024-09-26 15:51:47 檢舉
User怎麼拿的到安裝程式?
ACE iT邦新手 4 級 ‧ 2024-09-27 15:56:52 檢舉
安裝程式都是我拿到,然後放到user電腦上後親自安裝的,試了些安裝選項,但運行時還是要權限。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
zero
iT邦好手 1 級 ‧ 2024-09-26 19:23:50
最佳解答

先說我不是走你的方案跑run as administrator的bat檔案

但是我曾經考慮過這個方案,而且問題還不少,

只提供一些作法給你參考

1.可以安裝在系統環境上的的軟體,電腦重開機使用者就能用的,那就放工作排程跑

2.run bat的時候,檢查一下檔案的HASH,請至少用SHA-256檢查,避免被換檔案偷渡

3.將你的bat做個簽章,讓使用者改了程式碼就不會動,避免被使用者亂改

4.用GPO將憑證簽章部屬下去,用簽章做一定程度的執行限縮

bat用來跑程式是沒問題,但是已經過時了,現在的環境不能只考慮程式會跑就好

還要考慮資安才行,建議Windows還是用Powershell來跑程式吧

ACE iT邦新手 4 級 ‧ 2024-09-27 15:50:29 檢舉

感謝解答!簽章部分我沒有搞過,我看下在AD怎麼部屬下去,謝謝提供方向

2
mathewkl
iT邦高手 1 級 ‧ 2024-09-25 19:12:34

要過UAC就是要admin,沒有解方
可以不用提權就能bypass UAC那每個駭客都會衝那個漏洞了XD

Agent/Agent less監看類型
資產管理系統、MDM、設施應用監視系統

從網路控管
防火牆的應用程式封鎖、DNS封鎖、網頁封鎖等

公司政策控管
下達不要亂搞的資訊設備使用規章要求遵守

2
Kailis
iT邦研究生 1 級 ‧ 2024-09-26 10:14:36

不是有很多程式, 像是runasadmin , cpau 之類的工具, 可以做到製作腳本,將帳密及執行程式的路徑都儲存在裡面, 提供給user去執行, user他們是改不了的.也就不會有你說的那些使用runas的問題了

0
rin0913
iT邦新手 5 級 ‧ 2024-09-30 12:56:27

電腦本機仍然會有 administrator 帳號,既然如此的話,寫一隻簡單的 api 搭配 ansible 戳 windows 用管理員帳號執行批次檔。

然後普通使用者就只需要給他一隻戳 api 的小腳本,他也沒辦法修改被管理員權限執行的 bat,因爲那個存放在管理員帳號下或甚至是遠端。

我要發表回答

立即登入回答