Haruskah saya mengekspos Direktori Aktif saya ke Internet publik untuk pengguna jarak jauh?

46

Saya memiliki klien yang tenaga kerjanya seluruhnya terdiri dari karyawan jarak jauh menggunakan campuran Apple dan Windows 7 PCs / laptop.

Pengguna tidak mengautentikasi terhadap domain saat ini, tetapi organisasi ingin pindah ke arah itu karena beberapa alasan. Ini adalah mesin milik perusahaan, dan perusahaan berusaha untuk memiliki kontrol atas penonaktifan akun, kebijakan grup dan beberapa pencegahan kehilangan data ringan (nonaktifkan media jarak jauh, USB, dll.) Mereka khawatir bahwa memerlukan otentikasi VPN untuk mengakses AD akan menjadi rumit, terutama di persimpangan karyawan yang diberhentikan dan kredensial di-cache pada mesin jarak jauh.

Sebagian besar layanan dalam organisasi berbasis di Google (mail, file, chat, dll.) Sehingga satu-satunya layanan domain adalah DNS dan auth untuk Cisco ASA VPN mereka.

Pelanggan ingin memahami mengapa pengontrol domain mereka tidak dapat diungkapkan kepada publik. Selain itu, apa yang struktur domain yang lebih dapat diterima untuk tenaga kerja jarak jauh didistribusikan?

Sunting:

Centrify digunakan untuk beberapa klien Mac.

putih
sumber
4
Ada pertanyaan terkait DI SINI . Mengizinkan layanan eksternal untuk terhubung ke AD Anda untuk disinkronkan atau diautentikasi bukan praktik yang mengerikan tetapi menempatkan pengontrol domain Anda pada DMZ terbuka, pada dasarnya seperti yang Anda tanyakan sangat tidak aman. Tanpa keamanan di tempat Anda meminta berbagai potensi serangan dan masalah. Saya akan sangat merekomendasikan menentangnya dan menyarankan klien VPN atau VPN dari firewall seperti Sonicwall dengan pengguna perangkat lokal.
Mike Naylor
10
Menyiapkan VPN berbasis sertifikat yang selalu aktif, lebar-mesin, terhubung kembali otomatis. (OpenVPN, DirectAccess, dll) sehingga otentikasi VPN tidak terikat ke akun pengguna, dan pengguna tidak memiliki interaksi langsung dengan perangkat lunak VPN.
Zoredache
DA sempurna, tetapi memiliki persyaratan titik akhir yang serius yang tidak dipenuhi oleh pelanggan (Mac, tentu saja.)
mfinni
1
+10 - Untuk saran Zoredache.
Evan Anderson
7
Jika Anda mencadangkan perangkat pengguna akhir Anda salah melakukannya. Jika Anda mencadangkan perangkat pengguna akhir melalui USB, Anda melakukannya dengan sangat salah.
MDMarra

Jawaban:

31

Saya memposting ini sebagai jawaban terutama karena setiap orang memiliki "pendapat berpendidikan" sendiri berdasarkan pengalaman, info pihak ke-3, desas-desus, dan pengetahuan kesukuan dalam TI, tetapi ini lebih merupakan daftar kutipan dan bacaan "langsung" dari Microsoft. Saya menggunakan tanda kutip karena saya yakin mereka tidak memfilter dengan benar semua pendapat yang dibuat oleh karyawan mereka, tetapi ini tetap terbukti membantu jika Anda mencari authoritativereferensi langsung dari Microsoft.


BTW, saya juga berpikir itu SANGAT MUDAH untuk mengatakan DOMAIN CONTROLLER == DIREKTORI AKTIF, yang tidak cukup kasusnya. Proksi AD FS dan cara lain (formulir berbasis auth untuk OWA, EAS, dll.) Menawarkan cara untuk "mengekspos" AD itu sendiri ke web untuk memungkinkan klien setidaknya mencoba untuk mengautentikasi melalui AD tanpa mengekspos DC sendiri. Pergilah ke situs OWA seseorang dan cobalah untuk masuk dan AD akan mendapatkan permintaan untuk autentikasi pada DC backend, sehingga AD secara teknis "terbuka" ... tetapi diamankan melalui SSL dan diproksikan melalui server Exchange.


