Apakah ada cara aman untuk memungkinkan IIS 7 di DMZ untuk mengakses server DB di belakang firewall?

12

Admin jaringan kami bersikeras bahwa tidak aman untuk server web kami, yang dihosting di DMZ, untuk mengakses server DB di belakang firewall kami. Untuk menyelesaikan masalah, kami mengakses data melalui layanan web atau WCF. Saya merasa bahwa ini adalah beban kinerja yang tidak perlu yang dapat dihilangkan jika server web dapat mengakses DB secara langsung.

Alasan saya telah diberikan adalah bahwa seorang peretas dapat login ke server web mereka kemudian dapat mengakses DB. Apakah mungkin untuk membuka port hanya untuk IIS atau tidak mungkin secara spesifik? Jika kita dapat menguncinya hanya pada IIS, dapatkah ini dengan mudah dibuat oleh peretas?

Saya telah membaca berbagai posting di internet tetapi sepertinya saya tidak dapat menemukan jawaban yang pasti.

Al

Al Polden
sumber
Pertanyaan menarik!
Kangkan
Pertanyaan yang sangat bagus! Akan jauh lebih baik jika judulnya bisa lebih umum, tanpa menyebutkan nama tumpukan teknologi (IIS, WCF, dll.)
Chathura Kulasinghe

Jawaban:

9

Saya telah menyiapkan platform untuk perusahaan skala besar dan praktik normal adalah untuk memastikan basis data Anda berada pada VLAN yang berbeda dari server web Anda dengan firewall yang duduk di antara lalu lintas perutean ini ke port server basis data saja serta firewall di depan web Anda server. Biasanya firewall depan Anda akan meneruskan port 80 (HTTP) dan port 443 (HTTPS) ke server web Anda. Firewall terletak di antara server web dan server database akan meneruskan lalu lintas dari server web ke port yang digunakan oleh database Anda (biasanya port 1433 jika menggunakan Microsoft SQL Server).

Untuk meningkatkan keamanan:

  • Pastikan Anda menggunakan akun paling istimewa untuk mengakses server database
  • Jika Anda menggunakan ASP.NET Anda dapat mengenkripsi string koneksi database Anda di web.config
  • Pekerjakan perusahaan pihak ketiga untuk melakukan tes penetrasi untuk memberi saran tentang segala kerentanan
  • Pastikan Pembaruan dan Paket Layanan diinstal secara terjadwal teratur.

Jika basis data Anda adalah basis data MI6 atau CIA, maka admin jaringan Anda mungkin benar, tetapi juga saya sepertinya terlalu bereaksi.

Jika database memang berisi data yang benar-benar tidak dapat diekspos ke jaringan publik tetapi data yang dibutuhkan database Anda tidak terlalu sensitif, bisakah Anda melihat replikasi tabel yang dibutuhkan situs web Anda ke database yang ada di lingkungan hosting Anda?

Saya akan mengajukan pertanyaan kepada mereka:

  • Jika seorang hacker mendapatkan akses ke server web, dapatkah mereka memanggil layanan web Anda?
  • Jika kerentanan ditemukan di IIS yang memungkinkan mereka untuk mengakses server web Anda, maka tentunya mereka hanya mengeksploitasi kerentanan yang sama pada server web hosting layanan web Anda?
  • Bisakah mereka menginstal perangkat lunak yang memonitor input pengguna untuk mengendus kata sandi di memori?

sumber
Terima kasih atas sarannya. Sekarang, saya memiliki tugas yang sulit membujuk admin jaringan untuk mengubah pengaturan.
Al Polden
4

Server web Anda dapat berada di belakang firewall juga, mereka hanya perlu memiliki port 80 diteruskan ke server yang benar. Semua port lain yang tidak perlu server web Anda harus ditutup pada firewall eksternal yang paling. Maka harus ada firewall antara server web Anda dan server data Anda. Di firewall itu Anda hanya akan mengizinkan port yang dibuka oleh database.

Ini adalah diagram

Internet -> Firewall -> Server Web -> Firewall -> Database

FYI, saya seorang pengembang walaupun saya sering bekerja dengan staf TI kami di perusahaan saya karena kami adalah toko kecil.

Paul Mendoza
sumber