Mengapa dan Bagaimana Mengamankan Titik Akhir API?

Bagaimana cara Anda mengamankan API Anda?


Ini adalah zaman ledakan ekonomi digital, dan banyak sekali data yang disalurkan melalui API. Bisnis, permainan, pendidikan, sains, seni. . . sebut saja, semuanya berfungsi di API. Untuk dunia yang sangat bergantung pada API, secara mengejutkan hanya ada sedikit fokus pada keamanan.

Untuk pengembang, standar kerangka kerja mereka sudah cukup; atau bahkan lebih buruk, ketika tidak ada kerangka kerja yang digunakan, mereka pikir mereka mengikuti praktik aman. Untuk admin sistem, keamanan default yang ditawarkan oleh infrastruktur atau penyedia layanan mereka adalah apa yang mereka andalkan.

Tidak terlihat sama sekali, jika Anda bertanya kepada saya.

Sumber: developer.ibm.com

Tak perlu dikatakan, ada banyak yang dipertaruhkan, yang kita sadari hanya ketika sesuatu benar-benar mengerikan terjadi.

Tetapi hal pertama yang pertama. ��

Mengapa mengamankan titik akhir API?

Ini harus menjadi no-brainer, kan? Kita perlu mengamankan titik akhir karena, yah, itu tergantung dari bisnis mana.

Meskipun itu argumen yang cukup kuat, saya ingin sedikit memperluas sudut pandang dan menyoroti konsekuensi terkait lainnya, tetapi sama mematikannya,.

Kerugian bisnis

Ini yang jelas. Jika seseorang berhasil mengacaukan titik akhir API Anda, itu akan menghentikan semuanya. Pelanggaran keamanan juga dapat mengambil banyak waktu untuk pulih, yang berarti bunuh diri dalam istilah bisnis. Meskipun benar bahwa sebagian besar bisnis mungkin tidak akan terpengaruh oleh satu atau dua jam downtime, untuk beberapa itu tidak diijinkan.

Bayangkan pertukaran mata uang turun selama beberapa menit!

Masalah kepatuhan

Tidak mengamankan API Anda dengan benar dapat membuat Anda dalam masalah serius, tergantung pada geografi atau industri yang Anda hadapi. Misalnya, jika Anda melayani industri perbankan (khususnya di UE), biaya untuk ditemukan melayani dengan API tidak aman akan mengakibatkan masalah hukum dan kepatuhan yang masif. Sedemikian rupa sehingga bahkan bisa mengeja akhir bisnis Anda.

Kehilangan reputasi

Diretas cukup menyakitkan dalam dirinya sendiri, tetapi jika ada berita di publik, akan ada kerugian yang tidak dapat dipulihkan untuk citra merek Anda. Sebagai contoh, Sony telah diretas dengan sangat buruk beberapa kali sekarang, dan di lingkaran keamanan, perusahaan adalah a bahan tertawaan macam.

Sekalipun tidak ada kehilangan data atau uang yang sebenarnya terjadi, semoga berhasil mencoba meyakinkan pelanggan Anda yang tidak bersemangat. ��

Tagihan infrastruktur yang meningkat

Ketika API Anda berjalan pada infrastruktur, ia menghabiskan sumber daya (bandwidth, CPU dan memori, sebagian besar). Misalnya, jika API tidak diamankan dengan benar dan orang luar yang jahat dapat berinteraksi dengannya, dimungkinkan bagi mereka untuk memaksa API untuk terus melakukan banyak pekerjaan yang tidak berguna (misalnya, menjalankan query database yang berat), yang dapat meningkat tagihan Anda karena alasan.

Pada platform di mana penskalaan sumber daya otomatis diaktifkan (seperti AWS), hasilnya bisa mengejutkan (di luar topik, tetapi jika Anda pernah terjebak dalam sup seperti ini di AWS, mereka cukup memahami situasi dan segera melepaskan tagihan meningkat – pada saat penulisan, setidaknya!).

Semangat tim

Jadi, Anda mungkin berpikir, tim yang membiarkan kompromi ini terjadi akan kehilangan semangat mereka? Ya tidak cukup. Mungkin saja kompromi itu disebabkan oleh keamanan infrastruktur yang lemah, yang akan menghancurkan pengembang atau sebaliknya.

Jika ini terjadi cukup waktu, Anda akan memiliki budaya di mana Anda akan menyesal membiarkannya berkembang.

Keuntungan pesaing

Jadi katakanlah ada pelanggaran tetapi tidak ada kerugian aktual. Namun, pesaing Anda akan menggunakan insiden tersebut untuk menghidupkan API mereka sendiri dan menyatakan seberapa aman API mereka (bahkan jika tidak!). Sekali lagi, semoga sukses mencoba meyakinkan pasar. ��

