Membuat Azure DevOps Anda aman

Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Saat Anda menangani informasi dan data, terutama dalam solusi berbasis cloud seperti Azure DevOps Services, keamanan harus menjadi prioritas utama Anda. Meskipun Microsoft memastikan keamanan infrastruktur cloud yang mendasar, Anda bertanggung jawab untuk mengonfigurasi keamanan dalam Azure DevOps. Artikel ini memberikan gambaran umum tentang konfigurasi terkait keamanan yang diperlukan untuk melindungi lingkungan Azure DevOps Anda dari ancaman dan kerentanan.

Petunjuk / Saran

Anda dapat menggunakan AI untuk membantu tugas Azure DevOps. Lihat Aktifkan bantuan AI dengan Azure DevOps MCP Server untuk memulai.

Penting

Pertimbangkan untuk menggunakan token Microsoft Entra yang lebih aman daripada token akses pribadi yang berisiko lebih tinggi. Untuk informasi selengkapnya, lihat Mengurangi penggunaan PAT. Tinjau panduan autentikasi untuk memilih mekanisme autentikasi yang tepat untuk kebutuhan Anda.

Melindungi jaringan dan data Anda

Mengamankan jaringan Anda sangat penting saat Anda bekerja dengan Azure DevOps. Lindungi data dan sumber daya Anda dari akses yang tidak sah dan potensi ancaman. Terapkan langkah-langkah keamanan jaringan dan perlindungan data untuk membantu memastikan bahwa hanya sumber tepercaya yang dapat mengakses lingkungan Azure DevOps Anda. Untuk mengamankan jaringan saat Anda bekerja dengan Azure DevOps, lakukan tindakan berikut:

  • Menyiapkan daftar IP yang diizinkan: Membatasi akses ke alamat IP tertentu untuk mengizinkan lalu lintas hanya dari sumber tepercaya, mengurangi permukaan serangan. Jika organisasi Anda diamankan dengan menggunakan firewall atau server proksi, tambahkan IP dan URL ke daftar yang diizinkan.
  • Gunakan enkripsi data: Lindungi data Anda dengan menggunakan strategi enkripsi, pencadangan, dan pemulihan. Selalu mengenkripsi data saat dalam perjalanan dan saat tersimpan. Amankan saluran komunikasi dengan menggunakan protokol seperti HTTPS. Pelajari selengkapnya tentang Azure Encryption.
  • Validasi sertifikat: Pastikan sertifikat valid dan dikeluarkan oleh otoritas tepercaya saat membuat koneksi.
  • Terapkan Web Application Firewalls (WAF): Filter, pantau, dan blokir lalu lintas berbasis web berbahaya dengan menggunakan WAF untuk lapisan perlindungan ekstra terhadap serangan umum.
  • Gambaran umum kelompok keamanan jaringan (NSG): Gunakan NSG untuk mengontrol lalu lintas masuk dan keluar ke sumber daya Azure, memastikan hanya lalu lintas resmi yang diizinkan.
  • Gunakan Azure Firewall: Sebarkan Azure Firewall untuk menyediakan kebijakan keamanan jaringan terpusat di beberapa langganan Azure dan jaringan virtual.
  • Pantau lalu lintas jaringan dengan Azure Network Watcher: Gunakan Azure Network Watcher untuk memantau dan mendiagnosis masalah jaringan, memastikan keamanan dan performa jaringan Anda.
  • Terapkan perlindungan DDoS dengan Azure DDoS Protection: Aktifkan Azure DDoS Protection untuk melindungi aplikasi Anda dari serangan penolakan layanan terdistribusi (DDoS).

Untuk informasi selengkapnya, lihat praktik terbaik manajemen aplikasi .

Menerapkan Zero Trust

Adopsi prinsip Zero Trust di seluruh proses DevOps Anda untuk memastikan setiap permintaan akses diverifikasi secara menyeluruh, terlepas dari asalnya. Zero Trust beroperasi pada prinsip "jangan pernah percaya, selalu verifikasi," yang berarti bahwa tidak ada entitas, baik di dalam atau di luar jaringan, dipercaya secara default. Dengan menerapkan Zero Trust, Anda dapat secara signifikan mengurangi risiko pelanggaran keamanan dan memastikan bahwa hanya pengguna dan perangkat yang berwenang yang dapat mengakses sumber daya Anda.

