ওয়েব কনফিগারেশনে এটি কি ভাল অনুশীলন সেট সংযোগের স্ট্রিং?


14

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


2
অবশ্যই, আপনি কেবলমাত্র একটি ডোমেন ব্যবহারকারী হিসাবে অ্যাপ্লিকেশনটি চালাতে পারেন এবং কেবল সেই ব্যবহারকারীর ডেটাবেস অ্যাক্সেস করার অনুমতি দিয়েছিলেন। তারপরে আপনার ডাটাবেসটি ভেঙে ফেলার জন্য তাদের এলডিএপিতে অ্যাক্সেস দরকার।
পিডিআর

@ পিডিআর: সংযোগের স্ট্রিংটি এখনও কিছু তথ্য প্রকাশ করবে যা আপনি যদি ওয়েবসারভারের সাথে আপোস করেন তবে প্রকাশ করা পছন্দ করবেন না, যেমন ডাটাবেস সার্ভারের নাম এবং ডাটাবেসের নাম।
কারসন 63000

উত্তর:


18

এর কোনও সামান্য পার্থক্য নেই, কেবলমাত্র আপনি যদি একটি ডিএলএল স্থাপন করে একটি কনফিগারেশন পরিবর্তন করতে চান তবে আপনাকে আসলে একটি বাইনারি তৈরি করতে হবে, যেখানে কোনও অ্যাডমিন কেবল শ-অফ-দ্য শেল্ফ সরঞ্জামগুলির সাহায্যে কনফিগারেশনটি সংশোধন করতে পারে যদি এটি কনফিগারেশনে থাকে এমএসডিএন-তে কনফিগারেশন স্ট্রিং এবং অতিরিক্ত নির্দেশিকা এনক্রিপ্ট করার জন্য ইতিমধ্যে একটি প্রক্রিয়া রয়েছে । Asp.Net এর বর্তমান সংস্করণগুলিতে বিকল্প ব্যবস্থা থাকতে পারে, সুতরাং কোনও পদ্ধতির প্রতিশ্রুতিবদ্ধ হওয়ার আগে কিছু অতিরিক্ত গবেষণা করুন।

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


পরীক্ষা বাইনারি হয়, বাইনারি হয় সংখ্যা, যদি কেউ 1 এবং 0 টি পড়তে পারে তবে আপনার শারীরিক এবং সফ্টওয়্যার সুরক্ষা ব্যর্থ হয়েছে।
রামহাউন্ড

12

এটা কোন ব্যাপার না যেখানে ডেটা এনক্রিপ্ট সঞ্চিত থাকে, এটা গুরুত্বপূর্ণ কিভাবে এটি এনক্রিপ্ট না।

একটি ওয়েবকনফাইগের এনক্রিপ্ট করা বিভাগগুলি সাধারণত ডেটা সুরক্ষা API এর সাথে এনক্রিপ্ট থাকে যা পুরো মেশিনে আপস না করে ক্র্যাক করা অত্যন্ত কঠিন is আপনি একটি আরএসএ কী ধারকও ব্যবহার করতে পারেন, যা অনুরূপ (মেশিন থেকে বেরিয়ে আসা কঠিন)।

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

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

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

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


2

এএসপি.নেটের সেরা অনুশীলনটি ওয়েব কনফিগ ফাইল বা অ্যাপকনফাইগ ফাইলে (অন্যান্য প্রকল্পের ধরণের জন্য) সমস্ত কনফিগারেশন / সেটিংস স্থাপন করা হয়।

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

আরও একটি বিষয়, আপনার সংযোগের স্ট্রিংগুলিকে হার্ড কোডিং করা খারাপ অভ্যাস। উদাহরণস্বরূপ, কোনও সংযোগ স্ট্রিং (ওরফে সংযোগটি) কোনও ডিএলএল বা .aspx / .ascx / .cshtml বা কোড-পিছনে রাখবেন না।


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