Pada masa ini, rangka kerja SpringBoot semakin meluas, dan kebanyakan perusahaan kecil dan sederhana sedang membangunkan projek baharu. Apabila bahasa back-end menggunakan java, SpringBoot ialah pilihan pertama.
Dalam banyak rangka kerja sumber terbuka, seperti: ruoyi, ini.
Saya tidak tahu kenapa? Kita semua akan menemui SpringBoot Actuator
kebergantungan dalam fail pom dalam rangka kerja ini.
Hei, ini Actuator
mungkin tidak digunakan oleh ramai orang, tetapi ia akan muncul dalam fail pom Ini akan membawa kepada isu kerentanan semasa melakukan beberapa ujian kerentanan keselamatan.
Contohnya:
Untuk kelemahan ini, kami telah mula membaikinya! ! !
Actuator
ialah modul berfungsi yang disediakan oleh Springboot untuk introspeksi dan pemantauan sistem aplikasi Dengan bantuan Actuator, pembangun boleh melaksanakan beberapa fungsi pada aplikasi dengan mudah sistem Pantau penunjuk untuk tontonan, statistik, dsb.
Inti Penggerak ialah titik akhir, yang digunakan untuk memantau aplikasi dan interaksi Terdapat banyak Titik Akhir terbina dalam penggerak but spring (kesihatan, maklumat, kacang, metrik, httptrace, penutupan, dll.) , dan juga membolehkan kami melanjutkan Titik Akhir kami sendiri.
Setiap Titik Akhir boleh didayakan dan dilumpuhkan. Untuk mengakses Endpoint dari jauh, ia juga mesti didedahkan melalui JMX atau HTTP Kebanyakan aplikasi memilih HTTP.
Baiklah, Actuator
ia kelihatan agak bagus dan boleh digunakan untuk pemantauan. Walau bagaimanapun, kebanyakan syarikat mungkin tidak pernah menggunakannya, jadi mereka tidak akan dapat menikmati faedah Actuator
.
Actuator
Walaupun ia membawa kemudahan, jika ia tidak diurus dengan baik, ia akan membawa kepada kebocoran beberapa maklumat sensitif; ia mungkin menyebabkan pelayan kami terdedah kepada rangkaian luaran, dan pelayan mungkin runtuh . Jadi mari kita lihat, apakah isu keselamatan yang akan timbul?
Sebagai contoh, kita boleh melawati:
http://localhost:7200/actuator/env
Adakah anda melihat mesej di atas? Wah, sebenarnya kita boleh lihat alamat sambungan pangkalan data, kata laluan akaun dan maklumat lain.
Jika alamat ini tidak dikawal, ini tidak akan menjadi kelemahan yang serius bagi sesetengah orang yang mempunyai asas teknikal? Ia dianggarkan sebagai kelemahan tahap T0.
Bagaimanakah kita mengawal perkara ini?
Tambah konfigurasi berikut dalam llsydn-dev.properties
management.endpoints.web.exposure.exclude=env,heapdump,threaddump,mappings
Dengan cara ini, akses kepada env akan dilarang.
Kemudian mari kita mengaksesnya semula, sebagai contoh:
Baiklah, anda boleh melihat bahawa 404 muncul semasa mengakses, menunjukkan bahawa ia telah diharamkan.
Untuk pengubahsuaian di atas, sebenarnya adalah mungkin untuk melaksanakan kaedah melumpuhkan env, supaya maklumat antara muka yang sepadan pada dasarnya boleh dikawal, dan pada asasnya ia boleh selesai Tiba dengan selamat.
Walau bagaimanapun, apabila melakukan pengimbasan kerentanan keselamatan, kerentanan yang sepadan masih akan diimbas keluar, sebenarnya, kelemahan ini belum diselesaikan. Jadi bolehkah kita mengharamkan Actuator
sepenuhnya?
Jawapannya pasti ya! ! !
Contohnya, konfigurasi berikut:
# 完全禁用actuator management.server.port=-1
Dengan konfigurasi ini, apabila imbasan kerentanan keselamatan dilakukan, kerentanan tidak akan diimbas!
Atas ialah kandungan terperinci Bagaimana untuk membaiki kelemahan akses tanpa kebenaran SpringBoot Actuator. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!