Praktik terbaik untuk mengamankan Layanan Federasi Direktori Aktif
Dokumen ini menyediakan praktik terbaik untuk perencanaan dan penyebaran Active Directory Federation Services (AD FS) dan Proksi Aplikasi Web yang aman. Ini berisi rekomendasi untuk konfigurasi keamanan tambahan, kasus penggunaan tertentu, dan persyaratan keamanan.
Dokumen ini berlaku untuk Layanan Federasi Direktori Aktif dan WAP di Windows Server 2012 R2, 2016, dan 2019. Rekomendasi ini dapat digunakan untuk jaringan lokal atau di lingkungan yang dihosting cloud seperti Microsoft Azure.
Topologi penyebaran standar
Untuk penyebaran di lingkungan lokal, kami merekomendasikan topologi penyebaran standar yang terdiri dari:
- satu atau beberapa server Layanan Federasi Direktori Aktif di jaringan perusahaan internal
- satu atau beberapa server Web Proksi Aplikasi (WAP) di DMZ atau jaringan ekstranet.
Di setiap lapisan, LAYANAN Federasi Direktori Aktif dan WAP, load balancer perangkat keras atau perangkat lunak ditempatkan di depan farm server, dan menangani perutean lalu lintas. Firewall ditempatkan, di depan alamat IP eksternal, dari load balancer sesuai kebutuhan.

Catatan
Layanan Federasi Direktori Aktif memerlukan Pengendali Domain yang dapat ditulis penuh untuk berfungsi dibandingkan dengan Pengendali Domain Read-Only. Jika topologi yang direncanakan menyertakan pengontrol domain Read-Only, pengendali domain Read-Only dapat digunakan untuk autentikasi tetapi pemrosesan klaim LDAP akan memerlukan koneksi ke pengontrol domain bisa-tulis.
Memperkuat server LAYANAN Federasi Direktori Aktif Anda
Berikut ini adalah daftar praktik dan rekomendasi terbaik untuk memperkuat dan mengamankan penyebaran Layanan Federasi Direktori Aktif Anda.
- Pastikan hanya Admin Direktori Aktif dan Admin Layanan Federasi Direktori Aktif yang memiliki hak admin untuk sistem Layanan Federasi Direktori Aktif.
- Kurangi keanggotaan grup Administrator lokal di semua server Layanan Federasi Direktori Aktif.
- Mengharuskan semua admin cloud menggunakan Autentikasi Multifaktor (MFA).
- Kemampuan administrasi minimal melalui agen.
- Batasi akses di jaringan melalui firewall host.
- Pastikan Admin Layanan Federasi Direktori Aktif menggunakan Admin Workstation untuk melindungi kredensial mereka.
- Tempatkan objek komputer server Layanan Federasi Direktori Aktif di unit organisasi tingkat atas yang juga tidak menghosting server lain.
- Semua GPO yang berlaku untuk server Layanan Federasi Direktori Aktif hanya boleh berlaku untuk mereka dan bukan server lain juga. Ini membatasi potensi eskalasi hak istimewa melalui modifikasi GPO.
- Pastikan sertifikat yang diinstal terlindungi dari pencurian (jangan simpan ini di berbagi di jaringan) dan atur pengingat kalender untuk memastikan sertifikat diperpanjang sebelum kedaluwarsa (autentikasi pemisahan sertifikat yang kedaluwarsa). Selain itu, sebaiknya lindungi kunci/sertifikat penandatanganan dalam modul keamanan perangkat keras (HSM) yang dilampirkan ke Layanan Federasi Direktori Aktif.
- Atur pengelogan ke tingkat tertinggi dan kirim log AD FS (& keamanan) ke SIEM untuk berkorelasi dengan autentikasi AD serta AzureAD (atau sejenisnya).
- Menghapus protokol & yang tidak perlu Windows fitur
- Gunakan kata sandi yang panjang (>25 karakter), kata sandi kompleks untuk akun layanan Ad FS. Sebaiknya gunakan Akun Layanan Terkelola Grup (gMSA) sebagai akun layanan, karena menghapus kebutuhan untuk mengelola kata sandi akun layanan dari waktu ke waktu dengan mengelolanya secara otomatis.
- Perbarui ke versi LAYANAN Federasi Direktori Aktif terbaru untuk peningkatan keamanan dan pengelogan (seperti biasa, uji terlebih dahulu).
Port diperlukan
Diagram di bawah ini menggambarkan port firewall yang harus diaktifkan antara dan di antara komponen penyebaran LAYANAN Federasi Direktori Aktif dan WAP. Jika penyebaran tidak menyertakan Azure AD/Office 365, persyaratan sinkronisasi dapat diabaikan.
Perhatikan bahwa port 49443 hanya diperlukan jika autentikasi sertifikat pengguna digunakan, yang bersifat opsional untuk Azure AD dan Office 365.

