Bisakah layanan agen msdeploy membuka vektor serangan di server kami?

13

kami sedang mengevaluasi penggunaan Layanan Agen Penerapan Web msdeploy untuk penerapan otomatis ke server produksi kami.

Satu hal yang tidak dapat kami temukan adalah potensi dampak keamanan.

Untuk satu hal, server web kami tentu saja aman (di belakang firewall dan load balancers) sehingga hanya lalu lintas http yang diizinkan dari luar.

Namun demikian, agen penyebaran web berjalan terintegrasi dengan IIS (satu-satunya yang menghadap ke luar), karena dapat diakses melalui http (s). Jadi kami khawatir bahwa hal itu berpotensi untuk mendapatkan akses ke agen melalui web yang dihosting di IIS itu - dan dengan ini mendapatkan akses baca dan tulis ke semua web kami.

Seberapa aman msdeploy untuk penggunaan di lingkungan produksi?

Pembaruan: Server web produksi menjalankan IIS7.

Sebastian PR Gingter
sumber
apakah Anda menggunakan IIS 6 atau 7 dengan msdeploy?
Agustus
Ini akan menjadi IIS7 terutama. Info juga diperbarui. dalam pertanyaan.
Sebastian PR Gingter

Jawaban:

10

Sudah lama sejak saya menggunakannya, dan saya hanya menggunakannya dengan IIS 6 yang tidak termasuk bagian manajemen web. Anda dapat memodifikasi URL dan port manajemen jarak jauh dan memblokirnya di firewall eksternal. Lihat ini: Menyesuaikan dan Mengamankan Layanan Jarak Jauh . Itu mekanisme keamanan utama tampaknya keamanan akun pengguna, tetapi seperti yang Anda katakan, itu semua dalam IIS, sehingga kerentanan IIS dapat membuat langkah-langkah keamanan tidak berguna sampai ditambal. Untuk alasan itu saja, saya akan ragu untuk memperbolehkan memperbarui konten web dari internet, tetapi ini tergantung pada persyaratan keamanan org Anda vs kebutuhan pengembang web Anda.

Untuk menghindari mengekspos layanan penyebaran web ke internet, Anda dapat melakukan hal berikut:

  • memiliki situs web default mendengarkan pada IP hanya internal yang bukan NATed atau bagian dari rentang IP load-balancing
  • Anda bisa membuat situs web manajemen default hanya mendengarkan di localhost, lalu menulis skrip yang menyebut msdeploy dapat dijalankan di setiap host untuk dijalankan secara lokal (alih-alih menggunakan msdeploy untuk menghubungkan dari jarak jauh ke semua host dari satu titik dari jarak jauh)
  • minta permintaan eksternal filter penyeimbang beban Anda yang mencoba membuka URL penyebaran web (mis. https: // server: 8081 / MSDeploy )
  • memiliki host penyebaran yang ditunjuk (internal) yang berasal dari semua penyebaran web Anda dan hanya mengizinkan IP untuk terhubung ke server web Anda pada URL penempatan (memblokir apa pun yang bukan dari host penyebaran tunggal)

Jika masih ada kebutuhan untuk memiliki fungsi penyebaran web yang tersedia langsung dari internet katakanlah jika semua pengembang web Anda bekerja dari jarak jauh, (Saya tidak bisa membayangkan mengapa ini akan diperlukan secara langsungdengan penggunaan VPN yang meluas), Anda bisa memiliki proses penyebaran 2 tahap di mana Anda menyiapkan DMZ yang terisolasi dengan kotak IIS 7 yang diaktifkan Web Deploy di dalamnya (terpisah dari DMZ pertanian web Anda), dan memungkinkan pengembang web Anda untuk terhubung hanya dengan DMZ dari internet untuk menyebarkan perubahan dari jarak jauh. Kemudian Anda dapat terhubung secara internal ke host itu dan menyebar ke seluruh server web Anda setelah meninjau perubahan, pengujian, dll. Meskipun metode ini bukan tanpa risiko - pengguna yang jahat pada akhirnya dapat membahayakan fungsionalitas penyebaran web, memperkenalkan beberapa kode berbahaya tanpa sepengetahuan Anda dan Anda tanpa sadar bisa mengenalkannya ke lingkungan produksi Anda.

Agustus
sumber
Pembaruan hanya akan dilakukan dari akses VPN yang aman ke server produksi, jadi tidak perlu akses dari internet. Saya masih memiliki firasat buruk tentang menginstal sesuatu yang dapat mengubah konfigurasi server web. Saat ini, orang-orang dengan 'menyebarkan izin' memiliki akses SFTP ke folder web spesifik mereka saja, server web tidak dalam domain dan benar-benar terisolasi dengan cara lain.
Sebastian PR Gingter
1
biasanya saya akan setuju dengan "Saya masih memiliki firasat buruk tentang menginstal sesuatu yang dapat mengubah konfigurasi server web." lubang yang tidak diinginkan melalui proses pembaruan manual jauh lebih mungkin dan berisiko daripada mengaktifkan layanan yang memastikan konfigurasi yang konsisten pada semua server web Anda.
Agustus
Oke, saya akan menganggapnya sebagai "itu mungkin cukup aman untuk mengambil risiko dengan imbalan peluang penyebaran otomatis yang lebih mudah". Terima kasih.
Sebastian PR Gingter
0

Jawaban sederhana YA, Apa pun yang berjalan di komputer mana pun membuka vektor serangan. Harus selalu diasumsikan bahwa ada kerentanan dalam perangkat lunak. Mitigasi adalah faktor kunci, membatasi akses ke jaringan, pengguna, komputer, IP, dll. Juga Periksa akses fisik.

Anda juga dapat membatasi waktu pembaruan diizinkan terjadi, jika firewall Anda dapat menangani aturan dari waktu tertentu dalam sehari.

Saya akan merekomendasikan membatasi pengguna di server web Anda, yaitu siapa yang dapat melakukan pembaruan. (Anda mungkin sudah melakukan ini) Maka saya akan menggunakan firewall untuk membatasi apa jaringan (IP) memiliki akses ke antarmuka manajemen. Kemudian jika didukung saya hanya mengizinkan pembaruan ditangani selama jam kerja (melalui aturan firewall). Perhatikan bahwa Anda selalu dapat meminta admin firewall mengedit aturan untuk pembaruan darurat. Akhirnya saya akan melihat kelemahan yang diketahui di Agen Penerapan Web & mengurangi lebih lanjut, atau menonaktifkannya sampai perbaikan dapat diimplementasikan.

tkrabec
sumber