Apakah mengubah kata sandi "sa" memerlukan restart SQL (dalam mode campuran)?

13

Kami menemukan akun SQL "sa" yang digunakan dengan cara yang seharusnya tidak demikian, jadi kami mengubah kata sandi sa pada semua contoh SQL kami.

(Kami memiliki SQL 2005 hingga 2017 server berjalan dalam mode otentikasi campuran. Semua pengguna dan aplikasi harus menggunakan akun domain atau non-sa akun SQL untuk terhubung. Saya telah memantau, tetapi belum menemukan aplikasi lain, pengguna, atau non -Lid internal menggunakan akun sa.)

Beberapa pertanyaan:

T1: Apakah mengubah kata sandi sa memerlukan SQL restart?

Saya menemukan beberapa referensi yang mengatakan restart layanan SQL diperlukan setelah mengubah kata sandi akun sa:

Benarkah itu? Atau hanya jika saya mengubah mode otentikasi? Atau hanya jika saya secara rutin masuk sebagai sa?

Utas Pusat SQL Server ini bahkan menyarankan perubahan itu dapat memengaruhi pekerjaan agen SQL yang ada dan hal-hal lain; Apakah itu masalah? Atau hanya jika seseorang telah mengkodekan akun SA menjadi paket SSIS atau semacamnya?

(Dalam hal ini penting, kami menggunakan akun domain untuk layanan SQL dan layanan agen SQL, dan akun proxy domain untuk pekerjaan yang memanggil paket SSIS atau skrip PowerShell.)

T2: Dapatkah saya mengubah kata sandi sa dengan cara "normal"?

Bisakah saya mengatur ulang seperti saya akan akun lain? Menggunakan SSMS, atau lebih mungkin melalui:

ALTER LOGIN sa WITH PASSWORD = 'newpass';

Atau haruskah saya masuk ke mode single-user atau sesuatu yang akan membutuhkan downtime yang direncanakan? (Perhatikan bahwa saya akan menjalankan ini dari akun domain, tidak saat terhubung sebagai "sa".)

T3: Haruskah kita mencoba melakukan rotasi kata sandi ini secara teratur? Atau hanya ketika kami menemukan masalah?

Apakah ini "praktik terbaik" yang disarankan?

BradC
sumber

Jawaban:

15

T1: Apakah mengubah kata sandi sa memerlukan SQL restart?

Tidak, tetapi mengubah mode otentikasi tidak. Karena Anda baru saja mengubah kata sandi dan mode otentikasi sudah diatur ke campuran, Anda baik untuk pergi dengan hanya mengubah kata sandi.

T2: Dapatkah saya mengubah kata sandi sa dengan cara "normal"?

Ya, ini hanyalah akun SQL Login lainnya.

T3: Haruskah kita mencoba melakukan rotasi kata sandi ini secara teratur? Atau hanya ketika kami menemukan masalah?

Sejujurnya, saya akan menonaktifkan dan mengganti nama login SA. Dengan cara ini tidak akan digunakan sama sekali dan jika Anda memerlukan login yang sangat istimewa, maka Anda dapat membuatnya sesuai kebutuhan.

Sean Gallardy
sumber
Jangan ganti nama tetapi menonaktifkannya adalah ide yang sangat bagus.
Yosua
2
@ Yosua Mengganti nama itu adalah ide yang bagus, terutama jika Anda sedang diaudit atau sebagai bagian dari praktik keamanan lainnya yang mungkin diperlukan sebagai bagian dari upaya kepatuhan.
Sean Gallardy
2
Saya telah menghabiskan terlalu banyak waktu untuk melacak barang yang rusak karena seseorang mengganti nama akun bawaan setelah digunakan.
Yosua
@ Yosua jika Anda mengganti nama dan menonaktifkannya saat Anda membangunnya, itu tidak akan menjadi masalah. Tentu saja ini hanya solusi ke depan. Mengganti nama beberapa bulan atau tahun kemudian bisa menjadi masalah.
James Jenkins
@ JamesJenkins: Ah, bagus.
Joshua
7

Ini adalah pintu gudang yang tertutup setelah kuda-kuda sudah lari dari pertanyaan.

Anda seharusnya mengganti nama dan menonaktifkan akun sa ketika Anda membuat instance.

Setiap kali Anda memiliki akun terkenal, seperti administrator pada sistem Windows atau sa untuk SQL Server, Anda harus mengambil langkah-langkah tertentu untuk mengamankannya. Mari kita lihat secara spesifik apa yang harus Anda lakukan dengan sa:

Atur kata sandi yang sulit ditebak.

Ganti nama sa.

Nonaktifkan sa.

Pastikan tidak ada akun lain yang bernama sa.

Sumber

Jika Anda menyimpan akun 'sa' sebagai cara darurat untuk mendapatkan akses SQL, ada cara-cara yang lebih aman: Sambungkan ke SQL Server Ketika Administrator Sistem Terkunci Jika Anda tidak memiliki akses akun jaringan, Anda memiliki masalah lebih besar daripada tidak dapat terhubung ke SQL.

James Jenkins
sumber
1
Saya dapat melihat penggantian nama sa, tetapi tidak menonaktifkannya sepenuhnya mencegah saya menghubungkan jika otentikasi domain menjadi tidak tersedia dalam keadaan darurat? (Bukannya saya ingat pernah perlu melakukannya, tapi saya mencoba mengantisipasi semua kemungkinan.)
BradC
@BradC diedit dalam pembaruan untuk menanggapi komentar Anda
James Jenkins
Terima kasih, kami akan mempertimbangkannya untuk solusi jangka panjang.
BradC
1
Sulit, jika bukan tidak mungkin, agar Otentikasi Terintegrasi sepenuhnya berhenti berfungsi karena layanan SQL Server tidak akan berjalan kecuali layanan itu dapat masuk. Anda tidak perlu memiliki domain Direktori Aktif yang ada untuk menggunakan Otentikasi Terpadu Windows; SQL Server dapat mengautentikasi Anda terhadap otoritas keamanan lokal.
Max Vernon