Featured image of post Active Directory

Active Directory

Windows Domain

Windows Domain adalah sebuah jaringan khusus yang berisi users dan computers yang diatur oleh pengelola atau admin dalam suatu organisasi. Organisasi yang dimaksud dapat berupa perusahaan, layanan masyarakat, sekolah atau perguruan tinggi, perbankan dll. Windows Domain berguna untuk mensentralisasikan administrasi dari objek-objek yang dimiliki suatu jaringan komputer Windows dalam sebuah repository bernama Active Directory (AD). Server yang menjalankan service Active Directory disebut dengan Domain Controller (DC).

Kelebihan yang didapatkan dengan menggunakan Windows Domain dan Active Directory adalah:

  • Identity Management yang Tersentralisasi: Seluruh users dalam suatu jaringan dapat dikonfigurasikan dengan mudah menggunakan AD.
  • Memudahkan pengelolaan Security Policies: Kita dapat melakukan konfigurasi security policies secara langsung dari Active Directory dan mengaplikasikannya ke users dan computers dalam suatu jaringan AD.

Active Directory Login via RDP

Untuk terhubung via RDP dengan user dan computer yang tergabung dalam AD, kita dapat meggunakan (contoh) command xfreerdp /u:THM\Administrator /p:Password321 /v:10.10.108.177 /cert:ignore. Perlu diperhatikan bahwa /u:THM\Administrator mengindikasikan bahwa kita ingin terhubung sebagai Administrator pada domain THM sedangkan /p:Password321 adalah user password dan /v:10.10.108.177 merupakan IP dari computer yang tergabung dalam domain yang dituju:

Administrator Login

Active Directory

Inti dari Windows Domain adalah Active Directory Domain Service (AD DS). Service ini seperti suatu katalog yang menyimpan semua informasi dari “Objects” yang terdapat pada jaringan AD itu sendiri. Object merupakan entitas yang mewakili resources yang terdapat pada jaringan AD.

AD Objects

Users

Users merupakan salah satu objek security principals, yang berarti bahwa mereka dapat melakukan autentikasi pada domain dan dapat diberikan privileges pada resources seperti files atau printers. Security principals adalah objek yang dapat melakukan tindakan-tindakan pada resources dalam suatu jaringan.

Users dapat direpresentasikan kedalam dua entitas:

  • People: Users dapat direpresentasikan sebagai seseorang dalam suatu organisasi yang membutuhkan akses ke jaringan, seperti pegawai atau karyawan suatu kantor.
  • Services: Users juga dapat direpresentasikan sebagai services seperti IIS atau MSSQL. Setiap service membutuhkan sebuah user untuk dapat berjalan, tetapi service users berbeda dengan regular users karena service users hanya memiliki privileges yang dibutuhkan untuk menjalankan suatu service.

Machines

Setiap komputer yang tergabung dalam domain AD, akan direpresentasikan sebagai machines object. Machines juga dapat dikatakan sebagai “security principals” dan diberikan sebuah akun seperti regular user. Akun ini diberikan hak terbatas dalam domain tersebut.

Machine accounts itu sendiri merupakan local administrator pada suatu komputer fisik, machine accounts tidak seharusnya dapat diakses oleh orang lain kecuali komputer itu sendiri. Namun, jika kita mengetahui passwordnya maka kita tetap dapat melakukan login.

💡 NOTE: Password yang dimiliki Machine Accounts akan secara otomatis melakukan rotasi dan biasanya password ini berupa 120 karakter random.

Mengidentifikasi machine account cenderung lebih mudah karena memiliki penamaan yang khusus. Machine account name adalah nama komputer ditambah dengan sebuah dollar sign $. Contohnya, sebuah komputer dengan nama DC01 akan memiliki machine account dengan nama DC01$.

Security Groups

Pada Windows kita dapat membuat sebuah user groups yang memiliki akses ke resources yang tersedia, dibandingkan dengan memberikan akses ke user yang dipilih satu persatu. Ini dapat mempermudah pengelolaan karena kita dapat menambahkan suatu user ke suatu grup dan user tersebut akan mendapat privileges yang sama dengan anggota satu grupnya. Security Groups juga termasuk sebagai security principals karena memiliki privileges terhadap resources yang tersedia.

Groups dapat beranggotakan baik users maupun machines. Jika diperlukan, groups juga dapat beranggotakan group lainnya.

