নিরাপদে স্বতঃ-লগইন কীভাবে কার্যকর করা যায়


15

"আপনি সম্ভবত পাসওয়ার্ড ভুল রাখছেন" এ নিয়ে আমি অনেকগুলি, অনেকগুলি পোস্ট পড়েছি । তারা সর্বদা একটি সার্ভারে পাসওয়ার্ডগুলি সংরক্ষণ করার বিষয়ে উল্লেখ করা হয় যেখানে কোনও ব্যবহারকারী লগইন করছে; তারা মূলত পাসওয়ার্ড ইত্যাদির লবণের বিষয়ে সর্বদা সর্বজনীন পরামর্শ পুনঃস্থাপন (পুনর্নিযুক্ত করা) ইত্যাদি However তবে, ক্লায়েন্টের পাসওয়ার্ড সংরক্ষণের জন্য সেরা অভ্যাসগুলির বিষয়ে আমি আর্টিকেলটি কখনও দেখিনি যাতে ক্লায়েন্টকে লগ ইন না করতে হয় ম্যানুয়ালি প্রতিটি সময় তারা লগ ইন করতে চান; "আমাকে মনে রাখুন" বৈশিষ্ট্য।

ব্রাউজার থেকে ড্রপবক্সের মতো প্রোগ্রামগুলিতে অনেকগুলি সফ্টওয়্যারের এই বৈশিষ্ট্য রয়েছে।

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

প্লেইন-টেক্সটে কোনও কুকির মতো কিছু সঞ্চয় করা কীভাবে এড়াতে হবে তাও আমি নিশ্চিত নই। আপনি যদি এটি এনক্রিপ্ট করেন তবে আপনি এটিটি ডিক্রিপ্ট করার জন্য কীটি সংরক্ষণ করবেন?

সুরক্ষা দুর্বলতার পরিচয় না দেওয়ার একমাত্র উপায় হ'ল অটোলজিন বৈশিষ্ট্যটি সরিয়ে দেওয়া এবং ব্যবহারকারী যখনই কোনও পরিষেবা ব্যবহার করতে চান ব্যবহারকারীকে তাদের পাসওয়ার্ড টাইপ করা, তবে এটি একটি ব্যবহারযোগ্যতা সংগ্রাম এবং ব্যবহারকারীরা এটি না করার প্রত্যাশা করে নষ্ট হয়ে যায়।

স্বয়ংক্রিয়ভাবে লগইন বৈশিষ্ট্যটি প্রয়োগ করতে স্থানীয়ভাবে শংসাপত্রগুলি নিরাপদে সংরক্ষণ করার বিষয়ে আমি কী পড়তে পারি? নীতিগুলি যদি একটি সম্পূর্ণ নিবন্ধের জন্য খুব সহজ হয় তবে সেগুলি কী? প্রশ্নে থাকা সফ্টওয়্যারটির সমস্ত প্ল্যাটফর্মগুলিতে উপস্থিত না থাকা বৈশিষ্ট্যগুলির উপর নির্ভর করা উচিত নয় ("কিচেন" যেমন কিছু লিনাক্স বিতরণ রয়েছে)।


2
এটি আপনার বিশ্বাস সম্পর্কে about আপনি যদি মেশিনটি আইডি সঞ্চয় করেন না তবে এটি আপনার সমস্যা। আপনি যদি কীচেইনকে বিশ্বাস করেন তবে এটিই সর্বাধিক সুরক্ষা পাবেন। অবশ্যই আপনি ডিভাইস হার্ডওয়্যার বা অন্য কিছু সনাক্ত করার মতো কিছু কাস্টম সুরক্ষা যোগ করতে পারেন তবে এটি সমস্ত নকল-সক্ষম যাতে আপনি শেষ পর্যন্ত জানতে পারবেন না। এটি আপনার নিয়ন্ত্রণের বাইরে। স্পষ্ট পাঠ্য পাসওয়ার্ড বাদ দেওয়া যেমন কোর্স বোকামি জিনিস।
লুক ফ্রাঙ্কেন

@ লুক ফ্র্যাঙ্কেন আপনি কীভাবে মেশিনকে বিশ্বাস করতে পারেন? ড্রপবক্সের মতো কেউ আপনাকে শোষণ করতে পারে। এছাড়াও আমি কীচেইনকে বিশ্বাস করব তবে সমস্ত কম্পিউটারের একটি থাকে না এবং উইন্ডোজ কখনই (এএফএআইকি) করে না। এবং আপনি যদি পাসওয়ার্ডগুলি সংরক্ষণ করছেন তবে কীভাবে আপনি সেগুলি স্পষ্ট-পাঠ্যে সংরক্ষণ করবেন না? আপনি যদি সেগুলি এনক্রিপ্ট করেন তবে কীটি ডিক্রিপ্ট করার জন্য আপনি কীটি সংরক্ষণ করবেন?
জে সাইমন

