স্ক্রিপ্ট দ্বারা ssh এর জন্য ব্যবহৃত পাসওয়ার্ডগুলি সংরক্ষণ করার কোনও নিরাপদ উপায় আছে?


16

সুতরাং প্রথমে, আমি জানি, আমার এসএসএইচ সহ কী লেখাগুলি ব্যবহার করা উচিত। আমাকে এটি ব্যাখ্যা করার দরকার নেই।

এখানে সমস্যাটি হ'ল আমার কাছে বেশ কয়েকটি (বড়) সার্ভার রয়েছে, এবং এর প্রতিটি সংযোগ করতে আমার একটি স্ক্রিপ্ট থাকা দরকার।

আমি যখনই পারি একটি মূল প্রমাণীকরণ ব্যবহার করি, তবে প্রতিটি সার্ভারে এটি সম্ভব নয় (এটির উপর আমার নিয়ন্ত্রণ নেই)। তাই লগইন সহ এসএসএইচ, বা কখনও কখনও টেলনেট।

কারও কারও জন্য আমি কেবল পাসওয়ার্ডগুলি একটি ডিবিতে সঞ্চিত করেছি এবং আমার স্ক্রিপ্টটি যখন প্রয়োজন হবে তখন তা নেবে। সমস্যাটি এমন যে এটি করা সত্যিই নিরাপদ বলে মনে হচ্ছে না। এটিকে কিছুটা নিরাপদ করার কোনও উপায় আছে কি?

এটি সঞ্চয় করার কিছু নির্দিষ্ট উপায়ের মতো?


1
এনভ ভেরিয়েবল এসও থেকে সদৃশ: stackoverflow.com/a/4410137/2579527
ট্র্যাভিস স্টল

4
@ ট্র্যাভিস্টল স্টোর এনভায়রনমেন্ট ভেরিয়েবল নিরাপদ নয়।
জেনি ডি

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

1
এমনকি যদি আপনি পাসওয়ার্ডের পরিবর্তে এসএসএইচ প্রমাণীকরণ কী ব্যবহার করেন, তবে এটি সুরক্ষার নিশ্চয়তা - আপনার পাসওয়ার্ডের ডেটাবেস চুরি করতে পারে এমন কেউ আপনার ব্যক্তিগত কীটি চুরি করতে পারে। আপনি যেমন নিজের পাসওয়ার্ড ডাটাবেসটি এনক্রিপ্ট করতে পারেন ঠিক তেমনভাবে আপনি নিজের ব্যক্তিগত কীটি এনক্রিপ্ট করতে পারেন, তবে যেহেতু আপনার স্ক্রিপ্টটির কী (বা পাসওয়ার্ড ডাটাবেস) আনলক করা দরকার, এটি এখনও আক্রমণকারীর পক্ষে ঝুঁকিপূর্ণ। কীগুলির পরিবর্তে পাসওয়ার্ড ব্যবহার করা আপনার দুর্বলতাটিকে কিছুটা বাড়ায় যেহেতু এটি পাসওয়ার্ড চুরি করার আরও সুযোগ তৈরি করে, তবে পাসওয়ার্ডের পরিবর্তে কীগুলি ব্যবহার করা নিখুঁত সুরক্ষা নয়।
জনি

1
"কখনও কখনও টেলনেট" বোঝায় মনে হয় পাসওয়ার্ডটি কখনও কখনও তারের উপর দিয়ে পরিষ্কার হয়ে যায় ...?
হেগেন ভন ইটজেন

উত্তর:


24

যদি আপনার স্ক্রিপ্ট সেগুলির মধ্যে যে কোনও একটির সাথে সংযোগ করতে পারে, স্ক্রিপ্ট অ্যাক্সেস সহ যে কেউ (বা স্ক্রিপ্টটি চালিত মেশিনে সুবিধাযুক্ত অ্যাক্সেস) সেই সার্ভারগুলির মধ্যে যে কোনওটির সাথে সংযুক্ত হতে পারে।

যদি স্ক্রিপ্টটি স্বায়ত্তশাসিতভাবে চালানো দরকার, সমস্ত বেট বন্ধ রয়েছে। উত্তরটি এখানে নেই, এমন পরিবেশে পাসওয়ার্ড সংরক্ষণের কোনও নিরাপদ উপায় নেই । কোনও কিছু করার সম্পূর্ণ নিরাপদ এবং ব্যবহারিক উপায় নেই।

অনিবার্য এড়াতে চেষ্টা করার পরিবর্তে আপনার প্রতিরক্ষা গভীরতার দিকে মনোনিবেশ করা উচিত

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

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


এখন, পাসওয়ার্ডগুলি এক মুহুর্তের জন্য সর্বজনীন হিসাবে বিবেচনা করুন । ক্ষতি কমাতে আপনি কী করতে পারেন?

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

আপনি বিবেচনা করতে পারেন এমন কিছু হ'ল সার্ভারগুলিতে স্ক্রিপ্ট যুক্তি সরিয়ে নেওয়া । এইভাবে, আপনি একটি ছোট ইন্টারফেস পাবেন যা নিয়ন্ত্রণ করা সহজ এবং বিশেষত ...

নিরীক্ষণ । সর্বদা সার্ভারগুলিতে অ্যাক্সেস নিরীক্ষণ করুন। সাধারণত, লগ প্রমাণীকরণ এবং কমান্ডগুলি কেবলমাত্র একটি অতিরিক্ত লগতে সম্পাদিত হয় । auditdউদাহরণস্বরূপ স্ক্রিপ্ট ফাইল পরিবর্তনগুলি ব্যবহার করে নিরীক্ষণ করতে ভুলবেন না ।


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


14

সংক্ষিপ্ত উত্তর হলো 'না.

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

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


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

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

0

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

অবশ্যই এটি কোনও অতিরিক্ত সুরক্ষা যুক্ত করে না, পর্যাপ্ত অধিকার সহ একটি আক্রমণকারী কেবল ২ য় মেশিন থেকে পাসওয়ার্ডের জন্য অনুরোধ করতে পারে।

তবে মুল বক্তব্যটি হ'ল একটি তৃতীয় পক্ষ 3 য় মেশিনকে নিয়ন্ত্রণ করতে পারে, যেমন আপনার বস বা সুরক্ষা অফিসার বা তৃতীয় পক্ষ আপনি যে সার্ভারগুলি নিয়ন্ত্রণ করেন না তার নিয়ন্ত্রণে।

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

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