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?
security
sql-server-2008
Jon Erickson
sumber
sumber
Jawaban:
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.
sumber
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.
sumber
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.
sumber
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.
sumber
Mungkin hanya beberapa script kiddie menjalankan pemindai dan tidak layak mengejar waktu Anda. Saya akan melihat tidak memiliki database Anda dapat diakses dari Internet.
sumber
sumber
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.
sumber
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
sumber
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.
sumber