এটি ঠিক সমস্যা, আপনি এটি বিশ্বাস করতে পারবেন না। ব্যবহারকারী কেবল এটির বিশ্বাসের জন্য সংজ্ঞা দিতে পারেন। এটি বিবেচনা করে ব্যবহারকারী তার মেশিনটি কতটা সুরক্ষিত তা বুঝতে পারে। ড্রপবক্স থেকে ডেটা প্রাপ্ত একটি ভাইরাস লিখুন কেবল সম্ভব। স্থানীয়ভাবে সঞ্চিত কী এবং অন্যান্য স্থানীয় ডেটা একই। আপনি এটিকে আরও সুরক্ষিত করতে সহায়তা করতে পারেন (এমন অ্যাপ্লিকেশনগুলির জন্য চিন্তা করুন যা একটি 5 নম্বর কোডের প্রয়োজন) তবে শেষ পর্যন্ত এটি স্থানীয় এবং আপনার নিয়ন্ত্রণের বাইরে।
লুক ফ্রাঙ্কেন

@ লুকফ্রাকেন এটি কি আমি বা অটোলজিনকে সর্বব্যাপী বৈশিষ্ট্য বলে মনে হয়? যদি তা হয় তবে লোকেরা কেন এটি সঠিকভাবে করবেন তা নিয়ে লেখেননি?
জে সাইমন

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

উত্তর:


12

একটি উপায়:

  • যখন ব্যবহারকারী লগ ইন করে, ক্লায়েন্টের কম্পিউটারে (কোনও ব্যবহারকারীর নাম বা পাসওয়ার্ড নয়) একটি কুকিতে একটি সেশন আইডি সঞ্চয় করুন।
  • আইপি ঠিকানায় সেশন বেঁধে রাখুন, সুতরাং একটি পৃথক সেশন আইডি কেবল কম্পিউটারের সাথে কাজ করে যা এটি শুরু হয়েছিল।

আপনি নিজের সাইটটি বিকাশের জন্য কোন ফ্রেমওয়ার্ক ব্যবহার করছেন তার উপর নির্ভর করে এই আচরণটি অন্তর্নির্মিত বৈশিষ্ট্য হিসাবে উপলভ্য হতে পারে।

মনে রাখবেন, এইচটিটিপি প্রোটোকল যেভাবেই স্টেটলেস, তাই ওয়েবসাইটটি ব্যবহারের একক অধিবেশনে কাউকে লগইন করা এবং পরের বার যখন তারা সাইটটি ব্যবহার করবেন তখন "অটো-লগইন" করার মধ্যে কার্যকরী কোনও পার্থক্য নেই; অধিবেশন শেষ হওয়ার আগে আপনি কতটা সময় দেওয়ার অনুমতি দেবেন এটি একমাত্র বিষয়।

আপডেট: এছাড়াও, বর্ধিত সুরক্ষার জন্য, অবশ্যই, এইচটিটিপিএস ব্যবহার করুন।

আপডেট 2: নোট করুন যে এই পদ্ধতির সীমাবদ্ধতা রয়েছে, এটি তাদের আইপি ঠিকানাটি অনেক পরিবর্তন করে এমন ব্যবহারকারীদের পক্ষে এটি ভাল কাজ করে না। তবে এটি সুরক্ষার একটি বর্ধিত স্তর সরবরাহ করে এবং কিছু পরিস্থিতিতে এটি কার্যকর হতে পারে।


1
কোনও আইপি ঠিকানার সাথে এটি বেঁধে রাখলে খুব বেশি সুবিধা হয় না কারণ কারও কাছে এমন কম্পিউটার থাকতে পারে যা আপনি যেমন আছেন ঠিক একই ফায়ারওয়ালের পিছনে।
জে সাইমন