Kutipan # 1

Pedoman untuk Menyebarkan Direktori Aktif Windows Server pada Mesin Virtual Windows Azure

Sebelum Anda pergi "Azure bukan AD" ... Anda BISA menyebarkan ADDS pada Azure VM.

Tetapi mengutip bit yang relevan:

Jangan pernah mengekspos STS langsung ke Internet.

Sebagai praktik terbaik keamanan, letakkan mesin virtual STS di belakang firewall dan sambungkan ke jaringan perusahaan Anda untuk mencegah paparan ke Internet. Ini penting karena peran STS mengeluarkan token keamanan. Akibatnya, mereka harus diperlakukan dengan tingkat perlindungan yang sama dengan pengontrol domain. Jika STS dikompromikan, pengguna jahat memiliki kemampuan untuk mengeluarkan token akses yang berpotensi mengandung klaim yang mereka pilih untuk mengandalkan aplikasi pihak dan STS lain dalam organisasi yang mempercayai.

ergo ... jangan memaparkan pengontrol domain langsung ke internet.

Kutipan # 2

Direktori Aktif - Misteri UnicodePwd dari AD LDS

Mengekspos pengontrol domain ke Internet biasanya merupakan praktik yang buruk, apakah pemaparan itu datang langsung dari lingkungan produksi atau melalui jaringan perimeter. Alternatif alami adalah dengan menempatkan server Windows Server 2008 dengan peran Active Directory Lightweight Directory Services (AD LDS) yang berjalan di jaringan perimeter.

Kutipan # 3 - bukan dari MS ... tetapi masih berguna untuk melihat ke depan

Direktori Aktif sebagai Layanan? Azure, Intune mengisyaratkan masa depan AD yang di-hosting-cloud

Pada akhirnya, tidak ada jawaban "pendek" hebat yang memenuhi tujuan membersihkan kantor server AD dengan imbalan alternatif Azure. Sementara Microsoft merasa puas dalam memungkinkan pelanggan untuk meng-host Layanan Domain Direktori Aktif pada Server 2012 dan 2008 R2 kotak di Azure, kegunaannya hanya sebaik konektivitas VPN yang dapat Anda kumpulkan untuk staf Anda. DirectAccess, yang merupakan teknologi yang sangat menjanjikan, terikat dengan keterbatasannya sendiri.

Kutipan # 4

Menyebarkan AD DS atau AD FS dan Office 365 dengan sistem masuk tunggal dan Mesin Virtual Windows Azure

Pengontrol domain dan server AD FS seharusnya tidak pernah terpapar langsung ke Internet dan hanya dapat dijangkau melalui VPN

Pembersih
sumber
Ini adalah jawaban yang masuk akal, meskipun hanya kutipan pertama yang mengatakan apa pun tentang hal-hal buruk apa yang bisa terjadi jika Anda mengabaikan saran tersebut.
Casey
19

Active Directory (AD) tidak dirancang untuk penyebaran semacam itu.

Model ancaman yang digunakan dalam desain produk mengasumsikan penyebaran "di belakang firewall" dengan sejumlah aktor yang bermusuhan disaring di perbatasan jaringan. Meskipun Anda tentu saja dapat mengeraskan Windows Server agar terpapar ke jaringan publik, berfungsinya Active Directory dengan benar memerlukan postur keamanan yang jelas lebih longgar daripada host yang diperkeras untuk jaringan yang menghadap publik. Sebuah banyak layanan harus terkena dari Domain Controller (DC) untuk AD untuk bekerja dengan baik.

Saran Zoredache dalam komentar, terutama yang merujuk pada sesuatu seperti OpenVPN yang berjalan sebagai layanan otomatis dengan otentikasi sertifikat, mungkin hanya cocok. DirectAccess, seperti yang disebutkan orang lain, adalah persis apa yang Anda butuhkan, kecuali itu tidak memiliki dukungan lintas-platform yang Anda inginkan.

