Orang-orang memeriksa terminal

Apa itu penyimpangan konfigurasi?

Definisi penyimpangan konfigurasi

Penyimpangan konfigurasi terjadi ketika jaringan, aplikasi, perangkat, atau sistem TI lainnya secara bertahap dan tidak disengaja bergeser dari pengaturan dasar yang seharusnya. Masalah kinerja yang disebabkan oleh penyimpangan konfigurasi, dan waktu henti yang ditimbulkannya, dapat merugikan bisnis hingga senilai ribuan dolar per menit.

Sampai batas tertentu, penyimpangan konfigurasi tidak dapat dihindari selama siklus proses sistem. Ini dapat disebabkan oleh perubahan manual pada jaringan yang memengaruhi cara komponennya berinteraksi satu sama lain atau alat otomatis yang mengubah pengaturan dengan cara yang tidak diinginkan administrator. Tanpa dokumentasi yang tepat, perubahan yang tidak kompatibel atau merugikan dapat terjadi saat administrator lama pergi dan administrator baru menggantikannya.

Contoh klasik dari penyimpangan konfigurasi adalah ketika seorang administrator menerapkan perbaikan pada satu server dalam lingkungan dengan penyeimbangan beban, tetapi tidak pada server lainnya. Meskipun sistem terus beroperasi secara normal untuk saat ini, masalah dapat terjadi di kemudian hari. Server yang ditambal mungkin menggunakan pustaka baru yang tidak kompatibel dengan pembaruan jaringan di masa depan yang meneruskan kondisi asli, sehingga berpotensi menyebabkan pemadaman layanan dan inefisiensi.

Penyimpangan konfigurasi tidak hanya mengancam kinerja. Sistem yang menyimpang dari pengaturan yang seharusnya dapat menjadi lebih rentan terhadap pelaku jahat dan pelanggaran data. Sebagai contoh, jika aturan firewall tidak diperbarui saat sumber daya baru ditambahkan ke jaringan, peretas dapat menyusup masuk.

Penyimpangan konfigurasi juga dapat memengaruhi status kepatuhan. Organisasi dapat gagal dalam audit jika dokumentasi jaringan mendeskripsikan satu rangkaian pengaturan keamanan, tetapi lingkungan operasionalnya berbeda.

Profesional DevOpsdan administrator sistem memiliki alat untuk mencegah kesalahan konfigurasi dan mengatasi penyimpangan konfigurasi. Alat-alat infrastruktur sebagai kode (Infrastructure as Code, IaC) seperti Terraform menambatkan konfigurasi jaringan ke file konfigurasi yang berfungsi sebagai sumber kebenaran (source of truth). File konfigurasi membantu memastikan bahwa sumber daya jaringan baru secara otomatis disediakan dalam keadaan yang tepat, sehingga mengurangi jumlah peluang penyimpangan.

Alat observabilitas memberikan visibilitas terhadap metrik, log, dan jejak bagi administrator, sehingga mereka dapat menemukan penyimpangan konfigurasi saat terjadi dan menerapkan perbaikan. Infrastruktur yang tidak dapat diubah membatasi penyimpangan dengan membuang server usang, alih-alih menerapkan perbaikan sama sekali. Penyimpangan konfigurasi juga ditangani oleh alat manajemen konfigurasi seperti Ansible.

Penyebab penyimpangan konfigurasi

Penyimpangan konfigurasi paling sering disebabkan oleh perubahan manual pada konfigurasi sistem, kesalahan pada otomatisasi, masalah di tingkat organisasi yang menimbulkan inkonsistensi, atau kombinasi dari faktor-faktor tersebut.

Perbaikan manual

Perbaikan manual yang dilakukan sekali saja merupakan penyebab utama penyimpangan konfigurasi.

“Hotfix”, atau remediasi yang diterapkan di luar jadwal pembaruan normal, dapat segera memperbaiki masalah mendesak, misalnya server yang diatur ke nilai batas waktu yang salah dan karenanya terus mengalami crash. Namun, jenis perubahan konfigurasi ini dapat menyebabkan kerusakan sistem di kemudian hari:

  • Pembaruan sistem selanjutnya yang tidak memperhitungkan perbaikan ini mungkin akan menimpanya, sehingga bug aslinya akan muncul kembali.

  • Perbaikan tersebut mungkin menyertakan dependensi yang tidak diperhitungkan dan tidak kompatibel dengan pembaruan jaringan di masa mendatang.

  • Kredensial admin sementara yang dibuat untuk perbaikan mungkin tetap berlaku, sehingga menjadi beban keamanan tambahan.

