Rekomendasi untuk pengerasan sumber daya

Berlaku untuk rekomendasi daftar periksa Azure Well-Architected Framework Security ini:

SE:08 Perkuat semua komponen beban kerja dengan mengurangi area permukaan asing dan mengencangkan konfigurasi untuk meningkatkan biaya penyerang.

Panduan ini menjelaskan rekomendasi untuk memperkuat sumber daya dengan mengembangkan kontrol yang dilokalkan dalam beban kerja dan mempertahankannya untuk menahan serangan berulang.

Pengerasan keamanan adalah latihan pelestarian diri yang disengaja. Tujuannya adalah untuk mengurangi permukaan serangan dan meningkatkan biaya penyerang di bidang lain, yang membatasi peluang bagi aktor jahat untuk mengeksploitasi kerentanan. Untuk melindungi beban kerja Anda, terapkan praktik dan konfigurasi terbaik keamanan.

Pengerasan keamanan adalah proses berkelanjutan yang membutuhkan pemantauan dan adaptasi berkelanjutan untuk meningkatkan ancaman dan kerentanan.

Definisi

Istilah Definisi
Penguatan Praktik mengurangi area permukaan serangan dengan menghapus sumber daya asing atau menyesuaikan konfigurasi.
Stasiun kerja akses istimewa (PAW) Komputer khusus dan aman yang Anda gunakan untuk melakukan tugas sensitif, yang mengurangi risiko kompromi.
Stasiun kerja administratif aman (SAW) PAW khusus yang digunakan oleh akun dampak kritis.
Area permukaan Jejak logis beban kerja yang berisi kerentanan.

Strategi desain utama

Pengerasan keamanan adalah latihan yang sangat dilokalkan yang memperkuat kontrol di tingkat komponen, baik itu sumber daya atau proses. Saat Anda memperketat keamanan setiap komponen, itu meningkatkan jaminan keamanan agregat beban kerja Anda.

Pengerasan keamanan tidak mempertimbangkan fungsionalitas beban kerja, dan tidak mendeteksi ancaman atau melakukan pemindaian otomatis. Pengerasan keamanan berfokus pada penyetelan konfigurasi dengan mentalitas asumsi-pelanggaran dan pertahanan-mendalam. Tujuannya adalah untuk menyulitkan penyerang untuk mendapatkan kendali atas sistem. Pengerasan tidak boleh mengubah utilitas beban kerja yang dimaksudkan atau operasinya.

Langkah pertama dari proses pengerasan adalah mengumpulkan inventarsi komprehensif dari semua aset perangkat keras, perangkat lunak, dan data. Selalu perbarui catatan inventori Anda dengan menambahkan aset baru dan menghapus aset yang dinonaktifkan. Untuk semua aset dalam inventori Anda, pertimbangkan praktik terbaik berikut:

  • Kurangi jejak. Hapus area permukaan asing atau kurangi cakupannya. Hilangkan target yang mudah, atau vektor serangan murah dan mapan, seperti eksploitasi perangkat lunak yang tidak dikirim dan serangan brute force. Sebelum penyebaran produksi, Anda harus membersihkan identitas, membangun komponen, dan aset lain yang tidak diperlukan dari pohon sumber.

  • Menyempurnakan konfigurasi. Evaluasi dan kencangkan area permukaan yang tersisa. Ketika sumber daya diperkeras, metode yang dicoba dan diuji yang digunakan penyerang tidak lagi berhasil. Ini memaksa penyerang untuk memperoleh dan menggunakan metode serangan tingkat lanjut atau yang belum diujarkan, yang meningkatkan biaya mereka.

  • Pertahankan pertahanan. Pertahankan langkah-langkah perlindungan dengan melakukan deteksi ancaman berkelanjutan untuk membantu memastikan bahwa upaya pengerasan dapat diandalkan dari waktu ke waktu.

Pertimbangkan juga faktor-faktor berikut.

Sumber tepercaya. Bagian dari latihan pengerasan melibatkan rantai pasokan perangkat lunak. Panduan ini mengasumsikan bahwa semua komponen diperoleh dari sumber tepercaya. Organisasi Anda harus menyetujui perangkat lunak yang diakui dari vendor pihak ketiga. Persetujuan ini berlaku untuk sumber sistem operasi, gambar, dan alat pihak ketiga lainnya. Tanpa sumber daya tepercaya, pengerasan dapat menjadi pengosongan jaminan keamanan yang tak terbatas pada sumber yang tidak tepercaya.

Untuk rekomendasi tentang keamanan untuk rantai pasokan Anda, lihat Rekomendasi untuk mengamankan siklus hidup pengembangan.

