JavaRush /Java Blog /Random-ID /Rehat kopi #35. Cara mematuhi aturan keamanan GitHub. Kia...

Rehat kopi #35. Cara mematuhi aturan keamanan GitHub. Kiat berguna untuk men-debug kode Java dengan cepat

Dipublikasikan di grup Random-ID

Cara tetap aman di GitHub

Sumber: DZone GitHub pantas dianggap sebagai platform pengembangan tim paling populer. Menurut data musim gugur lalu, lebih dari 40 juta programmer menggunakan layanan ini. Dan karena kebanyakan dari mereka menggunakan open source untuk membuat perangkat lunak, keamanan saat bekerja di Github harus menjadi prioritas utama Anda. Penggunaan kembali kode meningkatkan risiko penyebaran kerentanan. Artinya, setiap pengguna GitHub harus memberikan perhatian maksimal untuk menciptakan lingkungan pengembangan yang aman. Rehat kopi #35.  Cara mematuhi aturan keamanan GitHub.  Kiat berguna untuk men-debug kode Java dengan cepat - 1Ada 8 aturan yang perlu Anda ikuti untuk menjaga keamanan kode GitHub Anda.

Menyediakan kontrol akses

Kontrol akses adalah salah satu cara terbaik untuk meningkatkan keamanan tidak hanya di GitHub, tetapi juga di lingkungan lain yang memerlukan perlindungan kode. GitHub menawarkan beberapa cara untuk mengurangi risiko dalam pekerjaan Anda. Pertama, biasakan untuk memberikan hak istimewa paling rendah—berikan pengguna repositori hanya izin yang mereka perlukan untuk melakukan tugasnya. Ada metode kontrol akses lain yang harus Anda ikuti:
  • membatasi pembuatan repositori untuk mencegah pengguna mengungkapkan informasi tentang organisasi di repositori publik;
  • mengaktifkan perlindungan cabang dan pemeriksaan status sehingga pengguna dapat menggabungkan komitmen atau mengelola cabang dengan aman;
  • Mengizinkan atau menonaktifkan forking repositori pribadi untuk memastikan bahwa pengguna tidak mengungkapkan atau membagikan kode Anda dengan orang lain;
  • mencabut akses untuk semua pengguna tidak aktif yang tidak lagi menjadi anggota komunitas Anda atau karyawan perusahaan;
  • Periksa secara berkala hak akses proyek Anda di GitHub;
  • Pastikan pengguna tidak membagikan akses atau kata sandi akun GitHub dengan orang lain;
  • pastikan setiap pengguna repositori menggunakan otentikasi dua faktor di akun mereka;
  • Ubah token akses pribadi dan kunci SSH secara berkala.

Jangan pernah menyimpan data akses di file GitHub Anda

Membocorkan informasi akses ke repositori GitHub Anda melalui kode, file konfigurasi, atau pesan penerapan dapat digunakan untuk serangan. Untuk mencegah data sensitif ditambahkan ke repositori Anda, gunakan alat kontrol akses seperti git-secrets atau vault . Alat-alat ini memindai basis kode Anda dan mengubah akses setiap kali informasi sensitif ditemukan dalam kode atau file konfigurasi Anda. Jika Anda menemukan informasi sensitif di repositori GitHub, Anda harus segera menghapusnya. Namun karena GitHub menyimpan riwayat semua penerapan di repositori Anda, menghapus data saja tidak cukup. Anda perlu menghapus file dari riwayat repositori GitHub Anda. Langkah penting untuk meningkatkan keamanan adalah penggantian semua kata sandi dan token yang sebelumnya tersedia untuk umum.

Aktifkan peringatan untuk dependensi yang rentan

Ketika pengguna GitHub mengerjakan lebih banyak proyek, semakin sulit untuk mengontrol semakin banyak objek yang bergantung. Untungnya, GitHub menyediakan peringatan otomatis untuk dependensi rentan yang ditemukan di repositori. Peringatan ini didasarkan pada National Vulnerability Database (NVD), GitHub Security Advisories , dan database kerentanan WhiteSource, yang mendukung lebih dari 200 bahasa pemrograman. Peringatan GitHub mempermudah dan mengamankan penggunaan pustaka sumber terbuka.

Periksa aplikasi yang ditambahkan dari GitHub

