Apa yang harus saya lakukan terhadap seseorang yang mencoba memaksa upaya untuk masuk ke akun SQL Server 'sa' kami?


9

Sepertinya seseorang atau sesuatu sedang mencoba upaya brute force untuk masuk ke instance SQL Server produksi kami dengan akun 'sa'. Mereka belum berhasil karena akun 'sa' kami dinonaktifkan, tetapi langkah apa yang harus saya ambil untuk memastikan semuanya aman?

upaya masuk


1
Hei. Tandai sebagai dijawab sehingga kita dapat melanjutkan hidup kita. :)
JohnThePro

Jawaban:


29

Apakah server SQL Anda harus tersedia untuk umum ke Internet? Ini biasanya tidak demikian. Jika memang harus seperti ini, Anda bisa membatasi akses berdasarkan alamat IP atau mungkin mengatur VPN. Jelas, buat kata sandi sa tidak dapat diakses atau lihat tentang membatasi lokasi login dari hanya alamat IP LAN Anda. Berikan lebih banyak detail sehingga orang lain dapat membantu Anda dengan solusi yang lebih baik.


3
Benar-benar ini. Ini adalah kasus klasik untuk menggunakan firewall dan meminimalkan permukaan serangan Anda.
Rob Moir

Plus itu bukan seseorang. Cacing di luar sana lumayan banyak, bukan manusia. SQL Server di internet + tidak mengubah port default = benar-benar mengabaikan kenyataan (internet bukan tempat yang bagus).
TomTom

5

Hal pertama yang dapat Anda lakukan adalah mulai dengan memasukkan alamat IP tersebut ke daftar hitam, dan langsung menolak lalu lintas APAPUN dari IP mereka di firewall Anda. Tentu saja, mereka mungkin hanya mengubah IP, tetapi setidaknya itu akan menghentikan mereka membombardir server Anda dengan lalu lintas dan log.


3

Nonaktifkan port itu (MySQL 3306; jangan ingat port SQL Server, mungkin 118?) Melalui firewall. Maka tidak ada yang bisa mengaksesnya.
Jika diperlukan akses luar ke SQL, remap ke port bernomor tinggi, seperti 53535. Jika ada yang tahu port itu terbuka, akan sulit untuk menebak artinya.


1433; jika harus terbuka ke luar, ubah ke hal lain; namun itu akan melibatkan perubahan string koneksi pada klien.
SqlACID

Dan juga 1434, untuk layanan penemuan ...
AviD

3

Info masuk mencoba melibatkan upaya menyuntikkan beberapa kode jahat. Saya sarankan memblokir aktivitas ini dengan daftar hitam permanen menggunakan perangkat lunak firewall server atau firewall eksternal pihak ketiga.

Juga, kurangi jumlah kegagalan login yang diizinkan karena ini akan secara otomatis memblokir alamat IP penyusup.

Di atas akan meminimalkan ini.


2

Mungkin hanya beberapa script kiddie menjalankan pemindai dan tidak layak mengejar waktu Anda. Saya akan melihat tidak memiliki database Anda dapat diakses dari Internet.


2
  • Jika Anda bisa, nonaktifkan semua akses akun SQL, bukan hanya sa - yaitu aktifkan Windows Authentication saja, tanpa SQL Authentication.
  • Batasi akses jaringan - baik melalui firewall, atau setidaknya pembatasan IP pada kotak - untuk server yang hanya memerlukan akses. Pengguna publik tidak memerlukan akses langsung, bukan?
  • Pertimbangkan bahwa ia mungkin akan mencoba memaksa pengguna Administrator lokal, berikutnya. Meskipun Anda tidak dapat benar-benar menghapus izin admin, Anda dapat menjatuhkannya ke peran tertentu dan secara eksplisit memblokir akses.
  • Jika Anda bisa, nonaktifkan layanan Browser SQL Server. Tidak ada alasan untuk membuatnya lebih mudah ...
  • Lakukan analisis lengkap pengguna, izin, dan kata sandi pada basis data - mereka mungkin akan mencoba pengguna lain selanjutnya.
  • Coba tanyakan ini lagi di ITSecurity.SE untuk info lebih lanjut :)

2

Jika SQL Server Anda harus dapat diakses di luar netowrk Anda, Anda dapat membuat daftar putih alamat IP luar yang membutuhkan akses. VPN adalah solusi yang lebih baik, (tetapi tidak selalu tersedia), dan solusi terbaik tidak ada akses luar.

