Panduan keamanan Kerangka Kerja Bot

BERLAKU UNTUK: SDK v4

Bot lebih banyak dan lebih lazim di bidang bisnis utama seperti layanan keuangan, ritel, perjalanan, dan sebagainya. Bot mungkin mengumpulkan data yang sangat sensitif seperti kartu kredit, SSN, rekening bank, dan informasi pribadi lainnya. Jadi, penting agar bot aman dan melindungi dari ancaman dan kerentanan umum.

Anda dapat melakukan beberapa tindakan pencegahan standar untuk meningkatkan keamanan bot Anda. Beberapa langkah keamanan mirip dengan yang digunakan dalam sistem perangkat lunak lain, sementara beberapa di antaranya khusus untuk Kerangka Kerja Bot. Untuk yang terakhir, lihat Azure Security Benchmark. Tolok ukur memberikan rekomendasi tentang cara mengamankan solusi cloud di Azure.

Masalah keamanan singkatnya

Artikel ini mengelompokkan masalah keamanan ke dalam 2 kategori:

  • Ancaman: Taktik yang mungkin digunakan seseorang untuk membahayakan bot Anda, seperti spoofing, perusakan, pengungkapan informasi, penolakan layanan, dan sebagainya.

  • Kerentanan: Cara bot atau manajemen bot Anda mungkin rentan terhadap taktik tersebut, seperti bug, atau keamanan cacat.

Mengurangi kerentanan Anda adalah cara yang baik untuk mengurangi ancaman, dan cara yang diketahui untuk mengurangi kerentanan adalah dengan menerapkan check point keamanan dalam proses pengembangan dan penyebaran.

Panduan keamanan umum

Area berikut ini dicakup oleh praktik terbaik keamanan standar yang umum untuk aplikasi.

Mengamankan lalu lintas jaringan

Ada protokol yang menyediakan kontrol kriptografis untuk mengatasi perusakan dan pengungkapan data selama transmisi. Dalam hal ini, bot harus berkomunikasi hanya melalui saluran yang diamankan.

Untuk bertukar data pada kawat, sistem aman apa pun harus menggunakan protokol HTTPS , yang mentransfer data melalui HTTP dalam koneksi terenkripsi yang dilindungi oleh Transport Layer Security (TLS) atau Secure Sockets Layer (SSL). Lihat juga RFC 2818 - HTTP Melalui TLS.

Catatan

Semua saluran Bot Service memerlukan HTTPS dan TLS 1.2.

Pesan yang merusak diri sendiri

Hapus data sensitif secara permanen segera setelah tidak lagi diperlukan, biasanya setelah pertukaran pesan berakhir, atau setelah jumlah waktu tertentu. Hal ini dapat mencakup informasi identifikasi pribadi, ID, PIN, kata sandi, pertanyaan dan jawaban keamanan, dan sebagainya.

Penyimpanan data

Panggilan praktik terbaik untuk menyimpan informasi dalam keadaan aman untuk jumlah waktu tertentu lalu membuangnya nanti setelah informasi itu melayani tujuannya.

Beberapa teknik keamanan umum tercantum di bawah ini.

Firewall database

  • Firewall menolak akses ke lalu lintas secara default. Satu-satunya lalu lintas yang diperbolehkan harus berasal dari aplikasi atau server web tertentu yang perlu mengakses data.
  • Anda juga harus menggunakan firewall aplikasi web. Ini karena serangan seperti SQL serangan injeksi yang diarahkan ke aplikasi web dapat digunakan untuk mengeluarkan atau menghapus data dari database.

Pengerahan database

  • Pastikan bahwa database masih didukung oleh vendor, dan Anda menjalankan versi terbaru database dengan semua patch keamanan yang terinstal untuk menghapus kerentanan yang diketahui.
  • Hapus instalan atau nonaktifkan fitur atau layanan apa pun yang tidak Anda perlukan dan pastikan Anda mengubah kata sandi akun default apa pun dari nilai defaultnya; atau lebih baik, hapus akun default apa pun yang tidak Anda perlukan.
  • Pastikan bahwa semua kontrol keamanan database yang disediakan oleh database diaktifkan, kecuali ada alasan tertentu untuk dinonaktifkan.