Zero Trust membantu melindungi dari gerakan menyamping dalam jaringan, memastikan bahwa bahkan jika ada bagian jaringan yang terkompromi, ancaman tertahan dan sehingga tidak dapat menyebar. Untuk informasi selengkapnya, lihat panduan Penilaian Zero Trust .

Mematuhi standar industri

Pastikan lingkungan Azure DevOps Anda mematuhi standar dan peraturan industri yang melindungi lingkungan Anda dan mempertahankan kepercayaan dengan pengguna Anda.

  • Pastikan kepatuhan terhadap standar industri: Azure DevOps mematuhi berbagai standar dan peraturan industri, seperti ISO/IEC 27001, SOC 1/2/3, dan banyak lagi. Pastikan lingkungan Anda mematuhi standar ini.
  • Menerapkan kebijakan kepatuhan: Terapkan kebijakan cabang dan kebijakan kepatuhan untuk alur Anda.
  • Mulai menggunakan Tata Kelola Komponen untuk CI/CD, yang menawarkan manfaat berikut:
    • Deteksi kerentanan keamanan: Memberi tahu Anda tentang kerentanan yang diketahui dalam komponen sumber terbuka.
    • Kepatuhan lisensi: Memastikan komponen mematuhi kebijakan lisensi organisasi Anda.
    • Penegakan kebijakan: Memastikan hanya versi yang disetujui yang digunakan.
    • Visibilitas dengan pelacakan: Memberikan visibilitas ke dalam komponen di seluruh repositori untuk manajemen yang lebih mudah.

Mengontrol dan membatasi akses

Tinjau semua kebijakan keamanan yang tersedia untuk administrator guna membatasi dan mengontrol siapa yang memiliki akses ke organisasi. Pertahankan kontrol organisasi dengan mencegah pembuatan proyek yang tidak perlu.

Mengelola tamu eksternal

Akses tamu eksternal dapat menimbulkan potensi risiko keamanan jika tidak dikelola dengan benar. Minimalkan risiko ini dan pastikan bahwa tamu eksternal memiliki tingkat akses yang sesuai tanpa mengorbankan keamanan lingkungan Anda.

  • Blokir akses tamu eksternal: Nonaktifkan kebijakan "Izinkan undangan dikirim ke domain apa pun" untuk mencegah akses tamu eksternal jika tidak ada kebutuhan bisnis untuk itu.
  • Gunakan email atau UPN yang berbeda: Gunakan alamat email atau nama prinsipal pengguna (UPN) yang berbeda untuk akun pribadi dan bisnis untuk menghilangkan ambiguitas antara akun pribadi dan akun terkait kerja.
  • Mengelompokkan pengguna tamu eksternal: Tempatkan semua pengguna tamu eksternal dalam satu grup Microsoft Entra dan kelola izin untuk grup ini dengan tepat. Hapus penetapan langsung untuk memastikan aturan grup berlaku untuk pengguna ini.
  • Mengevaluasi ulang aturan secara teratur: Tinjau aturan secara teratur pada tab Aturan grup di halaman Pengguna. Pertimbangkan perubahan keanggotaan grup apa pun di ID Microsoft Entra yang mungkin memengaruhi organisasi Anda. ID Microsoft Entra dapat memakan waktu hingga 24 jam untuk memperbarui keanggotaan grup dinamis, dan aturan secara otomatis dievaluasi ulang setiap 24 jam dan setiap kali aturan grup berubah.

Untuk informasi selengkapnya, lihat Tamu B2B di ID Microsoft Entra.

Menghapus pengguna yang tidak perlu

Menghapus pengguna yang tidak aktif atau tidak sah dari organisasi Anda membantu menjaga lingkungan yang aman dan mengurangi risiko potensi pelanggaran keamanan.

  • Langsung hapus pengguna akun Microsoft (MSA) yang tidak aktif: Hapus langsung pengguna yang tidak aktif dari organisasi Anda jika mereka menggunakan MSA. Anda tidak dapat membuat kueri untuk item kerja yang ditetapkan untuk menghapus akun MSA.
  • Nonaktifkan atau hapus akun pengguna Microsoft Entra: Jika tersambung ke ID Microsoft Entra, nonaktifkan atau hapus akun pengguna Microsoft Entra sambil menjaga akun pengguna Azure DevOps tetap aktif. Anda dapat melanjutkan kueri riwayat item kerja dengan menggunakan ID pengguna Azure DevOps mereka.
  • Mencabut PAT pengguna oleh administrator: Pastikan manajemen aman dari token autentikasi penting ini dengan meninjau dan mencabut PAT pengguna yang ada secara teratur.
  • Cabut izin khusus yang diberikan kepada pengguna individual: Audit dan cabut izin khusus apa pun yang diberikan kepada pengguna individu untuk memastikan keselarasan dengan prinsip hak istimewa paling sedikit.
  • Menetapkan ulang pekerjaan dari pengguna yang dihapus: Sebelum menghapus pengguna, tetapkan kembali item kerja mereka ke anggota tim saat ini untuk mendistribusikan beban secara efektif.