Jenis kesalahan manusia, atau konsekuensi tak terduga, yang dapat membuat sistem menyimpang dari keadaan yang “seharusnya” hampir tidak terbatas jumlahnya. Bahkan perubahan kecil pun dapat terakumulasi sedemikian rupa sehingga lingkungan produksi aktif memiliki sedikit kemiripan dengan repositori, penuh dengan bug dan risiko keamanan.

Otomatisasi berbahaya

Tanpa pengujian dan pengawasan yang tepat, pembaruan dan proses otomatis dapat menyebabkan sumber daya jaringan penting menyimpang dari konfigurasi yang seharusnya.

Otomatisasi hanya akan efektif jika sumber kebenarannya akurat. Misalnya, jika alat IaC menggunakan file konfigurasi yang sudah ketinggalan zaman untuk menjalankan server baru, alat tersebut mungkin dapat menimbulkan kerusakan pada lingkungan. Pembaruan perangkat lunak otomatis pada aplikasi dan sistem operasi seperti Microsoft Windows mungkin diterapkan pada waktu yang berbeda di berbagai server, menyebabkan divergensi yang berpotensi berbahaya. Pembaruan tersebut mungkin tidak begitu kompatibel dengan arsitektur jaringan organisasi yang unik, sehingga dapat menyebabkan masalah lanjutan.

Bahkan alat yang dirancang untuk mengelola konfigurasi pun dapat menyebabkan penyimpangan dalam keadaan tertentu. Sebagai contoh, masalah konektivitas dapat menyebabkan Ansible menerapkan pembaruan konfigurasi secara tidak merata, sehingga satu server tidak berubah. Server tersebut secara bertahap akan divergen dari lingkungannya, sehingga berpotensi menyebabkan pemadaman layanan.

Masalah organisasi

Di tingkat organisasi, masalah pada pipeline integrasi berkelanjutan/pengiriman berkelanjutan (continuous integration/continuous delivery, CI/CD) dan praktik DevOps dapat menyebabkan masalah konfigurasi.

Ketika tim pengembangan, operasi, dan keamanan terpisah satu sama lain, kebingungan, miskomunikasi, dan pemecahan masalah yang tidak memadai tidak dapat dihindari. Selain praktik teknis yang divergen, berbagai tim dalam satu organisasi mungkin memiliki praktik tersendiri untuk manajemen perubahan. Beberapa organisasi sama sekali tidak memiliki proses manajemen perubahan formal.

Tidak adanya praktik yang jelas dan mapan untuk membuat dan mendokumentasikan perubahan dapat menyebabkan inkonsistensi pada log perubahan, perubahan yang tidak sah, dan tidak diterapkannya alur kerja persetujuan. Pada akhirnya, administrator, pengembang, dan insinyur mungkin akan sepenuhnya mengabaikan proses manajemen perubahan.

Risiko penyimpangan konfigurasi

Penyimpangan konfigurasi menimbulkan risiko signifikan terhadap situasi keamanan, kinerja, dan kepatuhan suatu sistem.

Keamanan siber

Penyimpangan konfigurasi dapat secara signifikan meningkatkan permukaan serangan organisasi dengan membuat pengecualian terhadap kebijakan keamanan yang tidak diketahui oleh administrator, dan karenanya tidak diperbaiki.

Sebagai contoh, kredensial yang dibuat untuk menerapkan hotfix mungkin dibiarkan begitu saja, sehingga rentan terhadap peretas yang mungkin menggunakannya untuk tujuan jahat. Demikian pula, seorang insinyur mungkin membuat pengecualian terhadap aturan firewall yang tidak pernah ditinjau dan ditutupnya, yang secara signifikan melemahkan postur keamanan jaringan secara keseluruhan. Pengembang mungkin mengaktifkan aplikasi dengan kontrol keamanan yang tidak lengkap untuk pengujian dan tidak pernah menonaktifkannya, sehingga menciptakan kerentanan keamanan lain yang dapat dieksploitasi oleh pelaku jahat.

Demikian pula, setiap aplikasi, titik akhir, atau sumber daya baru yang ditambahkan ke sistem dapat menyebabkan penyimpangan konfigurasi jika kontrol keamanan yang tepat tidak diterapkan. Misalnya, menambahkan server baru tanpa mengonfigurasi sistem deteksi dan respons titik akhir (endpoint detection and response, EDR) yang tepat dapat menciptakan tautan yang lemah. Kesalahan kecil dalam konfigurasi layanan mikro dapat menyebabkan sejumlah besar aset yang tidak terlindungi memasuki jaringan.

Kinerja