GitHub Marketplace berisi ratusan aplikasi yang ditulis oleh pengembang dan perusahaan pihak ketiga. Oleh karena itu, penting untuk meninjau dengan cermat setiap aplikasi yang Anda tambahkan ke repositori Anda. Saat memasang aplikasi dari GitHub Marketplace, ikuti panduan berikut:
  • Menegakkan prinsip hak istimewa yang paling rendah. Jangan pernah memberi aplikasi hak akses lebih dari yang dibutuhkan;
  • Selalu mempertanyakan hak akses atau izin yang diminta oleh suatu aplikasi. Pikirkan tentang kerusakan yang dapat ditimbulkan dengan tingkat akses ini;
  • Verifikasi bahwa perusahaan atau pengembang aplikasi benar-benar ada sebelum memberi mereka akses ke repositori GitHub Anda;
  • Periksa fungsionalitas dan keamanan aplikasi. Jika situs tersebut mengandung kerentanan, Anda mungkin menjadi korban peretasan;
Keamanan suatu aplikasi dinilai dari bagian terlemahnya. Hal ini juga berlaku untuk repositori GitHub. Jadi sebelum Anda memberikan akses pada aplikasi ke penyimpanan Anda, pastikan Anda memercayai aplikasi tersebut dan tingkat akses yang diminta sesuai dengan aplikasi tersebut.

Periksa semua kode yang diimpor dari GitHub

Pengembang sering kali menggunakan kode orang lain. Setiap kali Anda menyalin sebagian kode orang lain ke dalam proyek Anda, lakukan tinjauan menyeluruh terhadapnya. Ini mungkin tampak seperti membuang-buang waktu, terutama untuk proyek-proyek kecil, namun ada kemungkinan bahwa dengan mengabaikan aturan ini Anda akan menimbulkan kerentanan pada repositori Anda. Risiko lain yang terkait dengan kode yang diimpor adalah kode tersebut mungkin berisi informasi sensitif seperti data akses. Jika disimpan dalam file GitHub, hal ini menimbulkan risiko keamanan lainnya. Mengaudit kode sebelum menyalinnya membantu mengidentifikasi celah tersebut. Jangan berasumsi bahwa kode orang lain aman karena berada di repositori pribadi. Ini bisa membahayakan basis kode Anda.

Gunakan analisis kode sumber statis otomatis untuk repositori Anda

Ada beberapa alat pihak ketiga yang dapat Anda gunakan untuk menganalisis kerentanan repositori Anda. Salah satunya adalah WhiteSource Bolt , alat gratis dari GitHub Marketplace. WhiteSource Bolt memindai repositori Anda untuk mencari kerentanan di semua kode yang terbuka. Laporan ini juga memberikan informasi terperinci tentang kerentanan dan menyarankan opsi perbaikan.

Gunakan paket GitHub yang sesuai dengan kebutuhan Anda

Banyak perusahaan memiliki kebijakan yang mencegah pengembang memposting kode pada platform seperti GitHub. Pembatasan ini umum terjadi di departemen pemerintah dan lembaga keuangan. Jika Anda bekerja di lingkungan dengan regulasi ketat, gunakan GitHub Enterprise , paket perusahaan yang memungkinkan Anda menghosting repositori di server lokal. Hal ini memberikan tingkat keamanan yang lebih tinggi karena memungkinkan pengembang perusahaan memiliki akses ke semua proyek tanpa mengkhawatirkan pengguna GitHub yang tidak berwenang.

Ikuti kebijakan keamanan komprehensif dalam proyek Anda

Keselamatan adalah tanggung jawab bersama. Jika Anda bekerja dalam tim, penting untuk menetapkan peraturan keselamatan yang harus dipatuhi oleh semua pemangku kepentingan. Idealnya, Anda harus menyatukan tim keamanan siber dan pengembangan selama tahap perencanaan untuk memastikan mereka bekerja secara sinkron. Hal ini akan memudahkan untuk memastikan perlindungan selama proses pembangunan. Jika salah satu anggota tim Anda ceroboh dalam menyimpan kata sandi atau informasi sensitif lainnya, hal ini dapat membahayakan seluruh repositori. Untuk menghindari hal ini, dokumentasikan dengan jelas prosedur keselamatan yang harus diikuti oleh semua kolega Anda.

Kesimpulan