Catatan
Port 808 (Windows Server 2012R2) atau port 1501 (Windows Server 2016+) adalah port Net.TCP yang digunakan AD FS untuk titik akhir WCF lokal untuk mentransfer data konfigurasi ke proses layanan dan PowerShell. Port ini dapat dilihat dengan menjalankan Get-AdfsProperties | pilih NetTcpPort. Ini adalah port lokal yang tidak perlu dibuka di firewall tetapi akan ditampilkan dalam pemindaian port.
Komunikasi antara Server Federasi
Server federasi di farm Layanan Federasi Direktori Aktif berkomunikasi dengan server lain di farm dan server Web Proksi Aplikasi (WAP) melalui port HTTP 80 untuk sinkronisasi konfigurasi. Pastikan bahwa hanya server ini yang dapat berkomunikasi satu sama lain dan tidak ada yang merupakan ukuran pertahanan secara mendalam.
Organisasi dapat mencapai status ini, dengan menyiapkan aturan firewall di setiap server. Aturan hanya boleh mengizinkan komunikasi masuk dari alamat IP server di farm dan server WAP. Perhatikan bahwa beberapa Network Load Balancer (NLB) menggunakan port HTTP 80 untuk memeriksa kesehatan pada server federasi individual. Pastikan Anda menyertakan alamat IP NLB dalam aturan firewall yang dikonfigurasi.
Azure AD Koneksi dan Server Federasi/WAP
Tabel ini menjelaskan port dan protokol yang diperlukan untuk komunikasi antara server Azure AD Koneksi dan server Federasi/WAP.
| Protokol | Port | Deskripsi |
|---|---|---|
| HTTP | 80 (TCP/UDP) | Digunakan untuk mengunduh CRL (Daftar Pencabutan Sertifikat) untuk memverifikasi sertifikat SSL. |
| HTTPS | 443(TCP/UDP) | Digunakan untuk menyinkronkan dengan Azure AD. |
| WinRM | 5985 | Pendengar WinRM |
Server WAP dan Federasi
Tabel ini menjelaskan port dan protokol yang diperlukan untuk komunikasi antara server Federasi dan server WAP.
| Protokol | Port | Deskripsi |
|---|---|---|
| HTTPS | 443(TCP/UDP) | Digunakan untuk autentikasi. |
WAP dan Pengguna
Tabel ini menjelaskan port dan protokol yang diperlukan untuk komunikasi antara pengguna dan server WAP.
| Protokol | Port | Deskripsi |
|---|---|---|
| HTTPS | 443(TCP/UDP) | Digunakan untuk autentikasi perangkat. |
| TCP | 49443 (TCP) | Digunakan untuk autentikasi sertifikat |
Untuk informasi tentang port dan protokol yang diperlukan untuk penyebaran hibrid, lihat dokumen di sini.
Untuk informasi tentang port dan protokol yang diperlukan untuk penyebaran Azure AD dan Office 365, lihat dokumen di sini.
Titik akhir diaktifkan
Ketika Layanan Federasi Direktori Aktif dan WAP diinstal, sekumpulan titik akhir AD FS default diaktifkan pada layanan federasi dan pada proksi. Default ini dipilih berdasarkan skenario yang paling umum diperlukan dan digunakan dan tidak perlu mengubahnya.
[Opsional] Set minimum proksi titik akhir diaktifkan untuk Azure AD / Office 365
Organisasi yang menyebarkan LAYANAN Federasi Direktori Aktif dan WAP hanya untuk skenario Azure AD dan Office 365 dapat membatasi lebih lanjut jumlah titik akhir LAYANAN Federasi Direktori Aktif yang diaktifkan pada proksi untuk mencapai permukaan serangan yang lebih minimal. Di bawah ini adalah daftar titik akhir yang harus diaktifkan pada proksi dalam skenario ini:
| Titik Akhir | Tujuan |
|---|---|
| /adfs/ls | Alur autentikasi berbasis browser dan versi Microsoft Office saat ini menggunakan titik akhir ini untuk autentikasi Azure AD dan Office 365 |
| /adfs/services/trust/2005/usernamemixed | Digunakan untuk Exchange Online dengan klien Office yang lebih lama dari pembaruan Office 2013 Mei 2015. Kemudian klien menggunakan titik akhir \adfs\ls pasif. |
| /adfs/services/trust/13/usernamemixed | Digunakan untuk Exchange Online dengan klien Office yang lebih lama dari pembaruan Office 2013 Mei 2015. Kemudian klien menggunakan titik akhir \adfs\ls pasif. |
| /adfs/oauth2 | Digunakan untuk aplikasi modern apa pun (lokal atau di cloud) yang telah Anda konfigurasi untuk mengautentikasi langsung ke Layanan Federasi Direktori Aktif (yaitu tidak melalui Azure AD) |
| /adfs/services/trust/mex | Digunakan untuk Exchange Online dengan klien Office yang lebih lama dari pembaruan Office 2013 Mei 2015. Kemudian klien menggunakan titik akhir \adfs\ls pasif. |
| /adfs/ls/federationmetadata/2007-06/federationmetadata.xml | Persyaratan untuk alur pasif apa pun; dan digunakan oleh Office 365 / Azure AD untuk memeriksa sertifikat Layanan Federasi Direktori Aktif. |
Titik akhir LAYANAN Federasi Direktori Aktif dapat dinonaktifkan pada proksi menggunakan cmdlet PowerShell berikut:
Set-AdfsEndpoint -TargetAddressPath <address path> -Proxy $false
Contohnya:
Set-AdfsEndpoint -TargetAddressPath /adfs/services/trust/13/certificatemixed -Proxy $false
Perlindungan yang diperluas untuk autentikasi
Perlindungan yang diperluas untuk autentikasi adalah fitur yang mengurangi serangan man in the middle (MITM) dan diaktifkan secara default dengan AD FS.
Untuk memverifikasi pengaturan, Anda bisa melakukan hal berikut:
Pengaturan dapat diverifikasi menggunakan cmdlet PowerShell di bawah ini.
Get-ADFSProperties
Properti adalah ExtendedProtectionTokenCheck. Pengaturan default adalah Izinkan, sehingga manfaat keamanan dapat dicapai tanpa masalah kompatibilitas dengan browser yang tidak mendukung kemampuan.
Kontrol kemacetan untuk melindungi layanan federasi
Proksi layanan federasi (bagian dari WAP) menyediakan kontrol kemacetan untuk melindungi layanan Ad FS dari banjir permintaan. Web Proksi Aplikasi akan menolak permintaan autentikasi klien eksternal jika server federasi kelebihan beban seperti yang terdeteksi oleh latensi antara Proksi Aplikasi Web dan server federasi. Fitur ini dikonfigurasi secara default dengan tingkat ambang latensi yang direkomendasikan.
Untuk memverifikasi pengaturan, Anda bisa melakukan hal berikut:
- Di komputer Proksi Aplikasi Web Anda, mulai jendela perintah yang ditingkatkan.
- Navigasi ke direktori Layanan Federasi Direktori Aktif, di %WINDIR%\adfs\config.
- Ubah pengaturan kontrol kemacetan dari nilai defaultnya menjadi
<congestionControl latencyThresholdInMSec="8000" minCongestionWindowSize="64" enabled="true" />. - Simpan dan tutup file.
- Mulai ulang layanan Layanan Federasi Direktori Aktif dengan menjalankan
net stop adfssrvlalunet start adfssrv. Untuk referensi Anda, panduan tentang kemampuan ini dapat ditemukan di sini.
Pemeriksaan permintaan HTTP standar di proksi
Proksi juga melakukan pemeriksaan standar berikut terhadap semua lalu lintas:
- FS-P sendiri mengautentikasi ke Layanan Federasi Direktori Aktif melalui sertifikat berumur pendek. Dalam skenario dugaan kompromi server dmz, Layanan Federasi Direktori Aktif dapat "mencabut kepercayaan proksi" sehingga tidak lagi mempercayai permintaan masuk dari proksi yang berpotensi disusupi. Mencabut kepercayaan proksi mencabut sertifikat masing-masing proksi sendiri sehingga tidak dapat berhasil mengautentikasi untuk tujuan apa pun ke server LAYANAN Federasi Direktori Aktif
- FS-P menghentikan semua koneksi dan membuat koneksi HTTP baru ke layanan Ad FS di jaringan internal. Ini menyediakan buffer tingkat sesi antara perangkat eksternal dan layanan Ad FS. Perangkat eksternal tidak pernah terhubung langsung ke layanan Ad FS.
- FS-P melakukan validasi permintaan HTTP yang secara khusus memfilter header HTTP yang tidak diperlukan oleh layanan Ad FS.
Konfigurasi keamanan yang direkomendasikan
Pastikan semua server LAYANAN Federasi Direktori Aktif dan WAP menerima pembaruan terbaru Rekomendasi keamanan terpenting untuk infrastruktur Layanan Federasi Direktori Aktif Anda adalah memastikan Anda memiliki sarana untuk menjaga layanan federasi direktori aktif dan server WAP Anda tetap terkini dengan semua pembaruan keamanan, serta pembaruan opsional yang ditentukan sebagai penting untuk Layanan Federasi Direktori Aktif di halaman ini.
Cara yang disarankan bagi pelanggan Azure AD untuk memantau dan menjaga infrastruktur mereka saat ini adalah melalui Azure AD Koneksi Health untuk Layanan Federasi Direktori Aktif, fitur Azure AD Premium. Azure AD Koneksi Health mencakup pemantauan dan pemberitahuan yang memicu jika mesin LAYANAN Federasi Direktori Aktif atau WAP kehilangan salah satu pembaruan penting khusus untuk LAYANAN Federasi Direktori Aktif dan WAP.
Informasi tentang menginstal Azure AD Koneksi Health untuk Layanan Federasi Direktori Aktif dapat ditemukan di sini.
Praktik terbaik untuk mengamankan dan memantau kepercayaan Layanan Federasi Direktori Aktif dengan Microsoft Azure AD
Saat Anda menggabungkan Layanan Federasi Direktori Aktif dengan Microsoft Azure AD, sangat penting bahwa konfigurasi federasi (hubungan kepercayaan yang dikonfigurasi antara Layanan Federasi Direktori Aktif dan Microsoft Azure AD) dipantau secara ketat, dan aktivitas yang tidak biasa atau mencurigakan diambil. Untuk melakukannya, sebaiknya atur pemberitahuan dan dapatkan pemberitahuan setiap kali ada perubahan yang dilakukan pada konfigurasi federasi. Untuk mempelajari cara menyiapkan pemberitahuan, lihat Memantau perubahan konfigurasi federasi.
Konfigurasi keamanan tambahan
Kemampuan tambahan berikut dapat dikonfigurasi untuk memberikan perlindungan lebih lanjut.
Perlindungan penguncian ekstranet "lunak" untuk akun
Dengan fitur penguncian ekstranet di Windows Server 2012 R2, administrator Layanan Federasi Direktori Aktif dapat mengatur jumlah maksimum permintaan autentikasi gagal yang diizinkan (ExtranetLockoutThreshold) dan observation windowperiode waktu s (ExtranetObservationWindow). Ketika jumlah maksimum ini (ExtranetLockoutThreshold) permintaan autentikasi tercapai, Layanan Federasi Direktori Aktif berhenti mencoba mengautentikasi kredensial akun yang disediakan terhadap Layanan Federasi Direktori Aktif untuk periode waktu yang ditetapkan (ExtranetObservationWindow). Tindakan ini melindungi akun ini dari penguncian akun AD, dengan kata lain, melindungi akun ini dari kehilangan akses ke sumber daya perusahaan yang mengandalkan Layanan Federasi Direktori Aktif untuk autentikasi pengguna. Pengaturan ini berlaku untuk semua domain yang dapat diautentikasi oleh layanan Ad FS.
Anda dapat menggunakan perintah Windows PowerShell berikut untuk mengatur penguncian ekstranet LAYANAN Federasi Direktori Aktif (misalnya):
Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow ( new-timespan -Minutes 30 )
Sebagai referensi, dokumentasi publik fitur ini ada di sini.
Nonaktifkan titik akhir WS-Trust Windows pada proksi yaitu dari ekstranet
WS-Trust Windows titik akhir (/adfs/services/trust/2005/windowstransport dan /adfs/services/trust/13/windowstransport) dimaksudkan hanya untuk menjadi intranet yang menghadapi titik akhir yang menggunakan pengikatan WIA di HTTPS. Mengeksposnya ke ekstranet dapat memungkinkan permintaan terhadap titik akhir ini untuk melewati perlindungan penguncian. Titik akhir ini harus dinonaktifkan pada proksi (yaitu dinonaktifkan dari ekstranet) untuk melindungi penguncian akun AD dengan menggunakan perintah PowerShell berikut. Tidak ada dampak pengguna akhir yang diketahui dengan menonaktifkan titik akhir ini pada proksi.
Set-AdfsEndpoint -TargetAddressPath /adfs/services/trust/2005/windowstransport -Proxy $false
Set-AdfsEndpoint -TargetAddressPath /adfs/services/trust/13/windowstransport -Proxy $false
Catatan
Jika farm Layanan Federasi Direktori Aktif Anda berjalan di Windows Internal Database (WID) dan memiliki server LAYANAN Federasi Direktori Aktif sekunder, setelah menonaktifkan titik akhir di server utama, tunggu hingga SINKRONISASI terjadi pada simpul sekunder sebelum memulai ulang layanan AD FS pada mereka. Gunakan perintah PowerShell Get-AdfsSyncProperties pada simpul sekunder untuk melacak proses SYNC terakhir.
Membedakan kebijakan akses untuk akses intranet dan ekstranet
Layanan Federasi Direktori Aktif memiliki kemampuan untuk membedakan kebijakan akses untuk permintaan yang berasal dari jaringan perusahaan lokal vs permintaan yang masuk dari internet melalui proksi. Diferensiasi ini dapat dilakukan per aplikasi atau secara global. Untuk aplikasi atau aplikasi bernilai bisnis tinggi dengan informasi sensitif atau dapat diidentifikasi secara pribadi, pertimbangkan untuk memerlukan autentikasi multifaktor. Autentikasi multifaktor dapat disiapkan melalui snap-in manajemen Ad FS.
Memerlukan Autentikasi Multifaktor (MFA)
Layanan Federasi Direktori Aktif dapat dikonfigurasi untuk memerlukan autentikasi yang kuat (seperti autentikasi multifaktor) khusus untuk permintaan yang masuk melalui proksi, untuk aplikasi individual, dan untuk akses bersyarat ke Azure AD / Office 365 dan sumber daya lokal. Metode MFA yang didukung mencakup Microsoft Azure MF dan penyedia pihak ketiga. Pengguna diminta untuk memberikan informasi tambahan (seperti teks SMS yang berisi kode satu kali), dan Layanan Federasi Direktori Aktif berfungsi dengan plug-in khusus penyedia untuk mengizinkan akses.
Penyedia MFA eksternal yang didukung mencakup yang tercantum di halaman ini , serta HDI Global.
Aktifkan perlindungan untuk mencegah lewatnya cloud Azure AD Autentikasi Multifaktor saat digabungkan dengan Azure AD
Aktifkan perlindungan untuk mencegah melewati cloud Azure AD Autentikasi Multifaktor saat digabungkan dengan Azure AD dan menggunakan Autentikasi Multifaktor Azure AD sebagai autentikasi multifaktor untuk pengguna federasi Anda.
Mengaktifkan perlindungan untuk domain federasi di penyewa Azure AD Anda akan memastikan bahwa Azure AD Autentikasi Multifaktor selalu dilakukan ketika pengguna federasi mengakses aplikasi yang diatur oleh kebijakan akses bersyarat yang memerlukan MFA. Ini termasuk melakukan Azure AD Autentikasi Multifaktor bahkan ketika penyedia identitas federasi telah menunjukkan (melalui klaim token federasi) bahwa MFA lokal telah dilakukan. Memberlakukan Autentikasi Multifaktor Azure AD setiap kali memastikan bahwa akun lokal yang disusupi tidak dapat melewati Autentikasi Multifaktor Azure AD dengan meniru bahwa autentikasi multifaktor telah dilakukan oleh penyedia identitas, dan sangat disarankan kecuali Anda melakukan MFA untuk pengguna federasi Anda menggunakan penyedia MFA pihak ketiga.
Perlindungan dapat diaktifkan menggunakan pengaturan keamanan baru, federatedIdpMfaBehavior yang diekspos sebagai bagian dari cmdlet Api Graph MS Graph Federasi Internal atau MS Graph PowerShell. federatedIdpMfaBehavior Pengaturan menentukan apakah Azure AD menerima MFA yang dilakukan oleh IdP federasi ketika pengguna federasi mengakses aplikasi yang diatur oleh kebijakan akses bersyarat yang memerlukan MFA. Administrator bisa memilih salah satu nilai berikut ini:
Administrator bisa memilih salah satu nilai berikut ini:
| Properti | Deskripsi |
|---|---|
| acceptIfMfaDoneByFederatedIdp | Azure AD menerima MFA jika dilakukan oleh Penyedia Identitas. Jika tidak, lakukan Azure AD Autentikasi Multifaktor. |
| enforceMfaByFederatedIdp | Azure AD menerima MFA jika dilakukan oleh Penyedia Identitas. Jika tidak, ia mengalihkan permintaan ke Penyedia Identitas untuk melakukan MFA. |
| rejectMfaByFederatedIdp | Azure AD selalu melakukan Autentikasi Multifaktor Azure AD dan menolak MFA jika dilakukan oleh Penyedia Identitas. |
Anda dapat mengaktifkan perlindungan dengan mengatur federatedIdpMfaBehavior ke rejectMfaByFederatedIdp menggunakan perintah berikut.
MS GRAPH API
PATCH /domains/{domainsId}/federationConfiguration/{internalDomainFederationId}
{
"federatedIdpMfaBehavior": "rejectMfaByFederatedIdp"
}
Contoh:
PATCH /domains/contoso.com/federationConfiguration/2a8ce608-bb34-473f-9e0f-f373ee4cbc5a
{
"federatedIdpMfaBehavior": "rejectMfaByFederatedIdp"
PowerShell
Update-MgDomainFederationConfiguration -DomainId <domainsId> -InternalDomainFederationId <internalDomainFederationId> federatedIdpMfaBehavior "rejectMfaByFederatedIdp"
Contoh:
Update-MgDomainFederationConfiguration -DomainId “contoso.com” -InternalDomainFederationId “2a8ce608-bb34-473f-9e0f-f373ee4cbc5a” federatedIdpMfaBehavior "rejectMfaByFederatedIdp"
Modul Keamanan Perangkat Keras (HSM)
Dalam konfigurasi defaultnya, kunci yang digunakan AD FS untuk menandatangani token tidak pernah meninggalkan server federasi di intranet. Mereka tidak pernah ada di DMZ atau pada mesin proksi. Secara opsional untuk memberikan perlindungan lebih, sebaiknya lindungi kunci ini dalam modul keamanan perangkat keras (HSM) yang terpasang pada Layanan Federasi Direktori Aktif. Microsoft tidak menghasilkan produk HSM, namun ada beberapa di pasar yang mendukung Layanan Federasi Direktori Aktif. Untuk menerapkan rekomendasi ini, ikuti panduan vendor untuk membuat sertifikasi X509 untuk penandatanganan dan enkripsi, lalu gunakan commandlet PowerShell penginstalan Layanan Federasi Direktori Aktif, menentukan sertifikat kustom Anda sebagai berikut:
Install-AdfsFarm -CertificateThumbprint <String> -DecryptionCertificateThumbprint <String> -FederationServiceName <String> -ServiceAccountCredential <PSCredential> -SigningCertificateThumbprint <String>
di mana:
CertificateThumbprintadalah sertifikat SSL AndaSigningCertificateThumbprintadalah sertifikat penandatanganan Anda (dengan kunci yang dilindungi HSM)DecryptionCertificateThumbprintadalah sertifikat enkripsi Anda (dengan kunci yang dilindungi HSM)