Sebagai tambahan: Saya telah bermain-main dengan gagasan menggunakan mode transportasi berbasis sertifikat IPSEC untuk mengekspos AD langsung ke Internet tetapi tidak pernah benar-benar punya waktu untuk melakukannya. Microsoft membuat perubahan dalam jangka waktu Windows Server 2008 / Vista yang seharusnya membuat ini layak tetapi saya tidak pernah benar-benar menggunakannya.

Evan Anderson
sumber
2
+1 untuk OpenVPN yang berjalan sebagai layanan, saya telah menggunakan pendekatan ini dengan pejuang jalanan dengan sukses di masa lalu. Ada perasaan campur aduk dari sys admin admin, terutama karena jika mesin dikompromikan maka itu adalah pintu belakang otomatis ke jaringan. Kekhawatiran yang valid tentu saja, untuk setiap lingkungan meskipun harus bertanya pada diri sendiri apakah manfaatnya lebih besar daripada risikonya ....?
MDMoore313
2
Microsoft menjalankan jaringan perusahaan mereka sendiri di Internet publik dengan IPSec. Jadi itu bisa dilakukan.
Michael Hampton
1
@MichaelHampton tetapi mereka menggunakan isolasi domain dengan Windows Firewall dan IPSec sehingga itu tidak cukup "AD di Internet" itu "AD di internet dan di zona keamanan mirip dengan yang disediakan oleh firewall menggunakan aturan firewall berbasis host"
MDMarra
2
@ MDMoore313 - Pencabutan sertifikat FTW, meskipun pengguna harus melaporkan mesin yang dicuri itu dengan cepat.
Evan Anderson
Ada juga cara dengan klien VPN tertentu (misalnya Juniper) untuk memaksa logoff setelah koneksi. Ini tidak sebagus GINA lama yang diinfuskan, tetapi memaksa pengguna untuk login lagi saat di VPN untuk benar-benar mengotentikasi terhadap AD dan mendapatkan GPO, dll. Anda masuk terlebih dahulu dengan kredensial yang di-cache, luncurkan VPN jika diperlukan, dan itu log off Anda segera dan tetap terhubung saat Anda masuk kembali.
TheCleaner
15

Apa yang orang lain katakan. Saya sangat gugup tentang upaya kekerasan yang disebutkan oleh Christopher Karel. Presentasi di Def Con terakhir tentang topik:

Jadi Anda Pikirkan Pengontrol Domain Anda Aman?

JUSTIN HENDRICKS ENGINEER KEAMANAN, MICROSOFT

Pengontrol Domain adalah permata mahkota dari suatu organisasi. Begitu mereka jatuh, semua yang ada di domain jatuh. Organisasi berusaha keras untuk mengamankan pengontrol domain mereka, namun mereka sering gagal mengamankan perangkat lunak yang digunakan untuk mengelola server ini.

Presentasi ini akan mencakup metode tidak konvensional untuk mendapatkan admin domain dengan menyalahgunakan perangkat lunak manajemen yang umum digunakan yang digunakan dan digunakan organisasi.

Justin Hendricks bekerja di tim keamanan Office 365 di mana ia terlibat dalam tim merah, pengujian penetrasi, penelitian keamanan, tinjauan kode, dan pengembangan alat.

Saya yakin Anda dapat menemukan banyak contoh lainnya. Saya sedang mencari artikel tentang pengontrol domain dan peretasan dengan harapan mendapatkan deskripsi tentang seberapa cepat DC akan ditemukan, dll., Tapi saya pikir itu akan dilakukan untuk saat ini.

Katherine Villyard
sumber
1
Ini adalah video presentasi Mr. Hendricks: youtube.com/watch?v=2d_6jAF6OKQ Saya ingin menonton video DefCon 21 dan saya pikir saya akan mulai dengan yang ini.
Evan Anderson
14

Jika Anda mencoba meyakinkan manajemen, awal yang baik adalah:

It goes against Microsoft's Best Practices for Active Directory Deployment.

