RDP mengubah klien: mengapa basis data melihat host lain
Desktop yang diterbitkan membuka koneksinya sendiri, jadi sumber daya melihat host, bukan laptop Anda. Tinjau identitas kedua itu bersama akses yang Anda setujui.
Aturan VPN Anda menolak basis data dan tiket ditutup sebagai kesalahan firewall, sementara pengguna yang sama membuka desktop yang diterbitkan dan mengkueri basis data itu tanpa masalah. Kedua pernyataan itu benar. Desktop adalah klien lain, dengan alamatnya sendiri pada segmen yang sudah dipercaya aturan, dan identitasnya sendiri saat terhubung lebih jauh. Yang tampak seperti aturan kontradiktif biasanya adalah permintaan kedua yang tidak dimasukkan siapa pun ke dalam tinjauan.
Permintaan kedua memiliki alamat kliennya sendiri
Saat aplikasi di dalam sesi membuka koneksi ke basis data, jabat tangan TCP dimulai di host sesi. Alamat sumbernya milik jaringan host itu, jadi setiap router dan firewall basis data di sepanjang jalur menilai segmen desktop, bukan kumpulan terowongan tempat laptop Anda berasal. Alamat VPN tidak pernah muncul dalam aliran itu. Itulah sebabnya aturan penolakan berbasis sumber bisa benar sekaligus tidak relevan.
Baca asalnya dari dalam sesi, bukan dari laptop, lalu uji jalur lanjutan dari tempat yang sama. Kedua jawaban seharusnya sepakat tentang host mana yang membuat permintaan.
whoami
ipconfig /all
Test-NetConnection db01.corp.internal -Port 5432Bandingkan apa yang dilaporkan sesi dengan alamat yang dicatat basis data untuk waktu yang sama. Ketika log server menunjukkan subnet desktop alih-alih kumpulan terowongan, pertanyaannya berhenti menjadi apakah aturan itu terpicu dan menjadi host mana yang membuat permintaan. Itu penyelidikan lain dengan pemilik lain.
Identitas juga berubah, bukan hanya pengalamatan
Koneksi lanjutan biasanya diautentikasi sebagai token sesi, kredensial tersimpan, atau akun layanan aplikasi, dan sumber daya mencatat mana pun yang diberikan kepadanya. Karena itu jejak audit yang menunjukkan akun layanan pada basis data tidak membuktikan bahwa manusia menjalankan kueri. Itu juga tidak mengidentifikasi manusia tersebut. Hanya log sesi desktop itu sendiri yang menghubungkan kedua catatan itu.
Otorisasi terjadi dua kali, dan keputusan kedua dibuat dengan masukan berbeda. Yang pertama memberikan masuk desktop bagi pengguna tertentu, sedangkan yang kedua memberikan apa yang dapat dilakukan token pengguna itu atau akun aplikasi terhadap sumber daya. Grup meja bantuan yang boleh membuka desktop tidak otomatis menjadi grup yang boleh membaca tabel pelanggan.
Lihat token dan jalur delegasi sebelum menulis catatan akses. Keduanya terlihat dari dalam sesi, dan hanya di situlah jawabannya bukan dugaan.
whoami /groups
klist
query sessionJika aplikasi memakai akun layanan, hak akun itulah yang penting di hilir. Merotasi kredensial itu termasuk dalam tinjauan akses, bukan dalam renungan operasional setelahnya.
Mengapa jalur langsung masih diblokir, dan memang benar
Aturan penolakan tidak salah hanya karena tujuan dapat dicapai dengan cara lain. Segmentasi dinilai per sumber, dan desktop berada pada segmen yang diizinkan jauh sebelum siapa pun menganggapnya sebagai rute ke basis data. Tidak ada yang melewati kebijakan. Kebijakan itu hanya menggambarkan dua sumber berbeda dengan dua hasil berbeda.
Yang harus dijawab tinjauan adalah apa yang dapat dijalankan setiap sesi sah pada host itu. Peramban dengan sesi tersimpan, drive yang dipetakan, agen yang memegang kredensial, dan layanan yang mendengarkan secara lokal semuanya memperluas jangkauan desktop, dan tidak satu pun muncul di tiket yang memberikan masuk. Inventaris itulah permukaan izin yang sebenarnya.
Daftarkan dari dalam sesi uji, bukan dari lembar kerja. Beberapa perintah menutupi sebagian besar permukaannya.
Get-NetTCPConnection -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess
net use
Get-ChildItem Env: | Where-Object Name -match 'PROXY|DATABASE|API'Pilih batasnya dengan sengaja
Tiga bentuk cocok untuk tugas berbeda, dan pilihannya harus mengikuti tugas, bukan alat yang kebetulan ada. Aplikasi yang diterbitkan mengekspos satu program dengan izinnya sendiri, desktop penuh mengekspos semua yang dapat dilakukan profil pengguna, dan akun basis data sempit dengan pembatasan sumber mengekspos satu sumber daya tanpa desktop sama sekali. Bentuk tersempit yang masih menyelesaikan pekerjaan itulah yang perlu didokumentasikan. Apa pun yang lebih luas memerlukan alasan yang ditulis di sampingnya.
Untuk satu laporan, aplikasi terbitan atau akun terbatas adalah pemberian yang lebih kecil daripada desktop umum. Untuk pemeliharaan yang benar-benar membutuhkan beberapa alat, desktop mungkin tepat, tetapi kemudian persetujuannya menggambarkan seluruh host, bukan satu aplikasi. Tanyakan kepada pemilik sumber daya mana yang mereka setujui.
Perpindahan data adalah sakelar terpisah. Papan klip, pengalihan drive, dan unduhan dapat membawa data perusahaan ke klien, dan menjalankan aplikasi dari jarak jauh tidak dengan sendirinya menjaga data tetap jauh.
Periksa kedua persetujuan dan jalur penghapusan
Dua persetujuan termasuk dalam catatan: hak untuk menjangkau dan membuka desktop, dan hak untuk memakai sumber daya dari dalamnya. Sebutkan pemilik untuk masing-masing dan jaga yang kedua tetap terlihat oleh siapa pun yang meninjau sumber daya. Entri kedua itulah yang akan ditanyakan auditor, karena menggambarkan jangkauan, bukan masuk. Tulis keduanya sebelum perubahan disetujui, bukan setelah insiden pertama.
Lalu uji penghapusannya, karena sesi yang terputus dapat hidup lebih lama daripada alasannya. Tabel sesi adalah tempat tercepat untuk melihat apa yang masih berjalan.
query session
query user
qwinsta /server:rdsh01.corp.internalMemutus klien membuat sesi jarak jauh tetap berjalan, dan koneksi jaringan serta kredensial yang di-cache dapat tetap berguna sampai sesi itu berakhir. Keluar, atau akhiri sesi secara eksplisit, dan pastikan penghitung di hilir berhenti maju setelahnya. Uji penghapusan yang hanya menutup tutup laptop tidak membuktikan apa pun. Jalankan uji yang sama sekali dengan akun dinonaktifkan dan sekali dengan izin desktop dicabut, lalu catat apa yang dicatat sumber daya dalam setiap kasus.