Mengamankan kode Anda di GitHub itu mudah. Anda hanya perlu memastikan kontrol akses yang tepat, memanfaatkan fitur keamanan bawaan GitHub. Jika Anda tertarik dengan perlindungan maksimal, integrasikan alat tambahan yang akan meningkatkan keamanan kode di semua tahap pengembangan. Kami juga merekomendasikan untuk meninjau bagian dokumentasi Keamanan GitHub untuk Bisnis dan Pengguna Gratis . Dengan cara ini Anda bisa mendapatkan informasi tambahan tentang keamanan dan perlindungan kode.

Kiat berguna untuk men-debug kode Java dengan cepat

Sumber: Hackernoon Selain menulis kode yang efisien, menjadi lebih baik dalam debugging adalah salah satu hal paling berguna yang dapat Anda lakukan untuk membuat hidup Anda lebih mudah sebagai pengembang Java. Hal ini sangat penting dalam kondisi pengembangan perangkat lunak modern, di mana dunia perangkat lunak secara aktif bergerak menuju arsitektur terdistribusi dan kode asinkron. Rehat kopi #35.  Cara mematuhi aturan keamanan GitHub.  Kiat berguna untuk men-debug kode Java dengan cepat - 2Meskipun kesalahan perangkat lunak tidak dapat dihindari, kesalahan tersebut menjadi semakin sulit untuk dideteksi dan diperbaiki dalam build yang kompleks. Dan ketika berpindah ke tahap rilis produk, proses debugging menjadi masalah yang lebih serius. Sayangnya, tidak ada cara untuk menghindari hal ini - diperlukan debugging. Untuk membantu Anda, saya memutuskan untuk berbagi beberapa tips berguna untuk men-debug aplikasi Java pada berbagai tahap pengembangan.

Gunakan titik kontrol

Mari kita mulai dengan breakpoint, poin yang jelas namun sangat penting yang mendasari setiap proses debugging. Pos pemeriksaan memungkinkan Anda menghentikan eksekusi aplikasi sehingga Anda dapat menganalisis keadaan program dan mencari tahu mengapa kode tersebut tidak berfungsi dengan benar. Setiap debugger menawarkan beberapa opsi breakpoint, termasuk breakpoint bersyarat, breakpoint pengecualian, watchpoint, dan tracepoint. Mempelajari bagaimana dan kapan menggunakan berbagai jenis breakpoint dapat membuat proses debugging menjadi lebih lancar. Perlu disebutkan bahwa beberapa alat modern mendukung pos pemeriksaan tanpa mengganggu aplikasi. Hal ini memungkinkan untuk menetapkan poin dalam kode Anda dan mengumpulkan data debug tanpa menghentikan eksekusi program.

Tunjukkan struktur logis

Fitur tampilkan struktur logis sangat berguna saat memantau konten di kelas Java. Jika fitur ini diaktifkan, daftar variabel akan menampilkan array, yang jauh lebih berguna dalam konteks debugging. Ini sangat mudah, terutama jika kode Anda tidak memiliki metode toString() untuk objek. Tampilan variabel juga memungkinkan Anda mengubah nilai variabel secara langsung saat melakukan debug. Hal ini dapat menghemat banyak waktu karena tidak perlu memulai ulang sesi debugging dengan data masukan yang diubah.

Belajar menavigasi basis kode

Setiap debugger Java dapat menggunakan beberapa fungsi yang memungkinkan Anda menavigasi berbagai bagian kode saat melakukan debug. Beberapa di antaranya termasuk "lari ke garis", "melangkah", "melangkah ke dalam", dan "melangkah ke". Selain itu, pertimbangkan dua opsi lagi:
  1. Jatuhkan ke bingkai - Fungsi ini digunakan untuk kembali ke suatu titik di bingkai tumpukan Anda. Jika Anda melewatkan satu titik dan perlu kembali, cukup gunakan fungsi Jatuhkan ke bingkai.
  2. Pemfilteran langkah - memungkinkan Anda melewatkan paket tertentu selama debugging. Anda tidak perlu menavigasi semua kelas di sistem JDK ketika Anda cukup memfilter tipe yang tidak Anda perlukan.
Untuk meningkatkan kecepatan navigasi kode, Anda perlu menguasai kombinasi tombol fungsi:
  • F5 - untuk "melangkah ke dalam".
  • F6 - untuk "melangkahi".
  • F7 - untuk "langkah kembali".
  • F8 - untuk lari ke pos pemeriksaan berikutnya.
