Buku kerja Excel yang membuka tabel di SQL Server organisasi lain membutuhkan tiga hal yang biasanya dibahas sebagai satu: identitas yang diterima server, transportasi yang divalidasi klien, dan jalur jaringan yang diizinkan kedua pihak. Kepercayaan domain adalah salah satu cara memenuhi yang pertama, dan yang paling luas. TLS memenuhi yang kedua dan tidak mengatakan apa pun tentang yang pertama. Jalur memenuhi yang ketiga dan tidak melindungi apa pun dengan sendirinya.

Memisahkan ketiganya mengubah spreadsheet menjadi permintaan kecil yang dapat ditinjau, bukan hubungan administratif.

Tiga keputusan yang disembunyikan pertanyaan

Identitas adalah siapa yang dianggap database tentang Anda: akun Windows dari domain tepercaya, login SQL dengan kata sandinya sendiri, atau identitas berbasis sertifikat. Transportasi adalah apakah sesi dienkripsi dan apakah klien memeriksa rantai sertifikat server. Jalur adalah bagaimana paket mencapai listener, yang bisa berupa VPN, tautan privat, atau endpoint publik dengan aturan firewall. Masing-masing berada di tempat berbeda dan masing-masing dapat gagal sendiri.

Kepercayaan hutan menjawab yang pertama secara luas dan merupakan hubungan antaranggaran, bukan pengaturan untuk satu buku kerja. Ia juga tidak mengenkripsi apa pun, yang mengejutkan mereka yang menganggap kepercayaan itu adalah kontrol keamanan.

Identitas tanpa kepercayaan hutan

Akun yang disediakan secara sengaja di lingkungan target dapat memenuhi kebutuhan yang lebih sempit tanpa kepercayaan apa pun, asalkan alur kerja klien dapat menggunakannya. Autentikasi SQL adalah jawaban umum lainnya bila kebijakan mengizinkan: login membawa siklus hidup kredensialnya sendiri dan tidak bergabung ke domain atau menghasilkan autentikasi Windows terintegrasi. Identitas berbasis sertifikat atau token adalah opsi ketiga di platform yang lebih baru. Apa pun yang Anda pilih, berikan hanya izin database yang benar-benar dibutuhkan buku kerja.

Utamakan akun khusus daripada login pribadi seseorang. Kredensial bersama dalam spreadsheet adalah masalah dukungan yang menunggu terjadi, dan akun bernama memungkinkan pencabutan saat proyek berakhir.

Enkripsi ya, tetapi percaya sertifikatnya?

Dengan ODBC Driver 18, Encrypt=Yes;TrustServerCertificate=No meminta sesi terenkripsi yang sertifikatnya benar-benar diperiksa. String koneksi kemudian harus menyebutkan server yang dicakup sertifikat, dan klien harus memercayai rantainya. Driver 18 juga menggunakan enkripsi secara default, tidak seperti versi sebelumnya, sehingga string koneksi lama kini dapat menegosiasikan TLS tanpa mengatakannya. Pengaturan eksplisit membuat kebijakan yang dimaksud terlihat di semua mesin, yang penting ketika beberapa orang memelihara buku kerja yang sama.

TrustServerCertificate=Yes mengenkripsi dan melewati validasi, yang bukan perbaikan setara untuk ketidakcocokan nama atau rantai yang tidak tepercaya. Ini menghapus sinyal yang akan memberi tahu Anda bahwa klien mencapai endpoint yang salah, jadi perbaiki sertifikat atau namanya.

Penegakan di sisi server adalah kontrol terpisah. Jika enkripsi harus berlaku bagi setiap klien, konfigurasikan dan verifikasi pengaturan enkripsi paksa server, karena satu string koneksi yang kooperatif tidak menegakkan apa pun.

Jalur jaringan bukanlah perlindungan

Listener privat yang dicapai melalui VPN mengurangi paparan, dan VPN harus membawa rute tujuan dan balik yang benar agar itu berhasil. Tunnel yang berfungsi tidak menghilangkan kebutuhan akan autentikasi atau validasi sertifikat, dan TLS tidak membatasi sistem jarak jauh mana yang boleh mencoba koneksi. Itu tiga pengamatan terpisah: jabat tangan TLS, login VPN, dan kueri yang diotorisasi. Hanya yang ketiga membuktikan bahwa buku kerja membaca data yang diizinkan untuk dibacanya.

Karena itu, tolak jalan pintas menjawab pertanyaan kepercayaan dengan mengekspos database ke internet. Jawaban sempitnya biasanya akun khusus, enkripsi tervalidasi, dan satu jalur yang disetujui, dalam urutan itu.

Verifikasi dengan alur kerja Excel biasa: identitas yang diterima, izin efektif, dan enkripsi yang dinegosiasikan, masing-masing diperiksa melalui tampilan sesi server itu sendiri.

Artikel terkait