Semua dalam semua, ada konsekuensi terhadap pelanggaran keamanan yang melampaui kehilangan uang.

Praktik Terbaik untuk Mengamankan titik akhir API

Untungnya, ada praktik tertentu yang mudah diterapkan dan dipahami dengan baik yang dapat Anda terapkan pada titik akhir API Anda untuk mengamankannya. Inilah yang direkomendasikan sebagian besar pakar keamanan.

HTTPS selalu

Jika titik akhir API Anda memungkinkan konsumen API untuk berbicara melalui http atau protokol tidak aman lainnya, Anda menempatkan mereka pada risiko besar. Kata sandi, kunci rahasia, dan informasi kartu kredit dapat dengan mudah dicuri serangan man-in-the-middle atau alat packet sniffer dapat membacanya sebagai teks biasa.

Jadi, selalu jadikan https satu-satunya opsi yang tersedia. Tidak peduli seberapa sepele titik akhir mungkin terlihat, menghubungkan melalui http seharusnya tidak menjadi pilihan. Sertifikat TLS tidak membutuhkan biaya banyak, Anda dapat membeli dengan harga mulai $ 20 Toko SSL.

Pembuatan kata sandi satu arah

Kata sandi tidak boleh disimpan sebagai teks biasa, karena jika terjadi pelanggaran keamanan, semua akun pengguna akan disusupi. Pada saat yang sama, enkripsi simetris harus benar-benar dihindari, karena setiap penyerang yang cerdik dan cukup gigih akan dapat melanggarnya.

Satu-satunya opsi yang disarankan adalah algoritma enkripsi asimetris (atau “satu arah”) untuk menyimpan kata sandi. Dengan begitu, baik penyerang maupun pengembang atau sysadmin dalam perusahaan tidak akan dapat membaca kata sandi pelanggan.

Otentikasi kuat

Sekarang, hampir setiap API memiliki bentuk otentikasi, tetapi menurut saya, sistem OAuth2 bekerja dengan sangat baik. Berbeda dengan metode otentikasi lainnya, ini membagi akun Anda menjadi sumber daya dan hanya memungkinkan akses terbatas ke pembawa bukti auth.

Pada saat yang sama, praktik lain yang sangat bagus untuk menetapkan token berakhir setiap, katakanlah, 24 jam, sehingga mereka perlu disegarkan. Dengan cara ini, bahkan token Anda bocor, ada kemungkinan tenggat waktu 24 jam akan mengurangi dampak pelanggaran..

Terapkan pembatasan tarif

Kecuali jika Anda memiliki API yang digunakan oleh jutaan orang setiap menit, itu adalah ide yang sangat bagus untuk menegakkan batas berapa banyak panggilan yang dapat dilakukan klien ke API dalam jendela waktu tertentu.

Ini sebagian besar untuk mencegah bot, yang dapat terus mengirim ratusan permintaan simultan setiap detik dan membuat API Anda menghabiskan sumber daya sistem tanpa alasan yang baik. Semua kerangka kerja pengembangan web dilengkapi dengan middleware pembatas tingkat (dan jika tidak, cukup mudah untuk menambahkannya melalui perpustakaan) yang hanya membutuhkan satu menit atau lebih untuk menyiapkannya.

Validasi input

Ini terdengar seperti no-brainer, tetapi Anda akan terkejut betapa banyak API jatuh untuk ini. Memvalidasi input tidak hanya berarti memeriksa bahwa data yang masuk dalam format yang benar, tetapi juga tidak ada kejutan yang mungkin terjadi. Contoh sederhana adalah injeksi SQL, yang dapat menghapus database Anda jika Anda membiarkan string kueri berlalu dengan sedikit atau tanpa pemeriksaan.

Contoh lain adalah memvalidasi ukuran permintaan POST dan mengembalikan kode kesalahan dan pesan yang tepat kepada klien. Mencoba menerima dan menguraikan input yang sangat besar hanya akan meledakkan API.

Terapkan penyaringan alamat IP, jika ada

Jika Anda masuk ke layanan B2B dan API Anda digunakan oleh bisnis dari lokasi yang ditetapkan, pertimbangkan untuk menambahkan lapisan keamanan tambahan yang membatasi alamat IP yang dapat mengakses API Anda. Untuk setiap lokasi baru dan klien baru, alamat IP perlu diperiksa terhadap permintaan yang masuk.

Ya, ini menambah gangguan pada orientasi, tetapi hasil akhirnya adalah keamanan yang lebih ketat daripada yang bisa dicapai.

Alat untuk Meningkatkan Perlindungan API

Apakah ada alat yang dapat membantu kami memindai kerentanan, atau bahkan lebih baik, menawarkan garis pertahanan pertama dalam hal mengamankan API?