Beberapa groups dibuat secara default dalam suatu domain yang dapat digunakan untuk memberikan privileges yang spesifik kepada users. Sebagai contoh, berikut beberapa groups penting yang terdapat dalam suatu domain:

  • Domain Admins: Memiliki privileges terhadap keseluruhan domain. Secara default, domain admins dapat mengelola seluruh komputer dalam suatu domain, termasuk Domain Controllers.
  • Server Operators: Memiliki privileges untuk mengelola Domain Controllers. Mereka tidak dapat mengubah pengelolaan group membership apapun.
  • Backup Operators: Memiliki privileges untuk mengelola file apapun dengan mengabaikan permission-nya. Mereka ditugaskan untuk melakukan backup data pada computers.
  • Account Operators: Memiliki privileges untuk membuat dan memodifikasi akun lainnya dalam domain.
  • Domain Users: Seluruh user accounts dalam domain.
  • Domain Computers: Seluruh computers dalam domain.
  • Domain Controllers: Seluruh Domain Controller dalam domain.

Active Directory security groups

Active Directory Users and Computers

Untuk mengelola users, groups maupun machines dalam AD, kita dapat login ke Domain Controller dan menjalankan Active Directory Users and Computers dari start menu:

Active Directory Users and Computers

Ini akan membuka sebuah window di mana kita dapat melihat hierarki dari users, computers dan groups yang terdapat dalam domain. Biasanya object tergabung dalam Organizational Units (OUs) yang merupakan sebuah container untuk mengelompokkan users dan machines. OU biasanya digunakan untuk mendefinisikan sejumlah users dengan policy yang sama. Adapun policy adalah suatu konfigurasi yang dapat diaplikasikan pada objects. Contohnya adalah terdapat policy yang digunakan untuk mengatur jumlah karakter minimum password users. OU mempermudah policy untuk dapat diaplikasikan ke kelompok yang spesifik, seperti pegawai Sales department mungkin diberikan policy yang berbeda dengan pegawai IT department.

💡 NOTE: Sebuah user hanya dapat menjadi bagian dari satu buah OU pada satu waktu karena mengaplikasikan 2 atau lebih sekumpulan policies ke suatu user dapat berpotensi mengakibatkan tumpang tindih policies, namun satu atau lebih OU dapat menjadi anggota dari OU lainnya (parent and child OUs).

Pada contoh berikut, terdapat suatu OU bernama THM yang memiliki 5 child OUs yaitu IT, Management, Marketing, Research and Development dan Sales. OU biasanya direpresentasikan sesuai dengan struktur bisnis karena biasanya dibutuhkan policies yang berbeda untuk tiap department:

Organizational Units

Default Containers

Terdapat beberapa builtin containers yang dimiliki oleh suatu Domain, beberapa di antaranya adalah:

  • Builtin: Berisi default groups yang tersedia untuk Windows host apapun.
  • Computers: Machine apapun yang tergabung dalam domain.
  • Domain Controllers: OU default yang berisi Domain Controllers yang tergabung dalam domain.
  • Users: Users default dan groups yang tergabung dalam domain.
  • ForeignSecurityPrincipals: Security principals, yang dibuat ketika object (users, computers, atau groups) ditambahkan ke beberapa domain group, tetapi berasal dari trusted external domains.
  • Managed Service Accounts: Service accounts yang tergabung dalam domain.

Default Containers

OU Members

Jika kita memilih suatu OU, maka akan muncul list nama dan tipe dari member yang dimiliki OU tersebut, seperti contohnya OU IT memiliki 3 users dengan nama Claire, Mary dan Phillip:

Member OU

Add OU

Untuk menambahkan OU, right-click parent object, pilih New lalu pilih Organizational Unit:

Add OU

Kemudian masukkan nama OU yang ingin dibuat lalu pilih OK:

Group Computer - 2

Delete OU

Untuk menghapus OU, pertama kita harus meng-enable Advanced Features:

Delete OU - 1

Lalu memilih OU yang akan dihapus, right-click dan pilih Properties:

Delete OU - 2

Selanjutnya matikan opsi Protect object from accidental deletion:

Delete OU - 3

Lalu pilih Apply:

Delete OU - 4

Setelah itu right-click OU yang ingin dihapus, kemudian pilih Delete:

Delete OU - 5

Terakhir, pilih Yes:

Delete OU - 6

Security Groups vs OUs

  • OUs biasa digunakan untuk mengaplikasikan policies dan konfigurasi spesifik ke users dan computers sesuai pada role mereka masing-masing. Satu user hanya dapat tergabung ke dalam satu OU karena tidak masuk akal untuk mengaplikasikan 2 atau lebih policies sets ke suatu user (berpotensi tumpang tindih).
  • Security Groups biasa digunakan untuk memberikan permission terhadap resources. Contohnya, kita dapat menggunakan groups untuk mengizinkan beberapa users untuk dapat mengakses shared folder pada network printer. Sebuah user dapat tergabung dalam beberapa groups, yang mungkin membutuhkan akses ke beberapa resources.

