Latar Belakang
Kebanyakan perangkat instalasi memiliki kemampuan untuk meluncurkan, secara otomatis atau sebaliknya, program eksternal setelah instalasi. Ini sering muncul di installer melalui opsi seperti "Show readme", atau "Start program".
Isu
Masalahnya adalah, banyak dari penginstal ini yang berkode buruk, dan tidak menjatuhkan izin dengan tepat. Misalnya, memulai aplikasi secara otomatis, atau membuka beranda aplikasi di browser, sering kali menghasilkan peluncuran aplikasi atau browser dengan hak administratif Administratif installer, atau tingkat integritas UAC "Tinggi"!
Ini memiliki potensi untuk membuka pelanggaran keamanan, dengan membuka aplikasi yang diinstal, atau halaman web (dan mungkin add-on browser), yang sekarang berjalan dengan izin yang lebih tinggi.
(Inilah alasan saya sangat menyarankan untuk tidak memilih opsi luncurkan otomatis saat menginstal perangkat lunak.)
Pertanyaan
Apakah ada cara untuk mencegah aplikasi tertentu (seperti browser web) agar tidak pernah diluncurkan dengan hak administratif, yaitu, hak istimewa drop-otomatis berdasarkan nama proses?
Jawaban:
Saya setuju, pada prinsipnya, dengan jawaban "RUNAS".
Tampak bagi saya bahwa apa yang Anda inginkan adalah instance sub-proses dibatasi secara otomatis jika berjalan sebagai admin.
Ada beberapa pendekatan. Namun, mereka / bisa drastis dan tidak untuk admin yang malu-malu karena overhead mengganggu. Mereka akan melakukan pekerjaan itu.
Hanya menampilkan satu Pendekatan kecuali diminta lebih banyak :
Untuk setiap aplikasi yang ingin Anda batasi:
Sekarang, anggota grup administrator tidak dapat menjalankan file itu. Mereka dapat kembali dan mengubah izin untuk tidak mencentang sehingga mereka dapat menjalankannya, tetapi mereka harus melakukannya dengan sadar.
Juga, karena Anda khawatir tentang hal ini terjadi selama installer, Anda ingin melakukan prosedur yang sama untuk "pengguna" SISTEM , yang juga (secara efektif) berjalan sebagai admin, karena akun ini dapat digunakan selama beberapa instalasi ( kredensial akun Windows "ADMIN" dapat digunakan untuk mendapatkan token kredensial SISTEM ... tapi ini jauh melampaui apa yang ditargetkan oleh pertanyaan ini).
Berikut adalah beberapa gambar untuk melakukan ini di windows 7:
sumber
Anda harus dapat mencapai level hak yang lebih rendah dengan dropmyrights atau psexec.
Bagian yang sulit tampaknya adalah mewujudkannya secara otomatis ketika installer menginstal instance aplikasi baru.
Untuk itu saya curiga Anda setidaknya perlu mengubah asosiasi file untuk semua jenis file yang relevan dan juga untuk URL, dengan menambahkan perintah yang ada dengan perintah psexec misalnya.
Itu akan berfungsi selama installer mencoba untuk membuka file / url dengan aplikasi terkait daripada menentukan yang dapat dieksekusi untuk dijalankan. Jika path executable ditentukan secara eksplisit, saya kira Anda perlu mengganti executable standar dengan shim executable yang menjalankan perintah yang Anda inginkan.
sumber
Satu hal yang sedang dilewatkan di sini adalah bahwa Internet Explorer dan Windows Explorer TIDAK BISA memiliki izin mereka meningkat (kecuali jika Anda melakukan peretasan registri). Saya tidak tahu tentang Firefox, Chrome, dll. Tetapi jika Anda mencoba menjalankan Internet Explorer sebagai admin, ia akan dengan senang hati menerima kredensial Anda tetapi sebenarnya tidak akan meningkatkan izin. Ini adalah fitur keamanan Windows Vista dan yang lebih tinggi. Dan selain itu, satu-satunya cara UAC tidak berlaku (kecuali jika Anda mematikannya) adalah jika Anda masuk ke akun administrator bawaan. Hanya karena ada sesuatu yang diinstal dengan izin yang tinggi, itu tidak berarti installer dapat memberikan izin yang lebih tinggi pada program itu. Izin ditentukan oleh akun tempat program dijalankan. Satu-satunya cara program dapat dijalankan dengan izin tinggi tanpa Anda sadari adalah jika,
sumber
Penjelasan / Langkah demi Langkah
Klik kanan pada command prompt dan pilih run as administrator Type:
Pilih tingkat kepercayaan yang sesuai untuk menjalankan aplikasi Anda, di mana
X
tingkat kepercayaan yang ingin Anda gunakan dan ketik:sumber
saya melihat ke solusi yang berbeda dan saya sudah bisa memberi tahu Anda bahwa manifes aplikasi atau flag appcompat tidak akan berfungsi (ya itu bukan jawaban nyata tetapi saya masih ingin membagikan ini;))
apa yang mungkin dekat dengan apa yang Anda cari adalah tingkat integritas yang disebut , itu dapat diatur dalam filesystem (ACL) dan memiliki efek pada token proses yang dipegang
artikel ini menjelaskan bagaimana Anda membuat exe selalu dijalankan pada "tingkat integritas rendah"
pendekatan lain akan menjadi alat pihak ketiga, seperti monitor proses nyata pemindai virus atau firewall aplikasi akan digunakan, tetapi saya tidak tahu ada yang dapat dikonfigurasi dengan cara itu.
sumber
Anda dapat menggunakan AppLocker.
Saya percaya ini tersedia di Windows 7 Enterprise, Ultimate dan Server 2K8 ke atas. Tidak yakin tentang Windows 8 tetapi akan menganggapnya sama (Enterprise dan Ultimate).
Anda dapat mengatur AppLocker dengan masuk ke kebijakan grup:
Konfigurasi Komputer -> Pengaturan Windows -> Pengaturan Keamanan -> Kebijakan Kontrol Aplikasi -> AppLocker -> Aturan yang Dapat Dilakukan.
Klik kanan dan "Buat Aturan baru ..."
Di sini Anda dapat memblokir eksekusi yang tidak dapat dijalankan oleh pengguna atau grup tertentu. Dalam contoh Anda, Anda dapat memilih untuk menolak eksekusi Internet Explorer oleh grup Administrator.
sumber