Pembaruan : Lihat artikel technet ini tentang mengamankan pengontrol domain terhadap serangan, dan bagian berjudul Perimeter Firewall Restrictionsyang menyatakan:

Perimeter firewalls should be configured to block outbound connections
from domain controllers to the Internet. 

Dan bagian berjudul Blocking Internet Access for Domain Controllersyang menyatakan:

Launching web browsers on domain controllers should be prohibited not only
by policy, but by technical controls, and domain controllers should not be
permitted to access the Internet

Saya yakin Anda dapat menghidupkan beberapa dokumentasi Microsoft tentang masalah ini, jadi begitu. Selain itu, Anda dapat menyatakan bahaya dari langkah tersebut, sesuatu di sepanjang baris:

A gaping hole would be created, possibly resulting in severe data loss and/or loss of company secrets.

Kredensial yang di-cache hanya itu - di-cache. Mereka bekerja untuk mesin lokal ketika tidak dapat terhubung ke domain , tetapi jika akun itu dinonaktifkan mereka tidak akan bekerja untuk sumber daya jaringan apa pun (svn, vpn, smb, fbi, cia, dll) sehingga mereka tidak perlu khawatir tentang itu . Ingat juga bahwa pengguna sudah memiliki hak penuh atas file apa pun di folder profil mereka pada mesin lokal (dan kemungkinan media yang dapat dilepas) sehingga menonaktifkan kredensial atau tidak, mereka dapat melakukan apa pun yang mereka inginkan dengan data itu. Mereka juga tidak akan bekerja untuk mesin lokal setelah terhubung kembali ke jaringan.

Apakah Anda merujuk ke layanan yang disediakan Direktori Aktif atau Pengontrol Domain, seperti LDAP? Jika demikian, LDAP sering pecah dengan aman untuk keperluan otentikasi dan kueri direktori, tetapi hanya mematikan Windows Firewall (atau membuka semua port yang diperlukan hingga publik - Hal yang sama dalam contoh ini) dapat menyebabkan masalah parah.

AD tidak benar-benar mengelola Mac, jadi solusi terpisah diperlukan (pikirkan OS X Server). Anda dapat bergabung dengan Mac ke domain tetapi itu tidak lebih dari membiarkan mereka autentik dengan kredensial jaringan, mengatur admin domain sebagai admin lokal di mac, dll. Tidak ada kebijakan grup. MS sedang mencoba untuk melanggar tanah itu dengan versi SCCM yang lebih baru yang mengklaim dapat menyebarkan aplikasi ke mac dan kotak * nix, tetapi saya belum melihatnya di lingkungan produksi. Saya juga percaya Anda dapat mengkonfigurasi mac untuk terhubung ke OS X Server yang akan mengotentikasi ke direktori berbasis AD Anda, tetapi saya bisa saja salah.

Karena itu, beberapa solusi kreatif dapat dirancang, seperti saran Evan untuk menggunakan OpenVPN sebagai layanan, dan menonaktifkan sertifikat mesin jika / ketika tiba saatnya untuk membiarkan karyawan itu pergi.

Sepertinya semuanya berbasis Google, jadi Google bertindak sebagai server ldap Anda? Saya akan merekomendasikan klien saya tetap seperti itu jika memungkinkan. Saya tidak tahu sifat bisnis Anda, tetapi untuk aplikasi berbasis web seperti server git atau redmine, bahkan ketika pengaturan di rumah dapat mengautentikasi dengan OAuth, mengambil keuntungan dari akun Google.

Terakhir, pengaturan roadwarrior seperti ini hampir membutuhkan VPN agar berhasil. Setelah mesin dibawa ke kantor dan dikonfigurasikan (atau dikonfigurasi dari jarak jauh melalui skrip), mereka membutuhkan cara untuk menerima perubahan dalam konfigurasi.

Mac akan membutuhkan pendekatan manajemen terpisah selain VPN, sayang sekali mereka tidak membuat server mac nyata lagi, tetapi mereka memang memiliki beberapa implementasi kebijakan yang layak di OS X Server terakhir kali saya periksa (beberapa tahun yang lalu) ).

