ফায়ারবেস ডেটা সংশোধন কীভাবে সীমাবদ্ধ করবেন?


94

ফায়ারবেস ডাটাবেস ব্যাক-এন্ড সরবরাহ করে যাতে বিকাশকারীরা ক্লায়েন্টের সাইড কোডটিতে ফোকাস করতে পারে।

সুতরাং কেউ যদি আমার ফায়ারবেস ইউরি নেন (উদাহরণস্বরূপ https://firebaseinstance.firebaseio.com) তবে এটিতে স্থানীয়ভাবে বিকাশ করুন ।

তারপরে, তারা কি আমার ফায়ারবেস উদাহরণ থেকে অন্য অ্যাপ তৈরি করতে সক্ষম হবে, সাইনআপ করে এবং আমার ফায়ারবেস অ্যাপ্লিকেশনের সমস্ত ডেটা পড়তে নিজেরাই প্রমাণীকরণ করবে?

উত্তর:


105

@ ফ্র্যাঙ্ক ভ্যান পাফেলেন,

আপনি ফিশিং আক্রমণটির কথা উল্লেখ করেছেন। আসলে এটির জন্য সুরক্ষার একটি উপায় আছে।

আপনি যদি নিজের গুগলএপিআইএস এপিআই ম্যানেজার কনসোলে লগইন করেন তবে আপনার অ্যাপটি কোন এইচটিটিপি রেফারারের কাছ থেকে অনুরোধ গ্রহণ করবে তা লক করে দেওয়ার বিকল্প রয়েছে।

  1. পরিদর্শন https://console.developers.google.com/apis
  2. আপনার ফায়ারবেস প্রকল্পে যান
  3. শংসাপত্রগুলিতে যান
  4. এপিআই কীগুলির অধীনে, আপনার ফায়ারবেস প্রকল্পের সাথে সম্পর্কিত ব্রাউজার কীটি নির্বাচন করুন (আপনার ফায়ারবেস অ্যাপ্লিকেশনটি আরম্ভ করার জন্য আপনি যে এপিআই কী ব্যবহার করেন তার অনুরূপ কী থাকা উচিত))
  5. "এই এইচটিটিপি রেফারারদের (ওয়েব সাইটগুলি) থেকে অনুরোধ গ্রহণ করুন এর অধীনে কেবল আপনার অ্যাপ্লিকেশনটির URL যুক্ত করুন।

এটি কেবল শ্বেত তালিকাভুক্ত ডোমেনটিকে আপনার অ্যাপ্লিকেশন ব্যবহার করার অনুমতি দেবে।

ফায়ারবেস লঞ্চ-চেকলিস্টে এটি এখানে বর্ণিত হয়েছে: https://firebase.google.com/support/guides/launch-checklist

সম্ভবত ফায়ারবেস ডকুমেন্টেশন এটিকে আরও দৃশ্যমান করতে পারে বা ডিফল্টরূপে স্বয়ংক্রিয়ভাবে ডোমেনটিকে লক করে রাখতে পারে এবং ব্যবহারকারীদের অ্যাক্সেসের অনুমতি দেওয়ার দরকার পড়ে?


4
আমি যখন গুগল এপিআই কনসোলটিতে যাই, আমি এইচটিটিপি রেফারারটিকে লকড করার বিকল্পটি দেখতে পাচ্ছি না। স্ক্রিনশট সহায়ক হবে। thx
রত্নাক

আপনি কি উপরের পদক্ষেপগুলি অনুসরণ করার চেষ্টা করেছেন? এটি আপনাকে এখনই নেওয়া উচিত। সুরক্ষার কারণে, আমি একটি স্ক্রিনক্যাপ নেব না। ব্রাউজার কীটি সন্ধান করতে ভুলবেন না। শুভকামনা করছি.
prufrofro

4
হাইব্রিড মোবাইল অ্যাপ্লিকেশন দিয়ে ফায়ারবেস ব্যবহার করার সময়, আয়নিকের মতো কাঠামো ব্যবহার করার পরে কীভাবে হোয়াইট-লিস্টিং কাজ করতে পারে? কোনও পরামর্শ?
দিনানা

4
@prufrofro আপনার জন্য কি এটি ঠিক আছে? একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনটির জন্য একই জিনিস করার কথা ভাবছিল। আমি ভাবছি কেন ফায়ারবেস সুরক্ষা বিভাগে এটি আবরণ করে না।
স্টিলিওসফ

4
@ আনন্দ এবং হ্যাঁ তবে ফায়ারবেস ডকুমেন্টেশনে এটি আবরণ করে না। ডিফল্টরূপে কীগুলি সর্বজনীন হয় এবং কেবলমাত্র নির্দিষ্ট প্যাকেজের নাম এবং SHA-1 অ্যাপ্লিকেশন শংসাপত্রে আপনাকে সেগুলি ম্যানুয়ালি সীমাবদ্ধ করতে হবে। এবং আমি ভাবছিলাম যে ফায়ারবেস কেন এটি উল্লেখ করে না। একটি ধরা আছে বা কিছু আছে?
স্টিলিওসফ

38

আপনার ইউআরএলটি যে কেউ জানে সে বিষয়টি সুরক্ষা ঝুঁকি নয়।

উদাহরণস্বরূপ: আপনাকে জানাতে আমার কোনও সমস্যা নেই যে আমার ব্যাংকটি তার ওয়েবসাইটটি bankofamerica.com এ হোস্ট করে এবং এটি সেখানে HTTP প্রোটোকল বলে। আপনি যদি সেই সাইটটি অ্যাক্সেস করতে ব্যবহার করেন এমন শংসাপত্রগুলি না জানেন তবে ইউআরএল জেনেও আপনার কোনও লাভ হয় না।

আপনার ডেটা সুরক্ষিত করতে, আপনার ডাটাবেসগুলি এর সাথে সুরক্ষিত করা উচিত:

  • যাচাইয়ের নিয়ম যা নিশ্চিত করে যে সমস্ত ডেটা আপনার পছন্দসই কাঠামোর সাথে মেনে চলে
  • অনুমোদিত বিধিগুলি প্রতিটি বিট ডেটা কেবল অনুমোদিত ব্যবহারকারীদের দ্বারা পঠন ও সংশোধন করতে পারে তা নিশ্চিত করে

এটি সমস্ত সুরক্ষা ও বিধিগুলিতে ফায়ারবেস ডকুমেন্টেশনে আচ্ছাদিত , যা আমি অত্যন্ত সুপারিশ করি।

এই সুরক্ষা বিধিগুলি যথাযথভাবে রেখে, অন্য কারও অ্যাপ্লিকেশনটি আপনার ডাটাবেসে ডেটা অ্যাক্সেস করতে পারে কেবল সেটাই যদি তারা আপনার অ্যাপ্লিকেশনটির কার্যকারিতা অনুলিপি করে, ব্যবহারকারীরা আপনার পরিবর্তে তাদের অ্যাপ্লিকেশনটিতে সাইন ইন করে এবং সাইন ইন করে / পড়তে / লিখতে পাঠায় আপনার ডাটাবেস; মূলত ফিশিং আক্রমণ সেক্ষেত্রে ডাটাবেসে কোনও সুরক্ষা সমস্যা নেই, যদিও সম্ভবত কিছু কর্তৃপক্ষকে জড়িত করার এটি সম্ভবত সময়।


4
আমি উত্তর খুঁজছি না বেশ। আমি আপনাকে অন্যভাবে জিজ্ঞাসা করি ধরুন আমি আপনাকে আমার ফায়ারবেস https://tinderclone.firebaseio.com/এবং এই url দিয়েছি https://tinderclone.firebaseio.com/profiles.json। তারা আসল ফায়ারবেস ডাটাবেস। আপনি কী ইমেলটি দিয়ে একটি সাইনআপ ফর্ম এবং লগইন ফর্ম তৈরি করে কোনও অ্যাপটি বিকাশ করতে পারেন? যেহেতু আমার অ্যাপ্লিকেশনটি ইমেল দিয়ে যে কাউকে নিবন্ধন করতে দেয়, আপনি নিবন্ধনের পরে, আপনি কি সমস্ত ডেটা পড়তে সক্ষম হবেন? আমি আপনাকে পরে আরও একটি প্রশ্ন জিজ্ঞাসা করব। ধন্যবাদ
রতনক

4
এটি নির্ভর করে আপনি কীভাবে আপনার ডাটাবেস সুরক্ষিত করবেন। সহজভাবে যুক্ত করা ".read": falseডেটা দেখতে কাউকে বাধা দেবে। আপনি সম্ভবত এর চেয়ে কিছুটা বেশি মঞ্জুরি দিতে চান তবে এটি আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে। ডেটা সুরক্ষিত করা সুরক্ষা ও বিধি সম্পর্কিত ফায়ারবেস ডকুমেন্টেশনে আচ্ছাদিত ।
ফ্র্যাঙ্ক ভ্যান পাফেলেন

6

মোবাইল অ্যাপ্লিকেশনগুলির জন্য অথ হোয়াইট-তালিকা সম্পর্কিত, যেখানে ডোমেন নাম প্রযোজ্য নয়, ফায়ারবেস রয়েছে

1) SHA1 fingerprintজন্য Android Apps এবং

2) App Store ID and Bundle ID and Team ID (if necessary)আপনার আইওএস অ্যাপ্লিকেশনগুলির জন্য

যা আপনাকে ফায়ারবেস কনসোলে কনফিগার করতে হবে।

এই সুরক্ষাও সঙ্গে, যেহেতু বৈধতা নয় শুধু যদি কেউ বৈধ API কী, প্রমাণীকরণ ডোমেইন, ইত্যাদি আছে, কিন্তু, এটা আমাদের অনুমোদিত অ্যাপ্লিকেশানগুলি থেকে এবং আসছে domain name/HTTP referrer in caseএর ওয়েব

বলেছিলেন যে, এই এপিআই কী এবং অন্যান্য সংযোগের প্যারামগুলি অন্যের কাছে প্রকাশিত হলে আমাদের চিন্তা করার দরকার নেই।

আরও তথ্যের জন্য, https://firebase.google.com/support/guides/launch-checklist


আমার অজ্ঞতা ক্ষমা করুন, আমি এনক্রিপশন দিয়ে খুব ভাল নই তবে কি আপনার এপিপির মাধ্যমে Sha1 অ্যাক্সেসযোগ্য নয়? লোকেরা কি কেবল শ 1 নকল করতে পারে না? আমি কীভাবে এটি সাহায্য করে তা দেখছি না। অন্যথায় প্রমাণিত হয়ে আমি খুব খুশি হব :)
cs লোক

হ্যাঁ. আপনি অবশ্যই একটি apk এর sha1 পেতে পারেন। তবে এটি আপনার কলকে বৈধতা দেওয়ার জন্য ফায়ারবেসকে পরম হিসাবে পাস করার মতো কিছু নয়। এটি এপিআই-এসডিকে স্তরে ফায়ারবেস দ্বারা নেওয়া হয়েছে (অ্যান্ড্রয়েড রানটাইম থেকে বিশ্বাস করুন)। সুতরাং আপনি সংযোগটি নকল করতে পারম হিসাবে এটি ফায়ারবেসে প্রেরণ করতে পারবেন না।
আনন্দ

কেবল SHA1 ফিঙ্গারপ্রিন্ট ব্যবহার করা আপনার ফায়ারবেসের সাথে অ্যান্ড্রয়েড অ্যাপ যোগাযোগটি সুরক্ষিত করতে কোনও কিছুই সহায়তা করবে না। এসএইচএ 1 নিজেই পাওয়া যায় এবং সহজেই অনুলিপি করা যায় এবং এসডিকে পরিবর্তে ফায়ারবেস এপিআই ব্যবহার করে সংযোগটি নকল করা যায়। আপনার অ্যাপ্লিকেশনটি প্রথমে সত্যায়িত করা উচিত এবং কীটি গোপন করার জন্য কিছু কোড অবলম্বন ব্যবহার করা উচিত।
ফেব্রইয়ান এএসএ পারদানা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.