Pelatihan. Pengerasan adalah keterampilan khusus. Ini metodis dan membutuhkan tingkat kompetensi yang tinggi. Anda perlu memahami fungsionalitas komponen dan bagaimana perubahan memengaruhi komponen. Anggota tim harus dapat membedakan panduan yang berasal dari pakar industri dan platform untuk membedakannya dari panduan dari sumber yang tidak pasti. Mendidik anggota tim Anda dalam menciptakan budaya sadar keamanan. Pastikan tim Anda mampu dalam praktik terbaik keamanan, memiliki kesadaran akan potensi ancaman, dan belajar dari retrospektif pasca-insiden.

Dokumentasi. Mendokumen dan menerbitkan persyaratan pengerasan, keputusan, dan metode yang ditentukan. Untuk transparansi, dokumentasikan juga pengecualian atau penyimpangan dari persyaratan tersebut.

Pengerasan bisa rumit, tetapi ini adalah latihan keamanan penting yang harus Anda dokumenter. Perkuat komponen inti terlebih dahulu, lalu perluas ke area lain, seperti proses otomatis dan proses manusia, untuk memperketat potensi kesenjangan. Berhati-hatilah dengan perubahan. Misalnya, langkah yang diperlukan adalah menonaktifkan pengaturan default karena perubahan pada nilai default tidak dapat memengaruhi stabilitas sistem. Bahkan jika konfigurasi penggantian sama dengan default, konfigurasi tersebut harus didefinisikan. Bagian berikut menjelaskan target umum untuk pengerasan. Evaluasi area desain utama beban kerja Anda dan ikuti strategi utama untuk mengeras pada tingkat komponen.

Jaringan

Bagi jaringan menjadi segmen untuk mengisolasi aset penting dan data sensitif dari aset yang kurang aman, yang mengurangi gerakan lateral oleh penyerang. Di segmen tersebut, terapkan pendekatan tolak secara default . Hanya tambahkan akses ke daftar izin jika dibenarkan.

Nonaktifkan port dan protokol yang tidak digunakan secara aktif. Misalnya, pada Azure App Service, jika Anda tidak perlu menyebarkan melalui FTP, Anda dapat menonaktifkannya. Atau jika Anda melakukan operasi manajemen melalui jaringan internal, Anda dapat menonaktifkan akses administratif dari internet.

Menghapus atau menonaktifkan protokol warisan. Penyerang mengeksploitasi sistem yang menggunakan versi lama. Gunakan layanan deteksi Azure untuk meninjau log dan menentukan penggunaan protokol. Mungkin sulit untuk menghapus protokol karena dapat mengganggu fungsionalitas sistem. Uji semua perubahan sebelum implementasi untuk mengurangi risiko gangguan operasional.

Perlakukan alamat IP publik (PIP) sebagai aset berisiko tinggi karena mudah diakses dan memiliki jangkauan yang luas di seluruh dunia. Untuk mengurangi paparan, hapus akses internet yang tidak perlu ke beban kerja. Gunakan alamat IP publik bersama yang disediakan layanan Microsoft, seperti Azure Front Door. Layanan ini dirancang untuk menghadap internet, dan mereka memblokir akses ke protokol yang tidak diizinkan. Banyak layanan tersebut melakukan pemeriksaan awal pada permintaan masuk di tepi jaringan. Dengan PIP khusus, Anda bertanggung jawab untuk mengelola aspek keamanannya, mengizinkan atau memblokir port, dan memindai permintaan masuk untuk memastikan validitasnya.

Untuk aplikasi yang terhubung ke internet, batasi akses dengan menambahkan layanan layer-7 yang dapat memfilter lalu lintas yang tidak valid. Jelajahi layanan asli yang memberlakukan perlindungan penolakan layanan terdistribusi (DDoS), memiliki firewall aplikasi web, dan memberikan perlindungan di tepi sebelum lalu lintas mencapai tingkat aplikasi.

Pengerasan Sistem Nama Domain (DNS) adalah praktik keamanan jaringan lain. Untuk memastikan bahwa infrastruktur DNS aman, kami sarankan Anda menggunakan pemecah masalah DNS tepercaya. Untuk memvalidasi informasi dari pemecah masalah DNS dan memberikan lapisan keamanan tambahan, jika memungkinkan, gunakan protokol keamanan DNS untuk zona DNS yang sangat sensitif. Untuk mencegah serangan seperti keracunan cache DNS, serangan DDoS, dan serangan amplifikasi, jelajahi kontrol keamanan terkait DNS lainnya seperti pembatasan laju kueri, pembatasan tingkat respons, dan cookie DNS.