MDMoore313
sumber
Sebenarnya, Centrify digunakan dalam lingkungan ini untuk mengelola kebijakan pada beberapa sistem Mac saat ini.
ewwhite
@ewwhite apa yang Anda maksud dengan mengelola? Sepertinya tidak lebih dari utilitas otentikasi pusat.
MDMoore313
@ MDMoore313 Anda terlambat beberapa jam, saya menang: chat.stackexchange.com/transcript/127?m=13626424#13626424 - :)
TheCleaner
@TheCleaner haha ​​tampaknya begitu, Anda menang kali ini, Anda tahu seni Google Fu dengan baik, tetapi teknik Anda menghindari Anda. Dalam Kung Fu terbaik saya dengan suara lipsync yang mengerikan. Setelah Anda memposting jawaban Anda, saya harus mencari dua kali lebih keras untuk menemukan jawaban yang bukan duplikat dari Anda!
MDMoore313
2
LOL, jangan khawatir ... lain kali kita bertemu kemenangan mungkin milikmu. (dengan suara
lipsik yang
7

Sangat disayangkan bahwa DirectAccess hanya tersedia di Win7 + Enterprise Edition, karena dibuat khusus untuk permintaan Anda. Tetapi tidak mengetahui edisi Anda, dan melihat bahwa Anda memiliki MacOS, itu tidak akan berhasil.

/ Edit - sepertinya beberapa pihak ke-3 mengklaim bahwa mereka memiliki klien DA untuk Unices: http://www.centrify.com/blogs/tomkemp/what_is_microsoft_directaccess_and_unix_linux_interoperability.asp

Ada solusi MDM yang tersedia yang dapat bekerja untuk memenuhi kebutuhan Anda; kami meluncurkan salah satunya (MAAS360) ke klien yang berada di posisi yang sama.

mfinni
sumber
5

Ini jelas akan menjadi risiko keamanan yang signifikan. Terlebih lagi, itu mungkin tidak akan bekerja sebaik yang Anda inginkan. Jika orang-orang acak di Internet dapat mencoba login ke lingkungan AD Anda, kemungkinan besar semua pengguna Anda akan terkunci. Selama-lamanya. Dan menghapus persyaratan penguncian berarti bahwa sangat mudah untuk secara paksa memeriksa kata sandi sederhana.

Lebih penting lagi, Anda seharusnya tidak memiliki masalah dalam mengimplementasikan tujuan Anda (pengguna akhir masuk ke laptop dengan kredensial domain) tanpa membuat server AD dapat diakses secara langsung. Yaitu, mesin Windows dapat melakukan cache masuk X yang berhasil terakhir, sehingga kredensial yang sama berfungsi saat terputus. Ini berarti pengguna akhir dapat masuk dan melakukan pekerjaan yang bermanfaat, tanpa perlu menyentuh server AD Anda. Mereka jelas perlu menggunakan VPN untuk terhubung ke sumber daya perusahaan besar lainnya, dan dapat menyegarkan pengaturan AD / GPO pada saat yang sama.

Christopher Karel
sumber
2
AD tidak menggunakan (atau setidaknya bergantung pada) siaran untuk apa pun, selama itu AD, setahu saya. Teknologi tertentu mungkin memerlukan WINS, yang dapat kembali ke permintaan siaran jika tidak ada server WINS yang tersedia, tetapi itu tidak relevan dengan AD secara umum. Jika tergantung pada siaran, Anda tidak bisa memiliki pengguna jarak jauh tanpa DC lokal sama sekali.
mfinni
2
Mengedit garis keluar itu. Terima kasih atas masukannya. Jelas orang Linux seperti saya seharusnya tidak menjadi tamu di Windows.
Christopher Karel
Jika begitu "jelas" itu tidak akan menjadi pertanyaan, bukan?
Casey
2

Ehite,

Pertanyaan Anda sangat valid dan patut ditinjau dengan cermat.

Semua profesional keamanan merekomendasikan lapisan keamanan di depan sumber daya jaringan apa pun, termasuk Firewall SPI, IDS, Firewall Berbasis Host, dll. Anda harus selalu menggunakan firewall gateway perimeter proxy seperti ISA (sekarang TMG) ​​jika memungkinkan.

Yang mengatakan, Microsoft Active Directory 2003+ tidak memiliki kerentanan utama diungkapkan kepada publik. Teknologi LDAP dan algoritma hash umumnya sangat aman. Ini bisa dibilang lebih aman daripada SSL VPN jika SSL VPN itu menjalankan OpenSSL dan rentan terhadap masalah jantung.

Saya akan mengingatkan 5 hal:

  1. Khawatir tentang layanan lain yang menghadapi jaringan seperti Terminal Server, Layanan DNS, CIFS, dan terutama IIS dengan catatan keamanan yang mengerikan.

  2. Gunakan LDAPS dengan sertifikat keamanan untuk menghindari melewati kredensial domain teks yang jelas melalui kawat. Ini terjadi secara otomatis setelah menginstal Layanan Sertifikat (menggunakan mesin terpisah untuk PKI)

  3. Letakkan sniffer paket pada antarmuka dan perhatikan lalu lintas Anda, perbaiki kata sandi teks yang jelas karena firewall atau tidak, jika Anda tidak menggunakan VPN atau LDAPS, beberapa sistem lawas akan mengirimkan kata sandi teks yang jelas.

  4. Ketahuilah bahwa serangan MITM dapat memaksa mekanisme otentikasi asli untuk menurunkan versi dan mengekspos kata sandi ke otentikasi NTLM yang lebih lemah.

  5. Waspadai beberapa kerentanan enumerasi pengguna yang mungkin masih ada.

Yang mengatakan, Active Directory memiliki rekam jejak yang bagus untuk keamanan. Lebih jauh, MS Active Directory tidak menyimpan kata sandi, hanya hash yang juga dapat mengurangi keparahan kompromi.

Anda dapat mengambil manfaat dari infrastruktur keamanan yang lebih mulus, Anda tidak perlu mengatur server DNS khusus atau menggunakan domain.local dan Anda dapat menggunakan domain Anda yang sebenarnya di internet publik seperti domain.com.

Menurut pendapat profesional saya ada manfaat besar untuk menggunakan teknologi keamanan seperti Active Directory secara publik, di mana teknologi lain seperti Exchange dan DNS dan Server Web tidak memberikan manfaat dan semua risiko.

Catatan: jika Anda menggunakan Active Directory, itu akan mencakup server DNS. Jadilah TERTENTU untuk menonaktifkan rekursi pada server DNS Anda (diaktifkan secara default) atau Anda benar-benar akan berpartisipasi dalam penolakan serangan layanan.

Tepuk tangan,

-Brian

Brian J. Brandon
sumber
-3

Dell (melalui membeli Quest (melalui membeli Vintela)) memiliki solusi lintas platform yang sering digunakan di perusahaan-perusahaan F500 untuk tujuan nyata ini .

Hal yang perlu dipertimbangkan ...

  1. Apakah pengguna Anda selalu terhubung? Jika demikian, Anda akan lebih baik dilayani dengan lingkungan hosting berbasis VM yang fleksibel yang dapat melenturkan ketika banyak pengguna aktif memalu LDAP
  2. Apakah Anda menjalankan lebih dari satu pusat data fisik? Pertimbangkan penyeimbangan beban geografis di depan layanan AD untuk mengurangi jumlah lompatan antara pengguna dan sistem Anda
  3. Juga, jika jawaban ke # 2 adalah ya, maka pastikan Anda menyiapkan beberapa sumber daya jaringan khusus untuk mereplikasi hutan Anda seperti yang digambarkan di sini

Dan pastikan solusi firewall Anda mampu menangani tingkat pengiriman ulang yang sangat tinggi jika Anda memiliki pengguna pada uplink yang dibatasi, menghubungkan dari pusat wifi yang bising, dll.

subulaz
sumber
Bagaimana cara ini mengelola mesin Windows, atau mengamankan sesuatu seperti DC yang terpapar ke internet? Sama sekali tidak seperti itu.
mfinni