Izin ruang lingkup

Berikan izin minimum yang diperlukan dan tingkat akses untuk memastikan bahwa hanya individu dan layanan yang berwenang yang dapat mengakses informasi sensitif dan melakukan tindakan penting. Praktik ini membantu meminimalkan risiko akses yang tidak sah dan potensi pelanggaran data.

Tinjau dan perbarui pengaturan ini secara teratur untuk beradaptasi dengan perubahan di organisasi Anda, seperti perubahan peran, karyawan baru, atau keberangkatan. Menerapkan audit berkala izin dan tingkat akses dapat membantu mengidentifikasi dan memperbaiki perbedaan apa pun, memastikan bahwa postur keamanan Anda tetap kuat dan selaras dengan praktik terbaik.

Pelajari selengkapnya tentang izin:

Untuk memastikan manajemen izin yang aman dan efisien, tetapkan cakupan izin dengan tepat dalam lingkungan Azure DevOps Anda. Izin cakupan melibatkan penentuan dan penetapan tingkat akses yang sesuai kepada pengguna dan grup berdasarkan peran dan tanggung jawab mereka. Praktik ini membantu meminimalkan risiko akses yang tidak sah dan potensi pelanggaran data dengan memastikan bahwa hanya individu yang berwenang yang memiliki akses ke informasi sensitif dan tindakan penting.

Untuk membatasi atau menentukan izin dengan efektif, selesaikan tindakan berikut:

  • Nonaktifkan pewarisan izin: Hindari pewarisan hak akses dan cegah akses yang tidak disengaja atau tidak diinginkan. Pewarisan secara tidak sengaja dapat memberikan izin kepada pengguna yang seharusnya tidak memilikinya, karena sifatnya yang diizinkan secara default. Kelola dan atur izin secara eksplisit dengan hati-hati untuk memastikan bahwa hanya pengguna yang dimaksudkan yang memiliki akses.
  • Lingkungan segmen: Gunakan akun Azure terpisah untuk lingkungan yang berbeda, seperti Pengembangan, Pengujian, dan Produksi, untuk meningkatkan keamanan dan mencegah konflik. Pendekatan ini meminimalkan risiko konflik sumber daya dan kontaminasi data antara lingkungan dan memungkinkan manajemen dan isolasi sumber daya yang lebih baik. Untuk informasi selengkapnya, lihat Zona Pendaratan Azure.
  • Mengontrol akses dan memastikan kepatuhan: Gunakan Azure Policy untuk membatasi akses ke wilayah dan layanan Azure yang tidak digunakan, memastikan kepatuhan terhadap standar organisasi. Tindakan ini membantu menerapkan praktik terbaik dan mempertahankan lingkungan yang aman dengan mencegah akses dan penggunaan yang tidak sah.
  • Terapkan kontrol berbasis peran Azure (ABAC): Gunakan ABAC dengan sumber daya yang ditandai dengan benar untuk membatasi akses yang tidak sah. Tindakan ini memastikan bahwa izin akses diberikan berdasarkan atribut tertentu, meningkatkan keamanan dengan mencegah pembuatan dan akses sumber daya yang tidak sah.
  • Gunakan kelompok keamanan: Gunakan grup keamanan untuk mengelola izin secara efisien untuk beberapa pengguna. Metode ini menyederhanakan pemberian dan pencabutan akses dibandingkan dengan menetapkan izin satu per satu dan memastikan konsistensi dan manajemen yang lebih mudah di seluruh organisasi Anda.
    • Gunakan ID Microsoft Entra, Direktori Aktif, atau grup keamanan Windows saat Anda mengelola banyak pengguna.
    • Kurangi risiko membocorkan informasi sensitif dan menyebarkan kode yang tidak aman dengan membatasi akses ke proyek dan repositori ke grup keamanan bawaan atau kustom.
    • Manfaatkan peran bawaan dan default ke Kontributor untuk pengembang. Para admin diberikan ke grup keamanan Administrator Proyek untuk mendapatkan izin yang lebih tinggi, memungkinkan mereka mengonfigurasi izin keamanan.
    • Jaga grup sekecil mungkin, membatasi akses.
    • Terapkan akses just-in-time dengan grup Microsoft Entra Privileged Identity Management (PIM). Berikan izin yang ditingkatkan hanya jika diperlukan, mengurangi risiko yang terkait dengan akses permanen.