2
@ জায়েসিমন, আমি বলব না "বেশি কিছু সাহায্য করে না"। আপনারা একই ফায়ারওয়ালের পিছনে কম্পিউটারের সংখ্যা পৃথিবীর কম্পিউটারের সংখ্যার তুলনায় অনেক ছোট smaller এটি আক্রমণে আপনার সম্ভাব্য এক্সপোজারকে সীমাবদ্ধ করার বিষয়ে এবং এটি এটি ব্যাপকভাবে সীমাবদ্ধ করে। এটি একটি স্ট্যান্ডার্ড পদ্ধতির, এবং আমি সত্যিই ভাবি না যে এর বাইরে আপনি আরও কিছু করতে পারেন can যদি কারওর মতো একই আইপি ঠিকানা থাকে এবং সেশন আইডিটি পরিচালনা করে তবে সে ব্যক্তি সার্ভারের দৃষ্টিকোণ থেকে ব্যবহারকারীর কাছ থেকে পৃথক হয়ে উঠবে। আপনার সাইটে যদি কোনও ধরণের লগ-ইন থাকে তবে আপনি এই ধরণের আক্রমণে আসেন।

3
আপনি কি মনে করেন যে মোবাইল ফোনে এমন আইপি ঠিকানাটি প্রায়শই পরিবর্তিত হতে পারে এমন ব্যবহারকারীরা বিরক্তিকর হবেন?
জে সাইমন

@ জায়েসিমন, যদি এটি একটি সেশনের মধ্যে ঘটে তবে ব্যবহারকারী হঠাৎ লগ আউট হিসাবে এটির অভিজ্ঞতা অর্জন করবে যা অবশ্যই বিরক্তিকর হবে। আমি জানি না যে তারা আসলে কতবার পরিবর্তিত হয়, যদিও (তাত্ক্ষণিক গুগল অনুসন্ধান একটি নির্দিষ্ট উত্তর প্রকাশ করে না)। আইপি পরিবর্তিত হওয়ার সম্ভাবনা না থাকলে আমি এ নিয়ে খুব বেশি উদ্বিগ্ন হব না যদি তারা আসলে এটি ব্যবহার করে।

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

5

আমাজন (এবং আরও অনেকে) একটি হাইব্রিড পদ্ধতির ব্যবহার করে। তারা ব্রাউজিং, কার্টে আইটেম যুক্ত করার এবং ক্রেডিট কেয়ার / শিপিং অ্যাড্রেস সমন্বয়গুলি আগে ব্যবহার করে অর্ডার দেওয়ার জন্য অটোলজিন সরবরাহ করে। যাইহোক, ক্রেডিট কার্ড যুক্ত করা, শিপিং ঠিকানাগুলি যুক্ত করা / পরিবর্তন করা, পাসওয়ার্ড আপডেট করা, অতীত আদেশগুলি (ব্যবহারকারীর কাছে বিকল্প হিসাবে) এবং অন্যান্য প্রচুর অ্যাকাউন্ট সেটিংসের মতো আপনাকে অনেকগুলি ক্রিয়াকলাপের জন্য আপনার পাসওয়ার্ড প্রবেশ করানো দরকার।

হ্যাঁ, আপনার কম্পিউটারে অ্যাক্সেস পাওয়া লোকেরা আপনার সেশনটি হাইজ্যাক করতে পারে, তবে তারা যা আদেশ করে তা আপনি এখনও পান! (আরও গুরুত্বপূর্ণ বিষয়, একটি অধিবেশন হাইজ্যাক করার উত্সাহটি বেশ অবহেলিত)) তবে যদি আমার কম্পিউটারে কারও অ্যাক্সেস থাকে তবে আমার গড় সাইটের সেশনগুলি চুরি করা লোকদের চেয়ে আমার বড় সমস্যা হয়।

আপনার যদি আপনার অ্যাপ্লিকেশনটির এমন কিছু অংশ থাকে যা সুরক্ষার চেয়ে বেশি প্রয়োজন না হয় তবে আপনি একটি হাইব্রিড মডেল বেছে নিতে পারেন যেখানে আপনি ব্যবহারকারীদের সাইটের কম সুরক্ষা অংশে অটো লগইন করতে সেশন আইডি (হ্যাশড বা আপনি যা চান) সংরক্ষণ করতে পারেন where , তবে উচ্চতর সুরক্ষা অঞ্চলগুলিতে প্রবেশ করার সময় তাদের পাসওয়ার্ডটি প্রবেশ করতে হবে এবং সেশনটি শেষ হওয়ার পরে উচ্চ সুরক্ষা টোকেন মোছার প্রয়োজন।

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


2

এটি আসলে তেমন শক্ত নয়। প্রথমে এই ফর্ম্যাটটি সহ একটি কুকি সংরক্ষণ করুন:

userID.token

আপনি টোকেনের জন্য একটি sha1 হ্যাশ ব্যবহার করতে পারেন। তারপরে আপনার মনে রাখা_মে_ টোকেন ডাটাবেস টেবিল স্টোর ইউজারআইডি-তে, টোকনের একটি বিক্রিপ্ট হ্যাশ এবং টোকেনটি যে সময় তৈরি হয়েছিল।

তারপরে কেউ যখন আপনার সাইটটিতে যান, কুকি সেট আছে কিনা তা পরীক্ষা করে দেখুন। যদি কুকি সেট করা থাকে তবে শেষ 7 দিনের মধ্যে এটির জন্য ডাটাবেসে কোনও বৈধ সারি আছে কিনা তা দেখুন। যদি কুকির জন্য ডেটাবেজে কোনও বৈধ সারি থাকে তবে ব্যবহারকারী লগইন হয়েছে এবং এটি মিলে যাওয়া কুকি / ডাটাবেস সারিটি মুছুন এবং একটি নতুন কুকি / টোকেন / ডাটাবেস সারি তৈরি করুন তা চিহ্নিত করার জন্য সেশনটি সেট করুন।

যদি তারা লগ আউট করে তবে কুকি মুছুন।

7 দিনের চেয়ে পুরানো স্মরণ_ম_ টোকেনগুলি ছাঁটাই করতে ক্রোন জব চালান।


কাউকে কীটি এই কীটি অনুলিপি করা এবং তাদের মেশিনে আটকানো এবং ব্যবহারকারীর নাম বা পাসওয়ার্ড ছাড়াই অ্যাকাউন্টে অ্যাক্সেস পেতে বাধা দেয়?
জে সাইমন

তুমি কী চাবি পাবে? এটি স্থানীয়ভাবে কারও কম্পিউটারে সঞ্চিত।
রায়ান

আপনি কম্পিউটারে যান এবং ফাইলটি যেখানে সঞ্চিত থাকে তা খুলুন :)
জে সাইমন

2
@ জায়সিমন এই একই যুক্তি এমন কারও পক্ষে তৈরি করা যেতে পারে যারা লগ ইন করে এবং কম্পিউটার লক না করে 5 মিনিটের জন্য চলে যায়, বা আমাকে মনে রাখে ক্লিক করে এবং তাদের অ্যাকাউন্টের পাসওয়ার্ডে কেউ লাফ দেয়। আপনি যদি এই সম্ভাব্য সুরক্ষা পরিস্থিতিটি গ্রহণ করতে পারেন তবে এর সুবিধাটি দুর্দান্ত তবে তবে আপনি সিআইএ এনওসি তালিকায় একটি রিমাই মি বৈশিষ্ট্যটি দেখেন না :) সার্ভার আপনাকে অবশ্যই এমন এক ধরণের টোকেন দেবে যা ক্লায়েন্টকে অবশ্যই সঞ্চয় করতে হবে ফাইল সিস্টেমে। যদিও এটি এখন সার্ভারের দৃষ্টিকোণ থেকে আপনার হাতে নেই।
ম্যাপেল_শ্যাফ্ট

@ ম্যাপল_শ্যাফ্ট কেন অবাক হয়েছিলেন যে আপনি তখন ড্রপবক্সে তা করতে পারলেন? (আমি এটি আমার প্রশ্নের সাথে যুক্ত করেছি))
জে সাইমন

0

আপনি কেবল সেই ডিভাইসে যেখানে এটি স্টোর করে সেখানে বিশ্বাস করেন। এটি কতটা সুরক্ষিত তা ব্যবহারকারীর উপর (যদি আপনি ডিভাইসটিকে প্রভাবিত করতে না পারেন)। এটি কেবল আপনার হাতের বাইরে।

মতামত হিসাবে বলা হয়েছে:

এটি আপনার বিশ্বাস সম্পর্কে about আপনি যদি মেশিনটি আইডি সঞ্চয় করেন না তবে এটি আপনার সমস্যা। আপনি যদি কীচেইনকে বিশ্বাস করেন তবে এটিই সর্বাধিক সুরক্ষা পাবেন। অবশ্যই আপনি ডিভাইস হার্ডওয়্যার বা অন্য কিছু সনাক্ত করার মতো কিছু কাস্টম সুরক্ষা যুক্ত করতে পারেন তবে এটি সমস্ত নকল-সক্ষম যাতে আপনি শেষ পর্যন্ত জানতে পারবেন না। এটি আপনার নিয়ন্ত্রণের বাইরে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.