AD Management

AD Users

Add User

Berikut contoh untuk menambahkan user pada OU Sales. Right-click pada OU yang diinginkan, lalu pilih New dan pilih User:

Add User - 1

Setelah itu isi user detail lalu pilih Next:

Add User - 2

Lalu masukkan password dan confirm password, kemudian pilih Next:

Add User - 3

Jika dirasa sudah sesuai, pilih tombol Finish:

Add User - 4

Kemudian cek bahwa user baru telah berhasil ditambahkan ke OU:

Add User - 5

Delete User

Right-click pada user yang ingin dihapus, lalu pilih Delete:

Delete User - 1

Kemudian pilih Yes untuk menghapus user:

Delete User - 2

Delegation

Delegation adalah sebuah proses untuk memberikan specific privileges ke user(s) untuk dapat melakukan advanced tasks terhadap OUs tanpa membutuhkan campur tangan Domain Administrator.

Contohnya memberikan privileges kepada OU IT Support untuk dapat melakukan password reset ke low-privileged users atau OU lainnya.

Pada contoh berikut, Phillip yang tergabung dalam OU IT akan didelegasikan kontrol untuk melakukan password reset terhadap OU Sales:

Right-click pada OU yang dituju yaitu OU Sales, lalu pilih Delegate Control:

Delegation - 1

Lalu pilih Next:

Delegation - 2

Pilih Add:

Delegation - 3

Pada Enter the object names to select, ketikkan nama Phillip lalu pilih Check Names agar nama yang kita masukkan merupakan nama yang valid:

Delegation - 4

Hal ini juga akan melakukan auto complete pada nama yang dimasukkan. Jika sudah sesuai, pilih OK:

Delegation - 5

Pilih Next:

Delegation - 6

Lalu pilih kontrol yang akan di delegasikan ke Phillip, yaitu kontrol Reset user passwords and force password change at next logon, lalu pilih Next:

Delegation - 7

Terakhir, cek seluruh settings dan pilih Finish:

Delegation - 8

Untuk memeriksa apakah kontrol sudah didelegasikan kita akan login RDP sebagai Phillip dengan command xfreerdp /u:THM\phillip /p:Claire2008 /v:10.10.108.177 /cert:ignore:

phillip Login

Logged in sebagai phillip:

Phillip Login - 1

Karena Phillip tidak dapat membuka Active Directory Users and Computers, maka kita harus menggunakan PowerShell:

Phillip Login - 2

Untuk set reset password, pertama kita harus mengganti passwotf Sophie dengan password sembarang, contohnya P@ssw0rd dengan command Set-ADAccountPassword sophie -Reset -NewPassword (Read-Host -AsSecureString -Prompt 'New Password') -Verbose lalu masukkan P@ssw0rd pada prompt:

Set Password - 1

Selanjutnya set agar Sophie harus mengganti passwordnya saat login dengan command Set-ADUser -ChangePasswordAtLogon $true -Identity sophie -Verbose:

Set Password - 2

Setelah selesai coba login sebagai Sophie dengan menggunakan password P@ssw0rd dengan command xfreerdp /u:THM\sophie /p:P@ssw0rd /v:10.10.108.177 /cert:ignore:

sophie Login

Setelah memasukkan password, akan muncul tampilan untuk mengubah password, pilih OK:

Reset Password - 1.

Selanjutnya, sebagai Sophie masukkan password baru:

Reset Password - 2.

Jike berhasil, maka akan muncul notifikasi seperti berikut, lalu pilih OK:

Reset Password - 3

Logged in sebagai Sophie:

Reset Password - 4

AD Computers

Secara default, semua computers (kecuali Domain Controller) akan dikelompokkan dalam container bernama Computers. Biasanya terdapat beberapa computers seperti Laptop, PC dan Server:

Computers

Namun, biasanya merupakan best practice untuk memilah computers dan mengelopokkannya ke dalam beberapa OU. Berikut beberapa OU yang dapat membantu kita untuk mengelompokkan computers:

  • Workstations sesuai namanya yang berarti stasiun kerja, merupakan device yang dapat digunakan untuk pekerjaan sehari-hari dan aktivitas browsing normal. Device ini semestinya tidak boleh digunakan oleh privileged user untuk sign in dan melakukan aktivitas apapun di sesi aktifnya. Workstations sangat sering dijumpai di AD.
  • Servers merupakan server, komputer yang digunakan untuk menyediakan services ke users ataupun ke server lainnya. Merupakan komputer tersering kedua yang dapat dijumpai di AD.
  • Domain Controllers merupakan komputer yang digunakan untuk me-manage domain AD. DC merupakan komputer paling vital di AD, hal ini karena DC memuat hashed passwords dari seluruh akun di dalam suatu domain AD. DC merupakan komputer tersering ketiga yang dapat dijumpai di AD.