Meminimalkan informasi berharga

  • Pastikan Bahwa Anda tidak menyimpan informasi rahasia apa pun yang tidak perlu berada dalam database.
  • Data yang dipertahankan untuk kepatuhan atau tujuan lain dapat dipindahkan ke penyimpanan yang lebih aman, mungkin offline, yang kurang rentan terhadap ancaman keamanan database.
  • Pastikan untuk menghapus file riwayat apa pun yang ditulis oleh server selama prosedur penginstalan asli. Jika penginstalan berhasil, file ini tidak memiliki nilai tetapi dapat berisi informasi yang berpotensi dieksploitasi.

Pendidikan

Bot menyediakan alat interaksi inovatif antara perusahaan dan pelanggannya. Tetapi mereka berpotensi menyediakan backdoor untuk mengutak-atik situs web perusahaan. Oleh karena itu, perusahaan harus meyakinkan bahwa pengembangnya memahami pentingnya keamanan bot sebagai bagian dari keamanan situs web. Selain itu, kesalahan pengguna juga bisa menjadi masalah. Ini akan memerlukan beberapa pendidikan tentang bagaimana bot dapat digunakan dengan aman, misalnya:

  • Untuk pengembang, strategi harus menyertakan pelatihan internal tentang cara menggunakan bot dengan aman.
  • Pelanggan dapat diberi panduan yang menjelaskan cara berinteraksi dengan bot dengan aman.

Panduan keamanan khusus bot

Area berikut ini dicakup oleh beberapa praktik terbaik keamanan standar untuk aplikasi Kerangka Kerja Bot. Panduan berikut menguraikan langkah-langkah keamanan praktik terbaik Kerangka Kerja Bot. Untuk informasi selengkapnya, lihat FAQ Keamanan dan Privasi.

Autentikasi Konektor Bot

Layanan Konektor Bot secara asli menggunakan HTTPS untuk bertukar pesan antara bot dan saluran (pengguna). SDK Kerangka Kerja Bot mengotomatisasi autentikasi bot-to-channel dasar untuk Anda.

Peringatan

Jika Anda menulis kode autentikasi Anda sendiri, sangat penting bagi Anda untuk menerapkan semua prosedur keamanan dengan benar. Dengan menerapkan semua langkah yang dijelaskan dalam artikel Autentikasi , Anda dapat mengurangi risiko penyerang dapat membaca pesan yang dikirim ke bot Anda, mengirim pesan yang meniru bot Anda, dan mencuri kunci rahasia.

Autentikasi pengguna

Autentikasi Azure Bot Service memungkinkan Anda mengautentikasi pengguna dan mendapatkan token akses dari berbagai penyedia identitas seperti Azure Active Directory, GitHub, Uber, dan sebagainya. Anda juga dapat mengonfigurasi autentikasi untuk penyedia identitas OAuth2 kustom. Semua ini memungkinkan Anda menulis satu bagian kode autentikasi yang berfungsi di semua penyedia identitas dan saluran yang didukung. Untuk menggunakan kapabilitas ini, Anda perlu melakukan langkah-langkah berikut:

  1. Konfigurasikan secara statis settings pada bot Anda yang berisi detail pendaftaran aplikasi Anda dengan penyedia identitas.
  2. Gunakan , yang OAuthCarddidukung oleh informasi aplikasi yang Anda berikan di langkah sebelumnya, untuk masuk ke pengguna.
  3. Ambil token akses melalui API Bot Service Azure. Praktik yang baik adalah menempatkan batas waktu berapa lama pengguna yang diautentikasi dapat tetap masuk.

Untuk informasi selengkapnya, lihat artikel Autentikasi pengguna .

Web Chat

Ketika Anda menggunakan kontrol Web Chat, Anda harus mengingat beberapa pertimbangan keamanan penting tentang peniruan identitas dan spoofing. Untuk informasi selengkapnya, lihat Autentikasi direct line yang disempurnakan.

Informasi tambahan