Identitas

Menghapus akun yang tidak digunakan atau default. Nonaktifkan metode autentikasi dan otorisasi yang tidak digunakan.

Nonaktifkan metode autentikasi warisan karena sering menyerang vektor. Protokol lama sering kali tidak memiliki langkah-langkah penghitung serangan, seperti penguncian akun. Eksternalisasi persyaratan autentikasi Anda ke Penyedia Identitas (IdP) Anda, seperti ID Microsoft Entra.

Lebih suka federasi daripada membuat identitas duplikat. Jika identitas disusupi, lebih mudah untuk mencabut aksesnya saat dikelola secara terpusat.

Pahami kemampuan platform untuk autentikasi dan otorisasi yang ditingkatkan. Memperkuat kontrol akses dengan memanfaatkan autentikasi multifaktor, autentikasi tanpa kata sandi, Akses Bersyarat, dan fitur lain yang Microsoft Entra ID tawarkan untuk memverifikasi identitas. Anda dapat menambahkan perlindungan ekstra sekeliling peristiwa masuk dan mengurangi cakupan di mana penyerang dapat membuat permintaan.

Gunakan identitas terkelola dan identitas beban kerja tanpa kredensial jika memungkinkan. Kredensial dapat bocor. Untuk informasi selengkapnya, lihat Rekomendasi untuk melindungi rahasia aplikasi.

Gunakan pendekatan hak istimewa paling sedikit untuk proses manajemen Anda. Hapus penetapan peran yang tidak perlu dan lakukan tinjauan akses Microsoft Entra reguler. Gunakan deskripsi penetapan peran untuk menyimpan jejak kertas pembenaran, yang sangat penting untuk audit.

Sumber daya cloud

Rekomendasi penguatan sebelumnya untuk jaringan dan identitas berlaku untuk layanan cloud individual. Untuk jaringan, beri perhatian khusus pada firewall tingkat layanan, dan evaluasi aturan masuknya.

Temukan dan nonaktifkan kemampuan atau fitur yang tidak digunakan, seperti akses bidang data dan fitur produk yang tidak digunakan, yang mungkin dicakup komponen lain. Misalnya, App Service mendukung Kudu, yang menyediakan penyebaran FTP, penelusuran kesalahan jarak jauh, dan fitur lainnya. Jika Anda tidak memerlukan fitur tersebut, nonaktifkan fitur tersebut.

Selalu ikuti peta jalan Azure dan peta jalan beban kerja. Terapkan pembaruan patching dan penerapan versi yang ditawarkan layanan Azure. Izinkan pembaruan yang disediakan platform, dan berlangganan saluran pembaruan otomatis.

Risiko: Sumber daya cloud sering memiliki persyaratan untuk tunjangan atau harus berjalan dalam konfigurasi yang di dokumentasi agar dianggap didukung. Beberapa teknik pengerasan, seperti memblokir lalu lintas keluar secara agresif, dapat menyebabkan layanan berada di luar konfigurasi yang didukung, bahkan jika layanan beroperasi secara normal. Pahami persyaratan runtime sumber daya cloud dari platform Anda untuk memastikan bahwa Anda mempertahankan dukungan untuk sumber daya tersebut.

Aplikasi

Evaluasi area tempat aplikasi Anda mungkin secara tidak sengaja membocorkan informasi. Misalnya, Anda memiliki API yang mengambil informasi pengguna. Permintaan mungkin memiliki ID pengguna yang valid, dan aplikasi Anda mengembalikan kesalahan 403. Tetapi dengan ID pelanggan yang tidak valid, permintaan mengembalikan kesalahan 404. Kemudian Anda secara efektif membocorkan informasi tentang ID pengguna Anda.

Mungkin ada kasus yang lebih halang. Misalnya, latensi respons dengan ID pengguna yang valid lebih tinggi dari ID pelanggan yang tidak valid.