Group Computers

Computers tentunya dapat dimuat ke dalam beberapa groups dengan OU, pertama buat OU:

Group Computer - 1

Membuat OU untuk Workstations:

Group Computer - 2

Membuat OU untuk Servers:

Group Computer - 3

Pastikan kedua OU tersebut berhasil dibuat:

Group Computer - 4

Untuk memindahkan computers dapat dilakukan dengan drag-n-drop, selanjutnya pindahkan laptop dan PC ke OU Workstations dan pindahkan server ke OU Servers dan pilih Yes:

Group Computer - 5

Berikut members dari OU Workstations:

Group Computer - 6

Berikut members dari OU Servers:

Group Computer - 7

Group Policy Object (GPO)

Group Policy Object atau GPO adalah sejumlah pengaturan yang dapat diaplikasikan untuk OUs. GPO dapat memuat policies baik untuk users maupun computers. GPO didistribusikan via network share bernama SYSVOL, yang disimpan pada DC. Semua users dalam domain harusnya memiliki akses ke share ini untuk melakukan sinkronisasi GPOs seiring berjalannya waktu. SYSVOL share berada pada C:\Windows\SYSVOL\sysvol\ dari setiap DC yang berada pada network AD.

Diperlukan waktu sampai 2 jam bagi computers untuk melakukan sinkronisasi terhadap pembaruan GPOs. Namun jika sinkronisasi dibutuhkan saat itu juka, users dapat menjalankan perintah berikut pada PowerShell gpupdate /force.

Group Policy Management

Merupakan software yang digunakan untuk melakukan konfigurasi Group Policy, untuk membuka Group Policy Management dapat dilihat dari start menu:

GPO - 1

Group Policy Management akan menampilkan hierarki OU dalam AD, GPOs yang tersedia dan GPOs yang sudah diaplikasikan untuk tiap OU yang dipilih. Berikut kita dapat melihat 3 GPO yang sudah dibuat. Dari ketiganya, GPO Default Domain Policy dan GPO RDP Policy sudah diaplikasikan secara keseluruhan ke domain thm.local dan GPO Default Domain Controllers Policy sudah diaplikasikan ke OU Dmain Controllers.

💡 NOTE: GPO akan diaplikasikan ke OUs dan sub-OUs. Contohnya OU Sales akan tetap terpengaruh GPO Default Domain Policy karena OU Sales berada di bawah OU THM yang berada di bawah thm.local.

GPO - 2

Untuk menganalisa GPO lebih lanjut, kita dapat memilih GPO yang ingin di analisa. Contoh, pada tab Scope kita dapat mengetahui bahwa GPO Default Domain Policy diaplikasikan pada thm.local. Kita juga dapat mengaplikasikan Security Filtering untuk GPOs sehingga GPOs tersebut hanya diaplikasikan untuk specific users/computers di dalam sebuah OU. Secara default GPO akan diaplikasikan untuk Authenticated Users yang mencakup seluruh users/PCs:

GPO - 3

Tab Settings dapat memperlihatkan detail terkait suatu GPO.

💡 NOTE: Setiap GPO memiliki konfigurasi yang dapat diaplikasikan untuk computers dan konfigurasi yang dapat diaplikasikan untuk users.

Berikut tampilan dari tab Settings yang dimiliki GPO Default Domain Policy, dapat dilihat bahwasannya GPO ini hanya mengaplikasikan computers configurations dan tidak mengaplikasikan users configurations (untuk mendapatkan detail yang lebih jelas, pilih tombol show):

GPO - 4

Create User Configurations GPO

Untuk mengkonfigurasikan sebuah GPO, terlebih dahulu kita harus membuat GPO dalam Group Policy Objects lalu menerapkan GPO tersebut ke OU yang diinginkan. Pada contoh berikut, kita akan membuat sebuah GPO bernama Restrict Control Panel Access. GPO ini akan memblokir users agar tidak dapat membuka Control Panel. GPO akan diterapkan untuk OU Marketing, Management dan Sales. Berikut langkah-langkah yang harus dilakukan:

Right-click pada Group Policy Object lalu pilih New:

GPO - 5

Beri nama GPO sesuai dengan apa yang dilakukannya, lalu pilih OK:

GPO - 6

Kemudian right-click pada GPO yang baru dibuat dan pilih Edit:

