Bagaimana cara mengelola Windows seperti Linux / Unix: hak administratif berdasarkan keanggotaan grup tanpa kecelakaan dan tanpa berbagi kata sandi Administrator?

8

Saya membuat beberapa perubahan mendasar ke lingkungan Windows Server 2003/2008. Di sisi Unix, kendala keamanan saya sederhana:

  1. Pengguna yang harus memiliki hak admin berada dalam grup khusus ("roda" atau serupa).
  2. Ketika para pengguna masuk ke mesin-mesin itu, mereka masih tidak memiliki hak admin, sampai mereka secara eksplisit menjalankan perintah dengan hak admin tersebut ("perintah sudo" atau "su").
  3. Bahkan ketika mereka menjalankan perintah dengan "su" (semacam "runas"), mereka masih perlu memasukkan kata sandi: milik mereka.

Dalam sistem ini, saya dapat mengontrol siapa yang memiliki hak admin (berdasarkan keanggotaan grup), mencegah mereka mengeksekusi sesuatu secara tidak sengaja dengan hak admin secara tidak sengaja (dengan memerlukan "su" atau "sudo"), dan tidak pernah mengungkapkan inti "Administrator" (yaitu "root") kata sandi, karena mereka dimintai kata sandinya sendiri.

Bagaimana saya melakukan hal yang sama pada Windows Server? Pilihan yang saya lihat adalah:

  1. Tambahkan pengguna ke akun administrator lokal: Tetapi semua yang mereka lakukan adalah sebagai admin, beresiko kesalahan.
  2. Mengharuskan mereka untuk melakukan "runas Administrator": Tetapi kemudian mereka harus mengetahui kata sandi Administrator, yang tidak ingin saya bagikan.

Apakah ada solusi di mana saya dapat secara bersamaan: mengontrol siapa yang memiliki akses oleh keanggotaan grup; mencegah mereka secara tidak sengaja melakukan hal-hal yang merusak dengan memerlukan kata sandi terpisah; mencegah mereka mengetahui kata sandi Administrator?

Deitch
sumber

Jawaban:

8

Pertama, hanya administrator yang mendapatkan akses admin jadi kecuali ada alasan BESAR (saya tidak bisa memikirkan yang baik) mengapa mereka membutuhkannya, maka itu harus diserahkan kepada admin; ada saat-saat langka ketika pengguna biasa mendapat admin privs, dan bahkan kemudian saya biasanya skeptis tentang mengapa mereka membutuhkannya.

Kedua, Anda dapat mencapai apa yang ingin Anda lakukan dengan menggunakan Keanggotaan Grup di Windows. Anda tidak mengatakan bahwa Anda menggunakan Active Directory jadi saya tidak yakin apakah Anda memiliki domain dan melakukan itu, tetapi Anda dapat membuat Grup Keamanan dan menambahkan masing-masing akun pengguna ke dalamnya. Lihat disini. Saya tidak akan menambahkan pengguna ke grup administrator lokal di server secara individual karena ini akan berantakan dan sulit untuk dilacak, dan itu akan membuat banyak sakit kepala untuk Anda dan potensi masalah keamanan. Apa yang akan saya lakukan, seperti yang disebutkan di atas, adalah membuat Grup Keamanan dan menambahkan anggota yang Anda ingin memiliki akses admin ke grup ini. Anda akan membuat dua akun pengguna untuk pengguna Anda; satu untuk login biasa, dan kemudian akun ke-2 yang hanya digunakan untuk tindakan yang ditinggikan. Anda akan menambahkan akun pengguna "yang lebih tinggi / istimewa" ke dalam Grup Keamanan, maka, Anda dapat menempatkan grup ini dalam keanggotaan grup lokal yang lebih tinggi di server yang sebenarnya, misalnya Power Users. Ini akan memungkinkan mereka untuk melakukan banyak fungsi tanpa menjadi admin.

Sejauh Run As Administrator, Anda tidak harus melakukan itu sepanjang waktu. Cara terbaik untuk membuat orang lain menjalankan sesuatu tanpa mengetahui Administrator, atau administrator, kata sandi adalah dengan menggunakan Shift + Klik kanan dan kemudian pilih Jalankan sebagai pengguna yang berbeda, atau Klik kanan dan Jalankan sebagai Administrator. Pertama-tama Anda ingin membuat pengguna terpisah untuk mereka yang memiliki hak lebih tinggi, atau hak yang dinaikkan seperti yang disebutkan di atas (pengguna yang ditinggikan ini akan ditambahkan ke Grup Keamanan lagi seperti yang disebutkan di atas) karena kemudian pengguna ini dapat digunakan untuk menjalankan hal-hal yang memerlukan pengangkatan sementara login dengan akun pengguna normal / standar. Lihat tangkapan layar saya:

masukkan deskripsi gambar di sini

Itu harus mengurus apa yang ingin Anda lakukan sejauh menjalankan hal-hal seperti admin. Satu catatan terakhir yang mungkin saya tambahkan adalah untuk tetap mengaktifkan UAC. Jika Anda melakukan ini, pengguna harus mengetikkan kata sandi (terangkat) dan bukan kata sandi admin untuk hal-hal yang mereka lakukan di server. Ini adalah rasa sakit ketika Anda harus mengetik banyak, tetapi untuk keamanan itu sangat berharga.