Ganti akun layanan dengan alternatif modern

Akun layanan dengan token akses pribadi (PAT) telah lama digunakan untuk proses dan layanan otomatis, tetapi sering mengakumulasi izin yang ditingkatkan dan menciptakan risiko keamanan. Alternatif modern seperti token Microsoft Entra, perwakilan layanan, dan identitas terkelola memberikan keamanan yang lebih kuat dengan overhead manajemen yang lebih sedikit. Sebelum melanjutkan dengan akun layanan, evaluasi apakah pendekatan autentikasi yang lebih aman lebih sesuai dengan kebutuhan Anda.

  • Ganti token akses pribadi (PATs) Anda dengan token Microsoft Entra:Token Microsoft Entra adalah token berumur pendek (satu jam) yang dapat Anda gunakan sebagai pengganti sebagian besar token akses pribadi. PATs populer karena kemudahan penggunaannya, tetapi mereka juga merupakan vektor serangan yang populer karena mudahnya mereka bocor.
  • Baca semua mekanisme autentikasi yang tersedia sebelum memilihnya.
  • Gunakan perwakilan layanan sebagai gantinya:Perwakilan layanan mewakili identitas aplikasi Microsoft Entra dan memiliki izin mereka sendiri yang menentukan apa yang dapat dilakukan aplikasi di penyewa tertentu. Perwakilan layanan adalah pilihan yang direkomendasikan untuk mengelola izin yang diperlukan oleh aplikasi. Ganti PAT akun layanan apa pun dengan token Microsoft Entra yang diperoleh untuk perwakilan layanan.
    • Lakukan satu langkah lebih jauh dengan mengautentikasi dengan menggunakan identitas terkelola jika Anda membangun di atas sumber daya Azure. Identitas terkelola mengurus semua manajemen kredensial untuk Anda.
  • Gunakan koneksi layanan: Koneksi layanan memungkinkan Anda menggunakan prinsipal layanan dalam pipeline. Gunakan koneksi layanan jika memungkinkan untuk terhubung dengan aman ke layanan tanpa meneruskan variabel rahasia langsung ke build. Batasi koneksi ke kasus penggunaan tertentu. untuk informasi selengkapnya, lihat bagian Koneksi layanan cakupan di artikel ini.
    • Autentikasi dengan sumber daya Azure dengan menggunakan federasi identitas beban kerja dengan pendaftaran aplikasi atau identitas terkelola alih-alih menggunakan pendaftaran aplikasi dengan rahasia.

Sementara akun layanan tetap digunakan:

  • Buat akun layanan tujuan tunggal: Setiap layanan harus memiliki akun khusus untuk meminimalkan risiko. Hindari menggunakan akun pengguna reguler sebagai akun layanan .
  • Identifikasi dan nonaktifkan akun layanan yang tidak digunakan: Tinjau secara teratur dan identifikasi akun yang sudah tidak digunakan lagi. Nonaktifkan akun yang tidak digunakan sebelum mempertimbangkan penghapusan.
  • Batasi hak istimewa: Batasi hak istimewa akun layanan hingga minimum yang diperlukan. Hindari hak masuk interaktif untuk akun layanan.
  • Gunakan identitas terpisah untuk pembaca laporan: Jika menggunakan akun domain untuk akun layanan, gunakan identitas yang berbeda untuk pembaca laporan guna mengisolasi izin dan mencegah akses yang tidak perlu.
  • Gunakan akun lokal untuk penginstalan grup kerja: Saat menginstal komponen dalam grup kerja, gunakan akun lokal untuk akun pengguna. Hindari akun domain dalam skenario ini.
  • Memantau aktivitas akun layanan: Terapkan audit dan buat aliran audit untuk memantau aktivitas akun layanan.

Koneksi lingkup layanan