Pertimbangkan untuk menerapkan pengerasan aplikasi di area berikut:

  • Validasi dan sanitasi input: Mencegah serangan injeksi seperti injeksi SQL dan scripting lintas situs (XSS) dengan memvalidasi dan membersihkan semua input pengguna. Mengotomatiskan sanitasi input dengan menggunakan pustaka dan kerangka kerja validasi input.

  • Manajemen sesi: Melindungi pengidentifikasi sesi dan token dari serangan pencurian atau fiksasi sesi dengan menggunakan teknik manajemen sesi yang aman. Terapkan batas waktu sesi, dan terapkan autentikasi ulang untuk tindakan sensitif.

  • Manajemen kesalahan: Terapkan penanganan kesalahan kustom untuk meminimalkan mengekspos informasi sensitif kepada penyerang. Catat kesalahan dengan aman dan pantau log ini untuk aktivitas yang mencurigakan.

  • Header keamanan HTTP: Mengurangi kerentanan web umum dengan menggunakan header keamanan dalam respons HTTP, seperti Kebijakan Keamanan Konten (CSP), X-Content-Type-Options, dan X-Frame-Options.

  • Keamanan API: Amankan API Anda dengan mekanisme autentikasi dan otorisasi yang tepat. Untuk lebih meningkatkan keamanan, terapkan pembatasan tarif, validasi permintaan, dan kontrol akses untuk titik akhir API.

Ikuti praktik pengkodan yang aman saat Anda mengembangkan dan memelihara aplikasi. Secara teratur melakukan tinjauan kode dan memindai aplikasi untuk kerentanan. Untuk informasi selengkapnya, lihat Rekomendasi untuk mengamankan siklus hidup pengembangan.

Operasi manajemen

Juga mengeraskan sumber daya non-runtime lainnya. Misalnya, kurangi jejak operasi build Anda dengan mengambil inventori semua aset dan menghapus aset yang tidak digunakan dari alur Anda. Kemudian, tarik tugas yang diterbitkan oleh sumber tepercaya, dan hanya jalankan tugas yang divalidasi.

Tentukan apakah Anda memerlukan agen build yang dihosting Microsoft atau dihost sendiri. Agen build yang dihost sendiri membutuhkan manajemen ekstra dan harus diperkuat.

Dari perspektif pengamatan, terapkan proses untuk meninjau log untuk potensi pelanggaran. Tinjau dan perbarui aturan kontrol akses secara teratur berdasarkan log akses. Bekerja sama dengan tim pusat untuk menganalisis log manajemen peristiwa informasi keamanan (SIEM) dan respons otomatis orkestrasi keamanan (SOAR) untuk mendeteksi anomali.

Pertimbangkan untuk mewajibkan PAW atau SAW untuk operasi manajemen istimewa. PAW dan SAW adalah perangkat fisik yang diperkeras yang menawarkan keuntungan keamanan yang signifikan, tetapi implementasinya membutuhkan perencanaan dan manajemen yang cermat. Untuk informasi selengkapnya, lihat Mengamankan perangkat sebagai bagian dari cerita akses istimewa.

Fasilitasi Azure

Microsoft Defender untuk Cloud menawarkan beberapa kemampuan pengerasan:

Center for Internet Security (CIS) menawarkan gambar yang diperkeras dalam Marketplace Azure.

Anda dapat menggunakan Azure VM Image Builder untuk membangun proses berulang untuk gambar OS yang diperkeras. Common Base Linux-Mariner adalah distribusi Linux yang diperkeras yang dikembangkan oleh Microsoft yang mengikuti standar keamanan dan sertifikasi industri. Anda dapat menggunakannya dengan produk infrastruktur Azure untuk membangun implementasi beban kerja.

Contoh

Prosedur berikut adalah contoh cara mengeraskan sistem operasi:

  1. Kurangi jejaknya. Hapus komponen yang tidak perlu dalam gambar. Instal hanya apa yang Anda butuhkan.

  2. Menyempurnakan konfigurasi. Nonaktifkan akun yang tidak digunakan. Konfigurasi default sistem operasi memiliki akun tambahan yang ditautkan ke grup keamanan. Jika Anda tidak menggunakan akun tersebut, nonaktifkan atau hapus dari sistem. Identitas tambahan adalah vektor ancaman yang dapat digunakan untuk mendapatkan akses ke server.

    Nonaktifkan akses yang tidak perlu ke sistem file. Enkripsi sistem file dan sesuaikan kontrol akses untuk identitas dan jaringan.

    Jalankan hanya apa yang diperlukan. Blokir aplikasi dan layanan yang berjalan secara default. Hanya setujui aplikasi dan layanan yang diperlukan untuk fungsionalitas beban kerja.

  3. Pertahankan pertahanan. Perbarui komponen sistem operasi secara teratur dengan pembaruan dan patch keamanan terbaru untuk mengurangi kerentanan yang diketahui.

Perataan organisasi

Cloud Adoption Framework untuk Azure menyediakan panduan tentang membuat identitas terpusat dan fungsi manajemen akses. Untuk informasi selengkapnya, lihat Area desain manajemen identitas dan akses Azure.

Tolok ukur CIS

Daftar periksa keamanan

Lihat kumpulan rekomendasi lengkap.