Seiring dengan keamanan siber, kinerja jaringan adalah risiko paling signifikan—dan mahal—yang ditimbulkan oleh penyimpangan konfigurasi.

Contohnya pada server yang mengalami lalu lintas yang lebih berat daripada server lainnya. Pada server ini, mungkin ukuran kumpulan koneksi ditingkatkan dengan hotfix untuk meningkatkan kinerja. Karena server ini berada di belakang penyeimbang beban, penyeimbang secara otomatis menetapkan kebijakan untuk mengarahkan lebih banyak lalu lintas masuk guna menyebarkan beban server secara lebih merata.

Ketika server diganti selama penerapan baru, hotfix yang meningkatkan kumpulan koneksi tersebut tidak lagi berlaku, dan server mengalami crash karena adanya lalu lintas tambahan. Hotfix asli yang diterapkan untuk mempercepat lalu lintas adalah penyimpangan. Jika tidak diperhitungkan, perubahan lebih lanjut pada jaringan dapat menyebabkan waktu henti yang dapat menimbulkan kerugian besar hingga penyebabnya teridentifikasi.

Kepatuhan

Penyimpangan konfigurasi dapat menyebabkan organisasi tidak mematuhi peraturan tanpa menyadarinya. Ketika kondisi suatu jaringan divergen dari apa yang menurut organisasi sedang dilakukannya, atau apa yang tercantum dalam dokumentasinya, organisasi tersebut berisiko tidak mematuhi peraturan. Bahkan jika ketidakpatuhan itu tidak disengaja, organisasi mungkin masih akan dikenai denda dan biaya.

Ambil contoh Health Insurance Portability and Accountability Act (HIPAA). HIPAA mengharuskan organisasi menggunakan metode enkripsi tertentu untuk melindungi data sensitif saat sedang dikirimkan dan saat disimpan.

Misalnya, seorang administrator perlu mengintegrasikan sistem lama ke dalam jaringan yang sesuai dengan HIPAA, dan sistem lama ini menggunakan metode enkripsi yang sudah ketinggalan zaman. Jika metode enkripsi ini tidak ditangani, integrasi yang dilakukan akan membuat organisasi tersebut tidak mematuhi HIPAA.

AI Academy

Mencapai kesiapan AI dengan hybrid cloud

Dipandu oleh pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Cara memperbaiki dan mencegah penyimpangan konfigurasi

Deteksi penyimpangan—praktik melacak perubahan pada jaringan dan mengidentifikasi divergensi dari keadaan yang diinginkan—membutuhkan kombinasi alat yang mencakup infrastruktur sebagai kode (IaC), GitOps, infrastruktur yang tidak dapat diubah, dan observabilitas.

Infrastruktur sebagai kode (IaC)

Infrastruktur sebagai kode, yaitu praktik penyediaan dan pengelolaan infrastruktur TI dengan menggunakan skrip daripada proses manual, adalah salah satu alat yang paling ampuh untuk manajemen penyimpangan konfigurasi.

IaC membantu mengatasi penyimpangan konfigurasi dengan mengubah status jaringan yang diinginkan menjadi sepotong kode dengan kontrol versi, yang dapat dibandingkan dengan setiap komponen jaringan.

Misalnya, di Terraform, ketika perubahan dilakukan, alat IaC membandingkan file status (tampilan jaringan terbaru platform) dengan file konfigurasi yang dinyatakan—yaitu, file yang menentukan seperti apa jaringan yang “seharusnya”. Terraform kemudian mengatasi ketidaksesuaian antara file status dan konfigurasi yang dideklarasikan dengan memperbarui infrastruktur agar sesuai dengan file konfigurasi, sehingga mengurangi kemungkinan terjadinya penyimpangan.

Ketika organisasi memberlakukan kontrol akses yang ketat pada alat IaC, peluang penyimpangan dapat jauh berkurang. Dengan membatasi akses IaC hanya kepada individu yang berwenang yang membutuhkannya, organisasi membatasi kemampuan untuk mengubah konfigurasi infrastruktur secara umum. Ketika perubahan dilakukan, perubahan tersebut melalui proses kontrol versi IaC, sehingga makin menurunkan risiko penyimpangan.

GitOps

GitOps adalah praktik DevOps yang menggunakan repositori sumber terbuka Git sebagai sumber kebenaran tunggal (single source of truth, SSOT) untuk file konfigurasi. GitOps membantu banyak organisasi menerapkan IaC dengan efisiensi dan keamanan maksimum.