Brad Bouchard
sumber
ini persis seperti yang disarankan 2 lainnya. Anda benar, kami menjalankan AD, dan kami akan menambahkannya ke grup admin server, yang akan memiliki hak admin lokal.
Deitch
RE:, Run as Administratorkredensial administratif apa pun akan dilakukan. Jika akun yang Anda masuki tidak memiliki kredensial administratif, Anda akan diminta untuk nama pengguna dan kata sandi, dan dapat memasukkan akun administratif di sana. Posting Anda tidak benar-benar membuat ini jelas.
HopelessN00b
Dan dalam hal ini, saya sedang berbicara tentang sysadmin. Praktik keamanan yang baik adalah agar sysadmin tidak memiliki kata sandi akun produksi / sistem, hanya menjalankan sesuatu sebagai akun mereka sendiri. Saya ingin memperluas ini ke sysadmin.
Deitch
1
@ Deitch Yup, ini persis apa yang kita lakukan di $ [dayjob]. Semua orang IT memiliki akun pengguna normal dan akun administratif. Masuk ke segala sesuatu sebagai pengguna terbatas, dan jalankan Run as Administratoropsi untuk apa pun yang perlu ditinggikan. pengguna admin lokal tidak digunakan kecuali mereka harus (kepercayaan domain rusak, dll.)
HopelessN00b
2
@ HopelessN00bGeniusofnetwork, jadi RunAsAdministrator tidak berarti, "Jalankan sebagai akun Administrator", itu berarti "Jalankan sebagai akun yang memiliki hak Administrator, selama Anda dapat memberikan kredensial untuk akun tersebut"?
Deitch
5

Biarkan akun standar mereka sebagai 'standar'. Buat mereka akun kedua istimewa dan tambahkan ke berbagai grup Administratif. Gunakan 'runas' dengan akun istimewa. (Anda mungkin merasa berguna untuk menonaktifkan login interaktif dengan akun admin, tetapi sekali lagi - ini mungkin akan mengganggu).

Sobrique
sumber
1
Saya mengerti. Jadi, Anda memiliki 2 akun: Sobrique dan SobriqueA. SobriqueA diblokir dari masuk ke sistem apa pun di konsol / remote, hanya bisa melakukan runas. SobriqueA adalah anggota grup dengan hak istimewa admin. Pengguna logon sebagai Sobrique, lalu melakukan "runas SobriqueA" yang membutuhkan kata sandi SobriqueA, dan semua perintah tersebut dijalankan dengan hak admin penuh. Ini agak berbelit-belit, tetapi bisa lebih buruk.
Deitch
2
Itu betul.
Brad Bouchard
1
+1 untuk mengatasi menonaktifkan log masuk interaktif. Jika tidak, pengguna hanya akan login dengan kredensial administrator dan tunduk pada kekhawatiran OP tentang setiap tindakan sebagai admin.
Byron C.
4

Di Server 2003, Anda harus menggunakan Run As... opsi untuk menjalankan sebagai akun dengan hak administratif.

Dengan Server 2008+, Anda menggunakan UAC , dan / atau Run as Administratoropsi yang Anda sarankan. Ini tidak memerlukan mengetahui password untuk yang [lokal] rekening administratif - setiap kredensial administratif akan melakukan.

Jadi, Anda akan menambahkan akun mereka ke grup administrasi lokal, atau lebih baik, dari sudut pandang keamanan, membuat akun administratif terpisah dan menambahkannya ke grup administrasi lokal. Kemudian, ketika mereka perlu menjalankan sesuatu dengan hak administratif, UAC akan meminta kredensial administratif dan / atau mereka menggunakan opsi Run As.../ Run as Administrator.

HopelessN00b
sumber
Ini sangat mirip dengan jawaban @ sobrique. Jadi Win menganggap akun sebagai memiliki hak admin atau tidak? Dan tidak memiliki konsep "akun ini memiliki hak untuk menjalankan segala sesuatu sebagai admin jika secara eksplisit meminta dan mengautentikasi ulang"?
Deitch
1
Pada dasarnya tidak. Windows memiliki banyak hak keamanan - biasanya hak-hak itu diberikan kepada grup (karena per pengguna jahat). Keanggotaan grup memberikan hak. Apa yang biasa dilakukan adalah masuk menggunakan akun admin, karena mudah - tetapi itu tidak berarti itu benar. Kami memiliki akun pengguna lokal dan akun admin domain yang kami gunakan untuk masuk ke server manajemen (yang telah memasang berbagai alat manajemen Windows).
Sobrique
Anda dapat mengutak-atik 'secpol.msc' dan mengonfigurasikan profil hak khusus - memberikan akses ke grup 'tidak persis Administrator', dan menambahkan akun pengguna dasar ke dalamnya. Tapi Anda mungkin masih akan tersandung kebutuhan akan akun admin yang 'layak'.
Sobrique
1
@ Deitch Nah, pada dasarnya itulah yang diizinkan / diizinkan oleh UAC. Ini memungkinkan Anda untuk berjalan sebagai akun administratif, tetapi diminta untuk apa pun yang membutuhkan "peningkatan." (Otentikasi split-token.) Secara teknis bukan masalah Windows menciptakan dikotomi "Administrator atau bukan administrator", tetapi menjalankan sesuatu sebagai administrator adalah fitur umum yang diberikan opsi menu tertentu. Dalam kebanyakan kasus, opsi ini tidak sepenuhnya diperlukan (Anda selalu bisa berjalan sebagai pengguna lain, yang kebetulan menjadi administrator), tetapi lebih mudah untuk memiliki opsi menu di sana.
HopelessN00b
1
Nah, John masih akan perlu mengetahui mandat untuk sebuah akun administratif untuk menjalankan sesuatu sebagai administrator - hal itu tidak harus dengan account administrator.
HopelessN00b