Meskipun tombol pintas mungkin berbeda antar IDE, jika Anda mengingatnya, ini akan menyelamatkan Anda dari keharusan menggunakan mouse lebih sering.

Belajar Menghindari Kebuntuan

Skenario kebuntuan terjadi ketika dua atau lebih thread diblokir setelah membentuk ketergantungan melingkar. Karena sekumpulan thread Java biasanya menunggu sumber daya lain, hal ini dapat menyebabkan aplikasi berhenti total. Men-debug kebuntuan jstack bisa jadi sangat sulit karena tidak menunjukkan indikator masalah seperti lonjakan memori, beban CPU, dll. Ada berbagai pendekatan untuk memecahkan masalah situasi kebuntuan jstack. Pertama, Anda dapat menangkap beberapa thread dump di cluster JVM Anda untuk menyimpulkan pola thread. Dalam hal ini, menganalisis dump thread statis mungkin tidak cukup. Tergantung pada ukuran cluster JVM, mungkin perlu menjaring banyak file, yang seringkali merupakan proses yang memakan banyak tenaga dan waktu. Cara terbaik adalah menggunakan solusi pemantauan aplikasi yang menyediakan lapisan JV dan lapisan kode yang diperlukan untuk mengisolasi kebuntuan thread. Untungnya, ada alat inovatif yang dapat membantu mengatasi situasi ini, termasuk beberapa debugger modern serta alat APM komersial. Alat-alat ini meningkatkan transparansi kode Java Anda sekaligus mengidentifikasi kesalahan.

Manfaatkan kekuatan debugger produksi

Proses debugging khas yang biasanya diikuti oleh sebagian besar pengembang melibatkan replikasi lingkungan, mengisolasi kesalahan, dan kemudian memperbaikinya. Namun, hal ini tidak berlaku di semua kasus. Jika situasinya seperti ini, pengembang harus menggunakan debugger produksi yang kuat. Rookout adalah salah satu alat tersebut. Ini memungkinkan Anda mengumpulkan data debug dari aplikasi tanpa mengubah status atau kontrol alirannya. Dengan Rookout, Anda dapat mengatur breakpoint non-breaking untuk mendapatkan pelacakan tumpukan penuh, menangkap variabel langsung, atau data aplikasi lain yang diperlukan untuk proses debug. Jadi, daripada menggunakan solusi pemantauan overhead tinggi untuk debugging produksi, cukup gunakan Rookout, yang menyediakan semua yang Anda perlukan untuk men-debug aplikasi tanpa menerapkan ulang atau menulis kode baru. Baik Anda sedang mengerjakan aplikasi sisi server atau aplikasi dalam container, Rookout adalah tambahan yang bagus untuk gudang debugging Anda.

Jangan lupa tentang debugging jarak jauh

Sebagian besar IDE, seperti NetBeans, Eclipse, IntelliJ IDEA, dan Visual Studio, mendukung debugging jarak jauh, sebuah teknik yang memungkinkan Anda memperbaiki kode Java yang terletak di komputer lain. Hal ini sangat penting terutama dalam situasi ketika sistem Anda tidak mendukung proses debug lokal, atau ketika komputer Anda tidak memiliki sumber daya yang cukup untuk menjalankan debugger. Untuk melakukan debugging jarak jauh, Anda harus memberikan informasi konfigurasi yang akan digunakan debugger untuk menyambung ke port jarak jauh. Debug jarak jauh juga berguna dalam situasi pemecahan masalah ketika pengembang di luar situs perlu terhubung ke aplikasi untuk memperbaiki bug. Ingatlah bahwa terkadang proses debug bisa memakan waktu lebih lama daripada implementasi sebenarnya. Saat Anda mengasah keterampilan debugging Java Anda, selalu berusaha untuk menulis kode yang bersih dan efisien—hal ini akan bermanfaat jika menyangkut perbaikan bug. Jika Anda merasa segala sesuatunya menjadi tidak terkendali, ada baiknya Anda beristirahat sejenak. Bug adalah teka-teki pemrograman, dan banyak pemrogram yang berhasil memecahkan masalah ini tanpa harus berada di dekat komputer mereka. Gunakan strategi yang dijelaskan di atas untuk menghilangkan masalah debugging Java. Selamat membuat kode!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION