অনুমোদিত_পোকাদের জন্য একটি কেন্দ্রীয় অবস্থান কি একটি ভাল ধারণা?


29

আমি নিম্নলিখিত স্ট্যাকটি চালানোর জন্য একটি ক্লাউড সার্ভার কনফিগার করার প্রক্রিয়াধীন: রুবি, যাত্রী, অ্যাপাচি; উবুন্টু 10.04 (লুসিড লিঙ্কস) এর অধীনে।

সার্ভারটিকে পরিচালনা করতে আরও সহজ করার ইচ্ছায় আমি আরএসএ কী সেটআপ করি rootএবং www-dataযাতে আমি sshসার্ভারে প্রবেশ করতে পারি । জিনিস আমি পছন্দ করিনি ছিল www-data'র .sshডিরেক্টরি বসে মধ্যে /var/wwwযা Apache জন্য ডিফল্ট ডিরেক্টরি সেটআপ করা আছে। আমার উদ্বেগ হ'ল যদি অ্যাপাচি সঠিকভাবে কনফিগার করা না যায় তবে .sshডিরেক্টরিটি উন্মুক্ত করা যায়।

আমি নড়তেও সমাধান জুড়ে এসেছিল ~/.ssh/authorized_keysএকটি কেন্দ্রীয় অবস্থান মধ্যে পরিবর্তন করে ফাইল AuthorizedKeysFileমধ্যে /etc/ssh/sshd_config। এটি 2 টি পেশাদার সহ আসে: কীগুলির জন্য একটি একক অবস্থান এবং কোনও খারাপ অ্যাপাচি কনফিগারেশন নিয়ে চিন্তা করার দরকার নেই। আমি একক কন যা ভাবতে পারি তা হ'ল এখন প্রতিটি ব্যবহারকারীর সার্ভারে লগইন করার জন্য উপলব্ধ (কেন্দ্রীয় কী ফাইলের স্পষ্টত একটি দ্বি প্রান্তের তরোয়াল))

এই কনফিগারেশনে আমি কিছু মিস করেছি কি? আমি কি নিজেকে ফাঁস করে দিয়েছি, বা এটি পৃথক authorized_keysফাইলগুলির চেয়ে ভাল সমাধান ?

সার্ভার পরিচালনার ক্ষেত্রে আমি সবুজ , তবে খারাপ কাজ করার জন্য খারাপ নাম বলা সম্পূর্ণ প্রস্তুত। : ডি


1
ইন্টারনেটে কমপক্ষে পাবলিক কীগুলি উন্মুক্ত করা (কেবল পঠনযোগ্য) সবচেয়ে বড় ঝুঁকি নয় ... (এটি আক্রমণকারীদের এটি দেখার অনুমতি দিতে পারে যে তারা অন্য কোথাও প্রাপ্ত কোনও প্রাইভেট কী দিয়ে সার্ভারে লগইন করতে পারে কিনা, তবে এটি হবে না কেবল এটি পেয়ে তাদের লগ ইন করার অনুমতি দেবেন না ...) (গুরুতর সমস্যাগুলি যদি কোনও id_rsaফাইল থাকে ~/.sshএবং তারা এটি পড়তে পারে তবে)
গার্ট ভ্যান ডান বার্গ

উত্তর:


51

সমস্ত কী ফাইলগুলি একই ডিরেক্টরিতে কেন্দ্রীভূত করা যায় এবং একই ফাইলে মেশানো যায় না।

সহজভাবে sshd_configফাইলটি সেট আপ করুন :

AuthorizedKeysFile  /etc/ssh/authorized_keys/%u

আপনার সার্ভারে:

  • www-data কী থাকবে /etc/ssh/authorized_keys/www-data
  • রুট কীগুলি হবে /etc/ssh/authorized_keys/root

অ্যাক্সেসের অধিকার সম্পর্কে, এই সেটিংসগুলি এসএসডি দ্বারা গ্রহণ করা হয়:

/etc/ssh/authorized_keysroot:root755 মোডের মালিকানাধীন এবং এতে মোড রয়েছে Key৫৫ টি মূল ফাইলগুলির মালিকানা রয়েছে এবং mode৪৪ root:rootমোড রয়েছে।

অন্যান্য মোডগুলি কাজ করতে পারে তবে আমি সেগুলি পরীক্ষা করিনি।


3
+1, তবে আমি অন্যদের কিছুটা সেট করব না। % U ফাইলগুলির মালিকানা ব্যবহারকারীকে সেট করুন যাতে এটি প্রয়োজনীয় না হয়।
অ্যারন কোপলি

1
সমস্যাটির ভাল সমাধান যে দূষিত ব্যবহারকারীরা তাদের ~ / .ssh / অনুমোদিত_কিগুলি অন্যকে অ্যাক্সেস মঞ্জুর করার জন্য আরও বেশি পাবলিক কী যুক্ত করতে পারে।
bbaassssiiee