GPO - 7

Lalu Group Policy Management Editor akan terbuka, navigasi ke User ConfigurationPoliciesAdministrative TemplateControl Panel lalu right-click pada Prohibit access to Control Panel and PC settings kemudian pilih Edit:

GPO - 8

Pilih Enabled lalu pilih Apply:

GPO - 9

Cek kembali GPO yang telah dimodifikasi pastikan bahwa State menunjukkan Enabled:

GPO - 10

Selanjutnya drag-n-drop GPO ke OU yang dituju, yaitu OU Marketing, Management dan Sales:

GPO - 11

Pastikan kembali bahwa GPO yang dipilih sudah diaplikasikan ke OU yang sesuai:

GPO - 12

Untuk membuktikan ini, kita dapat masuk ke akun Mark yang merupakan member dari OU Marketing melalui RDP dengan command xfreerdp /u:THM\Mark /p:M4rk3t1ng.21 /v:10.10.72.164 /cert:ignore:

GPO Mark - 1

Setelah berhasil login, buka PowerShell lalu sinkronisasi akun Mark dengan GPO yang diperbarui dengan command gpupdate /force:

GPO Mark - 2

Selanjutnya buka Control Panel:

GPO Mark - 3

Dan akses Control Panel yang dimiliki Mark akan diblok oleh GPO:

GPO Mark - 4

Create Computer Configurations GPO

Pada contoh berikut, kita akan membuat GPO yang akan melakukan lock screen jika tidak ada aktivitas dalam 5 menit terakhir. GPO ini akan diberi nama Auto Lock Screen. GPO ini akan diaplikasikan untuk OU Workstations, Servers dan Domain Controllers. Namun, karena ketiga OU yang dituju adalah child dari root domain thm.local maka GPO akan diaplikasikan ke root domain. GPO ini nantinya akan mempengaruhi OUs dan sub-OUs dibawah root domain.

GPO ini tidak akan mempengaruhi OU seperti Sales atau Marketing karena OU tersebut hanya memiliki anggota berupa users bukan berupa computers sehingga OU akan mengabaikan GPO ini. Berikut langkah-langkah yang dilakukan untuk membuat GPO ini:

Right-click pada Group Policy Objects lalu pilih New:

GPO - 13

Masukkan nama GPO yang sesuai lalu pilih OK:

GPO - 14

Right-click pada GPO yang baru dibuat dan pilih Edit:

GPO - 15

Lalu navigasi ke Computer ConfigurationPoliciesWindows SettingsSecurity SettingsLocal PoliciesSecurity Options lalu right-click pada Interactive logon: Machine inactivity limit dan pilih Properties:

GPO - 16

Pilih Define this policy setting lalu masukkan 300 detik (custom) sehingga computer yang tidak aktif dalam 5 menit akan di-lock, kemudian pilih Apply:

GPO - 17

Berikutnya, cek kembali GPO yang sudah dikonfigurasi:

GPO - 18

Aplikasikan GPO ke root domain thm.local dengan melakukan drag-n-drop GPO ke root domain, lalu pilih OK:

GPO - 19

Terkhir, cek kembali GPO yang sudah diaplikasikan:

GPO - 20

Lakukan gpupdate untuk melakukan sinkronisasi GPO dengan memasukkan command gpupdate /force pada PowerShell:

GPO - 21

Edit GPO

GPO “Default Domain Policy” merupakan konfigurasi standar yang seharusnya diaplikasikan di sebagian besar domains, di dalamnya terdapat policy yang mengatur tentang password dan account lockout:

GPO - 22

Karena GPO ini diaplikasikan ke keseluruhan domain, maka tiap perubahan pada GPO tersbut akan berpengaruh terhadap seluruh computers. Pada contoh berikut, kita akan mencoba untuk mengubah Minimum password length menjadi 10 characters.

Pertama, right-click pada GPO yang ingin diubah lalu pilih Edit:

GPO - 23

Hal ini akan membuka suatu window baru bernama Group Policy Management Editor. Selanjutnya pilih Computer ConfigurationsPoliciesWindows SettingSecurity SettingsAccount PoliciesPassword Policy lalu right-click pada Minimum password length dan pilih Properties:

GPO - 24

Lalu masukkan panjang password yang sesuai, lalu pilih Apply:

GPO - 25

Pilih OK:

GPO - 26

Cek kembali policy yang telah diubah:

GPO - 27

Untuk memeriksa policy lebih detail, kita bisa melihat keterangan policy pada tab Explain:

GPO - 28

References

TryHackMe | Active Directory Basics

Dibangun dengan Hugo
Tema Stack dirancang oleh Jimmy