Untungnya ya. Ada beberapa alat yang dapat Anda gunakan, tetapi berhati-hatilah bahwa pada akhirnya tidak ada strategi keamanan yang sempurna. Karena itu, alat-alat ini dapat meningkatkan keamanan API Anda berkali-kali lipat, sehingga direkomendasikan.

Metasploit

Metasploit adalah kerangka kerja open source yang sangat populer untuk pengujian penetrasi aplikasi web dan API. Itu dapat memindai API Anda pada beberapa parameter berbeda dan melakukan audit keamanan lengkap untuk berbagai tingkat kerentanan yang ada.

Misalnya, pemindaian keamanan yang dilakukan oleh Metasploit dapat memberi tahu Anda apakah tanda tangan API Anda memberikan teknologi dan sistem operasi yang mendasarinya atau tidak; menyembunyikan ini sering setengah dari pertempuran yang dimenangkan dalam keamanan API.

Meskipun kerangka kerja inti sumber terbuka umumnya cukup, ada produk berbayar yang sangat baik yang dibangun di atas Metasploit yang patut dilihat. Rencana pro sangat bagus jika Anda ingin dukungan premium dan akan menggunakan kerangka kerja secara mendalam, tetapi umumnya tidak diperlukan jika tim Anda cukup berpengalaman.

Cloudflare

Bukan hanya CDN tetapi Cloudflare menawarkan banyak fitur keamanan seperti WAF, pembatasan tingkat, perlindungan DDoS yang akan sangat penting dalam mengamankan API Anda dari ancaman online.

Netsparker

Netsparker dilengkapi dengan USP “pemindaian berbasis bukti”. Dalam istilah yang lebih sederhana, sering kali mungkin bahwa kondisi jaringan tidak teratur atau beberapa perilaku API yang kurang dikenal ditafsirkan sebagai celah keamanan, yang kemudian ditemukan salah.

Ini memboroskan sumber daya karena semua kerentanan yang dilaporkan perlu dipindai lagi secara manual untuk mengonfirmasi bahwa mereka tidak positif palsu. Netsparker mengatakan alat ini dapat memberi Anda bukti konsep yang cukup kuat untuk laporan, menghilangkan keraguan tentang tautan lemah yang ditemukan.

Dengan perusahaan seperti Sony, Religare, Coca-Cola, Huawei, dll., Di daftar klien mereka, Anda dapat yakin bahwa orang-orang ini melakukan sesuatu dengan benar. �� Ngomong-ngomong, mereka juga punya yang luar biasa blog keamanan web yang harus Anda ikuti.

SoapUI Pro

Dibangun oleh SmartBear, SoapUI Pro adalah cara intuitif dan mudah untuk membuat tes API dan mendapatkan laporan yang akurat dan digerakkan oleh data. Itu juga terintegrasi dengan rapi dengan pipa CI / CD Anda, memastikan bahwa tidak ada penambahan kode baru yang membahayakan keamanan API Anda.

SoapUI dapat bekerja dengan Swagger, OAS, dan standar API populer lainnya, secara signifikan mengurangi waktu untuk memulai. Dengan klien seperti Microsoft, Cisco, MasterCard, Oracle, dll., Dan paket mulai dari $ 659 per tahun, ini adalah alat yang layak untuk API yang lebih aman.

Trustwave

Trustwave adalah serangkaian solusi yang berpusat di sekitar pemindaian dan pengerasan keamanan. Salah satu hal unik tentang layanan ini adalah tidak hanya melakukan deteksi ancaman yang akurat pada API Anda, tetapi juga membantu Anda memahami cara memperbaikinya.

Trustwave melakukan apa yang disebut pemindaian sadar konteks, yang berarti bahwa begitu sistem operasi atau infrastruktur yang mendasarinya telah terdeteksi, kinerja layanan serangkaian pemeriksaan terkait untuk memastikan bahwa lubang keamanan buruk terkait dengan platform itu tidak ada.

Mereka juga membanggakan tim peneliti keamanan yang kuat yang terus memperbarui kemampuan layanan. Jika Anda suka kepatuhan, Trustwave adalah solusi yang bagus.

Jika Anda hidup dengan angka-angka dan ingin menikmati fitur seperti balasan ancaman, uji coba sekali klik sekali lagi setelah perbaikan, dan sebagainya, tidak perlu mencari lagi.!

Ada tidak ada kekurangan alat keamanan API yang tersedia di pasar, apakah itu open source, gratis atau komersial, atau kombinasi dari semuanya. Jangan ragu untuk menjelajahi lebih lanjut, dan jika Anda menemukan sesuatu yang lebih baik, silakan tulis di komentar dan saya akan senang untuk memasukkannya! ��

TAGS:

  • API

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map