Daftar putih memerlukan lebih banyak manajemen, tetapi menghilangkan kekonyolan ini. Jika seseorang membutuhkan akses dan mereka memiliki IP yang sering berubah, maka mereka dapat masuk ke sistem yang berbeda melalui RDP dan terhubung ke SQL Server dari sana.

Ganti nama akun sa, buat akun sa palsu, dan nonaktifkan.

Izin audit dan memicu pembaruan kata sandi untuk semua Akun Pengguna SQL Server; mungkin meningkatkan persyaratan kekuatan kata sandi.

Beri nomor baru port mendengarkan IP SQL Server. Ini berarti memperbarui konfigurasi klien atau file konfigurasi aplikasi.

Saya setuju dengan poster lain tentang kemungkinan vektor serangan berikutnya dan ini mungkin seseorang yang menjalankan skrip.


1

Bagi siapa pun yang mencari program yang akan membuat kebijakan IPSEC, filter, dll dan secara otomatis memindai log peristiwa dan menambahkan IP ke daftar blokir, saya telah menulis sebuah program kecil yang melakukan hal itu.

Saya punya masalah ini juga di mana log peristiwa saya akan diisi dengan ribuan entri untuk peretas yang mencoba masuk ke instance MSSQL saya dengan login 'sa'. Setelah banyak mencari, saya memutuskan untuk menulis program saya sendiri, meminta program tersebut membuat item IPSEC yang diperlukan, dan kemudian memindai log peristiwa setiap 60 detik untuk serangan dari alamat IP baru. Kemudian menambahkan alamat IP ke filter IPSEC, dan memblokir semua lalu lintas ke dan dari IP. Saya hanya menguji ini pada Windows Server 2008, tetapi percaya itu akan bekerja pada versi lain juga.

Silakan mengunduh program menggunakan tautan di bawah ini. Sumbangan selalu dihargai menggunakan tautan di menu klik kanan ikon taskmanager.

http://www.cgdesign.net/programs/AutoBlockIp.zip

Harap dicatat bahwa ini hanya berfungsi untuk upaya login SQL menggunakan login 'sa', tetapi saya dapat memodifikasinya untuk bekerja untuk acara log lainnya juga. Anda juga dapat melihat IP yang telah diblokir, tetapi Anda akan terus melihat beberapa item dalam log peristiwa karena program hanya berjalan setiap 60 detik. Ini karena tidak bisa menghapus satu entri log peristiwa, dan saya tidak berpikir menghapus seluruh log akan menjadi ide yang baik.

PENOLAKAN - Dengan mengunduh dan menginstal program yang disebutkan di atas, Anda setuju untuk membuat saya tidak berbahaya atas segala kerusakan, kehilangan data, korupsi, atau masalah fungsi lainnya yang diakibatkan oleh penggunaan perangkat lunak tersebut. Saya telah menguji program dengan kemampuan terbaik saya dan saat ini menjalankannya di 2 server, tetapi Anda telah diperingatkan untuk menggunakannya dengan risiko Anda sendiri.

Setiap pertanyaan atau komentar, silakan menghubungi saya menggunakan formulir kontak di situs web saya di www.cgdesign.net

-Chris


Anda melakukan pekerjaan yang baik untuk mengungkapkan afiliasi Anda dengan produk. Hati-hati, kami biasanya tidak menghargai sesi penjualan.
Scott Pack

0

Anda harus membatasi upaya login, jadi jika pengguna yang sama mencoba masuk lebih dari 5 kali, mereka diblokir dari upaya lebih lanjut selama beberapa jam atau sehari. Setidaknya mereka tidak dapat memaksa login setelah satu juta upaya.

Dan seperti yang dikatakan orang lain, jangan izinkan akses publik jika tidak perlu. Anda dapat membatasi akses ke satu set IP yang dikenal jika beberapa orang membutuhkan akses luar.


1
Akun sudah dinonaktifkan, tidak bisa jauh lebih dinonaktifkan.
mrdenny

@ Mrdenny: Saya memikirkan lebih lanjut tentang akun yang tidak cacat untuk paragraf pertama. Jika seseorang dengan kasar memaksa 'sa' mereka dapat dengan mudah memulai dengan akun lain. Setelah 5 upaya pada akun yang dinonaktifkan, cukup blokir seluruhnya.
DisgruntledGoat

Script kitties biasanya hanya akan menyerang akun sa karena mereka sudah tahu nama pengguna. Kalau tidak, mereka harus memaksa pengguna, juga, yang memakan waktu dua kali lebih lama dan mereka tidak memiliki cara untuk mengetahui apakah nama pengguna ada atau tidak.
mrdenny
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.