আমি কেবল নিশ্চিত করেছি যে ব্যবহারকারীর অনুমোদিত কীগুলির ফাইলের জন্য 600 মোডটি কাজ করে না; এটি মোড হওয়া দরকার 644
লুইস ই

@bbaassssiiee এই সমস্যাটি নিখুঁতভাবে সমাধান করে না। তারা যাকে অ্যাক্সেস দিতে চায় তাদের সাথে কেবল তাদের ব্যক্তিগত কীটি ভাগ করতে পারে (এই সম্ভাবনাটি অবশ্যই হ্রাস করা যেতে পারে, তবে এই উত্তরটি এটি প্রশমিত করতে একেবারে শূন্য করে)
ডিলানং

1
@ ডিলান ইউং আমি স্বীকার করি যে ব্যক্তিগত কীগুলি ভাগ করা সম্ভব। তবে চ্যাটারের সাহায্যে আমি অনুমোদিত_কিগুলি ফাইলগুলিতে লেখার অ্যাক্সেস প্রত্যাহার করতে পারি যাতে আমি প্রতিটি ফাইলগুলিতে একটি লাইনও সুরক্ষিত করে কেবলমাত্র সেগুলি বিতরণ করতে পারি।
bbaassssiiee

15

সাধারণভাবে বলতে গেলে আমি আপনার পরামর্শ মতো করব না। এটি সাধারণ অনুমানগুলি ভেঙে দেয় (যেমন ~/.ssh/authorized_keysআপনার ব্যবহারকারীদের জন্য কাজ করা এবং আপনার প্রশ্নে ইতিমধ্যে উল্লিখিত সমস্যাগুলি পরিচয় করিয়ে দেওয়া implementation যদি আপনি বাস্তবায়নের আগে সুস্পষ্ট সমস্যা দেখেন তবে এর অর্থ আপনার সমাধানটি আদর্শ নয়।

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


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


1
ভাগ করে নেওয়া যুক্তিটির জন্য +1। সংক্ষিপ্ত করে দেওয়া হয়েছে কারণ এটির প্রভাবটি বুঝতে আমার একটি মুহুর্ত লেগেছিল: কোনও ~ www-data / .ssh ডিরেক্টরি থাকতে হবে না, তাই ওয়েব ব্রাউজার দ্বারা কোনও সুরক্ষা ঝুঁকি নেওয়া উচিত নয়।
থিটন

সাহায্য করার জন্য ধন্যবাদ! আমি যদি আপনাকে সঠিকভাবে বুঝতে পারি আমার কোনও এসএস কী-এর মাধ্যমে rootনা www-dataঅ্যাক্সেসযোগ্য হওয়া উচিত তা কি সঠিক?
গ্যাভিন মিলার

1
একটি হচ্ছে ~www-data/.sshডিরেক্টরির একটি ভয়ানক জিনিস নয় (যথাযত অনুমতির সঙ্গে এটি একটি সারগর্ভ ঝুঁকি না), কিন্তু আপনি ব্যবহার করতে যাচ্ছেন যদি ~www-data/.sshএটি সম্ভবত ভাল আপনার webroot হতে আছে নয় ~www-data(হয় webroot বা সরাতে সরাতে www-dataএর বাড়ি ডিরেক্টরি)। ব্যবহারকারীদের পার্থক্য হ'ল বড় আর্গুমেন্ট আইএমএইচও - আমি জানি আমি যদি jsmithলগ ইন দেখি তবে আমি জানি এটি জন স্মিথ। আমি যদি www-dataলগ ইন দেখি তবে সে কে ছিল তা জানতে আমার আরও খনন করা দরকার।
voretaq7

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

1
এটা সবচেয়ে সিস্টেমে হয় AuthorizedKeysFileমধ্যে /etc/ssh/sshd_configডিফল্ট %h/.ssh/authorized_keys। এখানে %hহোম ডিরেক্টরি জন্য একটি স্থানধারক। কী আপনাকে এটিকে সেট করতে /some/folder/ssh_keys_by_user/%h/বা এমনকি করতে বাধা দেয় /root/ssh_keys/%u। আপনি এমনকি স্বতন্ত্র ব্যবহারকারীর সেখানে তার স্বতন্ত্র ফাইলটিতে লেখার অ্যাক্সেস দিতে পারেন (এবং কেবল তাঁর) ফাইলটিকে স্ট্যান্ডার্ড লোকেশনে (সাথে ln -s /root/ssh_keys_by_user/username /home/username/.ssh/authorized_keys) লিঙ্ক করুন এবং জোর দেওয়া অনুমানগুলি ভঙ্গ করবেন না।
কন-এফ-ব্যবহার 18
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.