Praktik GitOps berfokus pada penggunaan otomatisasi untuk memvalidasi status jaringan berdasarkan status yang diinginkan yang disimpan di Git secara real time. Platform GitOps dapat terus memindai jaringan, deteksi kesalahan konfigurasi, dan menandainya atau menerapkan perbaikan, sehingga penyimpangan yang terjadi bersifat sementara. Selain itu, karena semua perubahan terkait dengan Git, semuanya dilacak dengan penulis, stempel waktu, dan deskripsi.

Infrastruktur tidak dapat diubah

Infrastruktur yang tidak dapat diubah mengurangi penyimpangan konfigurasi dengan mengurangi jumlah keseluruhan peluang secara drastis untuk mengubah konfigurasi jaringan.

Infrastruktur yang tidak dapat diubah adalah praktik mengganti, bukan memodifikasi, server dan sumber daya TI lainnya ketika diperlukan perubahan.

Misalnya, katakanlah suatu server membutuhkan pembaruan keamanan. Alih-alih menerapkan pembaruan ke server lama, administrator akan menonaktifkan server tersebut dan menggantinya dengan yang baru dan mutakhir.

Infrastruktur yang tidak dapat diubah menggunakan alat IaC untuk secara otomatis menerapkan sistem baru seperti yang dijelaskan dalam kode ketika perubahan diperlukan. Setiap komponen baru yang ditambahkan ke jaringan secara otomatis menyesuaikan diri dengan kondisi yang diinginkan.

Tiga praktik IaC, GitOps, dan infrastruktur yang tidak dapat diubah saling terkait erat. Alat IaC menentukan gambar untuk komponen jaringan, sementara GitOps memfasilitasi penerapan, membuat data jaringan yang komprehensif, dan mencegah ketidaksesuaian.

Observabilitas

Tiga pilar observabilitas (log, metrik, dan jejak) juga berperan dalam mencegah penyimpangan konfigurasi.

Platform observabilitas, misalnya, mungkin mendeteksi bahwa metrik pada satu server (misalnya, waktu respons atau penggunaan CPU) sangat divergen dari server-server yang seharusnya memiliki konfigurasi yang identik. Divergensi ini merupakan gejala potensial dari penyimpangan. Demikian pula, ketidaksesuaian dalam log tingkat kesalahan untuk setiap server mungkin menunjukkan penyimpangan jika satu server memiliki satu jenis kesalahan tertentu dalam jumlah yang sangat besar. Jejak rantai panggilan aplikasi juga dapat mengungkap lokasi yang mengalami deviasi dan penyimpangan.

Deteksi penyimpangan

Deteksi penyimpangan adalah praktik membandingkan keadaan jaringan yang sebenarnya dengan keadaan yang diinginkan untuk mendeteksi ketidaksesuaian. Meskipun seseorang dapat secara hipotetis melakukan proses ini secara manual, banyak penyedia cloud dan IaC menawarkan alat dengan fungsionalitas deteksi penyimpangan, yang membantu mengotomatiskan dan merampingkan proyek yang memakan waktu.

Misalnya, AWS Config mencatat konfigurasi modul AWS, menandai apa pun yang menyimpang dari status yang diinginkan, dan membantu memperbaiki penyimpangan. Penilaian kesehatan Terraform memverifikasi bahwa pengaturan infrastruktur yang sebenarnya cocok dengan pengaturan yang dicatat dalam file status ruang kerja dan terus memvalidasi bahwa sumber daya memenuhi persyaratan pemeriksaan yang diperlukan dan ditentukan dalam konfigurasi sistem.

Terraform Enterprise membandingkan kondisi dengan file status, atau memperbarui file status untuk mencerminkan kondisi aktual, sehingga mengungkapkan perubahan. Alat manajemen konfigurasi seperti Ansible dan Puppet juga dapat digunakan untuk deteksi penyimpangan.

Penyusun

Derek Robertson

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

Solusi terkait
IBM Instana Observability

Memanfaatkan kekuatan AI dan otomatisasi untuk memecahkan masalah secara proaktif di seluruh tumpukan aplikasi.

Jelajahi IBM Instana Observability
Solusi AIOps

Temukan bagaimana AI untuk operasi TI memberikan insight yang Anda butuhkan untuk membantu mendorong kinerja bisnis yang luar biasa.

Jelajahi solusi AIOps
Layanan konsultasi teknologi

Dorong transformasi digital yang dapat diskalakan dengan keahlian industri IBM® Consulting.

Jelajahi layanan konsultasi teknologi
Ambil langkah selanjutnya

Temukan cara AI untuk operasi TI memberikan insight yang Anda butuhkan untuk membantu mendorong kinerja bisnis yang luar biasa.

  1. Temukan Observabilitas Instana
  2. Jelajahi IBM AIOps