Untuk memastikan akses yang aman dan efisien ke sumber daya Azure, tentukan cakupan koneksi layanan secara tepat. Koneksi layanan memungkinkan Azure DevOps terhubung ke layanan dan sumber daya eksternal. Dengan mencakup koneksi ini, Anda dapat membatasi akses hanya ke sumber daya yang diperlukan dan mengurangi risiko akses yang tidak sah.

  • Batasi akses: Batasi akses dengan mencakup koneksi layanan Azure Resource Manager Anda ke sumber daya dan grup tertentu. Jangan berikan hak kontributor yang luas di seluruh langganan Azure.
  • Gunakan Azure Resource Manager: Autentikasi dengan sumber daya Azure dengan menggunakan federasi identitas beban kerja dengan pendaftaran aplikasi atau identitas terkelola alih-alih menggunakan pendaftaran aplikasi dengan rahasia. Untuk informasi selengkapnya, lihat Membuat koneksi layanan Azure Resource Manager yang menggunakan federasi identitas beban kerja.
  • Grup sumber daya cakupan: Pastikan grup sumber daya hanya berisi Virtual Machines (VM) atau sumber daya yang diperlukan untuk proses build.
  • Hindari koneksi layanan klasik: Pilih koneksi layanan Azure Resource Manager modern alih-alih yang klasik, yang tidak memiliki opsi cakupan.
  • Gunakan akun layanan tim khusus tujuan: Autentikasi koneksi layanan dengan menggunakan akun layanan tim khusus tujuan untuk menjaga keamanan dan kontrol.

Untuk informasi selengkapnya, lihat jenis koneksi layanan umum .

Meninjau peristiwa audit

Audit dapat melacak tindakan pengguna, perubahan izin, dan pola penggunaan dalam organisasi Anda. Gunakan alat-alat ini untuk segera mengidentifikasi dan mengatasi potensi insiden keamanan.

  • Aktifkan audit: Lacak dan lihat peristiwa yang terkait dengan tindakan pengguna, izin, perubahan, dan insiden keamanan.
  • Tinjau log audit dan aliran secara teratur: Tinjau log audit secara teratur untuk memantau aktivitas pengguna dan mendeteksi perilaku yang mencurigakan. Cari pola penggunaan yang tidak terduga, terutama oleh administrator dan pengguna lain. Tindakan ini membantu mengidentifikasi potensi pelanggaran keamanan dan mengambil tindakan korektif. Pelajari selengkapnya tentang peristiwa audit yang kami lacak.
  • Mengonfigurasi pemberitahuan keamanan: Konfigurasikan pemberitahuan untuk memberi tahu Anda tentang insiden keamanan atau pelanggaran kebijakan apa pun. Tindakan ini memastikan respons tepat waktu terhadap potensi ancaman.

Mengamankan layanan Anda

Untuk memastikan keamanan dan integritas layanan Anda di Azure DevOps, terapkan langkah-langkah keamanan untuk setiap layanan. Langkah-langkah ini termasuk mengatur izin, mengelola akses, dan menggunakan fitur keamanan khusus untuk setiap layanan.

Mengotomatiskan pemindaian keamanan

Pantau kerentanan kode dan rahasia dengan menggunakan alat keamanan otomatis berikut:

  • Gunakan pemindaian dan analisis kode: Gunakan alat seperti Pertahanan Microsoft untuk memindai kode Anda untuk kerentanan, rahasia, dan kesalahan konfigurasi.
  • Gunakan GitHub Advanced Security untuk Azure DevOps: Identifikasi kredensial dan kerentanan dalam kode Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi GitHub Advanced Security untuk Azure DevOps.
  • Gunakan pemindaian rahasia asli untuk GitHub: Identifikasi rahasia dalam kode dengan menggunakan fitur pemindaian asli GitHub. Untuk informasi selengkapnya, lihat Tentang pemindaian rahasia.

Untuk informasi selengkapnya, lihat gambaran umum keamanan lanjutan GitHub .

Mengotomatiskan administrasi keamanan dengan menggunakan skrip PowerShell

Menyederhanakan tugas keamanan administratif dengan menggunakan skrip PowerShell untuk mengotomatiskan manajemen pengguna, audit, dan penegakan kebijakan di seluruh organisasi Azure DevOps Anda.

Skrip otomatisasi administratif yang tersedia

  • Audit akses pengguna: Mengaudit izin pengguna dan mengidentifikasi risiko keamanan.
  • Audit keamanan koneksi layanan: Pindai masalah keamanan koneksi.
  • Manajemen visibilitas proyek: Mengotomatiskan pengaturan proyek publik/privat.
  • Manajemen pengguna dan grup: Menyederhanakan proses siklus hidup pengguna.

Untuk panduan implementasi terperinci, lihat Menggunakan skrip untuk memperbarui pengaturan keamanan global.