পৌরাণিক কাহিনী বা বাস্তবতা: SELinux মূল ব্যবহারকারীকে আবদ্ধ করতে পারে?


20

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

এটি আমার কাছে একটি পৌরাণিক কাহিনী বলে মনে হচ্ছে তবে আমি এটি নিশ্চিত করতে চেয়েছিলাম: লিনাক্স বাক্সটি (সম্ভবত সেলইনাক্সের সাহায্যে) শক্ত করা কি সম্ভব, যেমন এমনকি রুট ব্যবহারকারীরাও এটিতে নির্দিষ্ট দূষিত ক্রিয়াকলাপ করতে পারে না? (উদাহরণস্বরূপ: সিস্টেম ফাইলগুলি মুছে ফেলা, লগ ফাইল সাফ করা, সমালোচনামূলক পরিষেবাগুলি বন্ধ করা ইত্যাদি)

এই জাতীয় লিনাক্স বক্স হানিপোট তৈরির জন্য দুর্দান্ত সূচনা পয়েন্ট হবে ।

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

1) http://www.coker.com.au/selinux/play.html থেকে :

একটি এসই লিনাক্স মেশিনে ফ্রি রুট অ্যাক্সেস!

আমার দেবিয়ান প্লে মেশিনের এসএসএসটি রুট হিসাবে play.coker.com.au এ অ্যাক্সেস করতে পাসওয়ার্ডটি ...

মনে রাখবেন যে এগুলি মেশিনগুলি সফলভাবে চালাতে গেলে অনেক দক্ষতার প্রয়োজন হয়। আপনার যদি একটি চালানো উচিত কিনা তা যদি জিজ্ঞাসা করতে হয় তবে উত্তরটি "না"।

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

আপনি যখন কোনও এসই লিনাক্স প্লে মেশিনে লগইন করেন তা নিশ্চিত করে নিন যে আপনি এক্স 11 ফরোয়ার্ডিং অক্ষম করতে -x বিকল্পটি ব্যবহার করেছেন বা লগইন করার আগে আপনার / etc / ssh / ssh_config ফাইলটিতে ফরওয়ার্ডএক্স 11 নং সেট করেছেন । এছাড়াও নিশ্চিত হয়ে নিন যে আপনি এসএইচ এজেন্ট ফরওয়ার্ডিং অক্ষম করার জন্য -a বিকল্পটি ব্যবহার করেছেন বা লগইন করার আগে আপনার / etc / ssh / ssh_config ফাইলটিতে ফরওয়ার্ড এজেন্ট নম্বর সেট করেছেন । আপনি যদি এই সেটিংগুলি সঠিকভাবে অক্ষম না করে থাকেন তবে প্লে মেশিনে লগ ইন করা আপনাকে আপনার এসএসএইচ ক্লায়েন্টের মাধ্যমে আক্রমণ করার ঝুঁকিতে ফেলবে।

এই নিয়ে আলোচনা করার জন্য একটি IRC চ্যানেল নেই, এটা #selinux উপর irc.freenode.net

এখানে একটি দ্রুত জিজ্ঞাসিত প্রশ্ন রয়েছে

2) http://www.osnews.com/comments/3731 থেকে

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


2
এটা তোলে হয়েছে এখানেও দাবি । যদিও এটি অবশ্যই তাত্ত্বিকভাবে সম্ভব, এটি আমার কাছে কঠিন বলে মনে হচ্ছে (যদি আপনি এই রুট ব্যবহারকারীকে এতটা সীমাবদ্ধ না করেন যে এটি কোনও কার্যকর কিছু করতে পারে না)। সেলইনাক্স বিধিগুলি লিখে যা আপনারা যা নির্ধারণ করেছেন তা সত্যিই সবচেয়ে ভাল ক্ষেত্রে কঠিন।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

4
সাম্প্রতিক কার্নেলগুলির সাহায্যে নন-রুট ব্যবহারকারীরা যেখানে ইউআইডি 0 রয়েছে সেখানে নেমস্পেস তৈরি করতে পারেন Since তারা অভ্যন্তরীণভাবে সেলইনাক্স পদ্ধতির বিপরীতে যেখানে ক্ষয়ক্ষতির কোনও সুযোগ পায় না যেখানে এই জাতীয় সমস্ত সুযোগ কেড়ে নিতে হয়। কার্নেল দেখুন : নেমস্পেস সমর্থন এবং পৃথক অপারেটিং সিস্টেম ইনস্টল না করে পুরো দুটি অ্যাকাউন্ট পৃথক করে?
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

এটি প্রকৃতপক্ষে নিরাপদ কিনা তা আপনার গ্রাফিক্স ড্রাইভারের উপর নির্ভর করে।
জোশুয়া

উত্তর:


17

বাস্তবতা: হ্যাঁ, সেলইনাক্স মূল ব্যবহারকারীকে সীমাবদ্ধ রাখতে পারে।

এটি সম্ভব হয়েছে কারণ এসইইলিনাক্স প্রকৃতপক্ষে বর্তমান ইউনিক্স ব্যবহারকারীর সম্পর্কে চিন্তা করে না: এটি যা দেখেছে তা একটি পরিপূরক মেটাডেটা যা প্রসঙ্গে বলা হয় (যার মধ্যে রয়েছে অন্যান্য ক্ষেত্রগুলির মধ্যে একটি ডোমেন ক্ষেত্র) এবং এটি সেলইনাক্সকে সিদ্ধান্ত নিতে দেয় যে অনুরোধকৃত কর্মটি অনুমোদিত হতে পারে কিনা বা না.

রুট ব্যবহারকারী হিসাবে সাধারণত যেটি ধারণা করা হয় সেগুলি সেলইনাক্সে ম্যাপ করা হবে রুট ইউনিক্স ব্যবহারকারী হিসাবে unconfined_tবা sysadm_tSELinux ডোমেনগুলি চলছে । এটি ধ্রুপদী পূর্ণ ক্ষমতা সম্পন্ন সর্বশক্তিমান মূল ব্যবহারকারী।

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

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

সেলেনাক্সকে ধন্যবাদ, আমরা এই ব্যবহারকারীকে একটি আসল রুট শেল দিতে পারি, তবে এটি চালানো unconfined_tবা sysadm_tডোমেনের পরিবর্তে এটি dbadm_tডোমেনটি চালাবে । এর অর্থ হ'ল একটি সীমাবদ্ধ ব্যবহারকারীর চেয়ে তার আরও বেশি সুবিধা থাকবে তবে এই নতুন বিশেষাধিকারগুলি ডাটাবেস সার্ভার পরিচালনার জন্য সীমাবদ্ধ থাকবে: এই ব্যবহারকারীর চেয়ে অন্য পরিষেবাদি, ফাইলগুলিতে বা কোনও প্রশাসনিক কমান্ড চালাতে সক্ষম হবে না কঠোরভাবে তার কাজ করা প্রয়োজন।

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


1

হ্যাঁ এটা সম্ভব. তবে খুব কার্যকর নয়।

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


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

-5

একটি লিনাক্স বাক্স (সম্ভবত সেলইনাক্স সহ) শক্ত করা কি এমনভাবে সম্ভব, যেমন রুট ব্যবহারকারীরাও এটিতে নির্দিষ্ট দূষিত ক্রিয়াকলাপ করতে পারবেন না?

এটি সস্তা বলে মনে হতে পারে তবে এটি সহজ: ব্যবহারকারীর মূলের ইউআইডিটি শূন্য নয় to কেবলমাত্র / etc / passwd এবং / etc / ছায়ায় যান, বিদ্যমান ইউড = 0 এন্ট্রিগুলিকে "রুট" থেকে অন্য কোনও কিছুতে পরিবর্তন করুন এবং তারপরে "রুট" নামে একটি অ্যাকাউন্ট যুক্ত করুন যার ইউআইডি শূন্য এবং অব্যবহৃত নয়।

এটি ছাড়া উদ্দেশ্য অর্জন করে। এটি দাবি করারও একটি উপায় যে বাস্তবে বাড়ানো সুবিধাগুলি না দিয়ে কারও কাছে "রুট অ্যাক্সেস" থাকতে পারে।


3
হ্যাঁ হ্যাঁ, তবে তবে rootব্যবহারকারী কেবল মূল ব্যবহারকারী নয়। প্রশ্নটি জিজ্ঞাসা করছে যে প্রকৃত সুপার ব্যবহারকারীকে এইভাবে সীমাবদ্ধ করা যেতে পারে।
টেরডন

বিপজ্জনক বলে মনে হচ্ছে - আপনি uid 0 অবশ্যই অন্য কোনও অ্যাকাউন্ট তৈরি না করেই। তবে এটি রুটটির নামকরণ এবং "রুট" নামটি পুনরায় ব্যবহার করার মতোই হবে।
ভোলকার সিগেল

প্রশ্নটি কেবল "মূল" বোঝায় যা সুপার-ব্যবহারকারীর সমতুল্য নয়, অর্থাত্ uid = 0। বিরল অনুষ্ঠানে, এটি একটি কার্যকর পার্থক্য।
ওথিয়াস

2
তবুও, প্রসঙ্গটি স্পষ্ট করে দেয় যে ওপি সুপার ব্যবহারকারী এবং এমন কোনও র্যান্ডম ব্যবহারকারী নয় যাঁর ব্যবহারকারীর নামটি এমনভাবে rootসীমাবদ্ধ হতে পারে কিনা তা জিজ্ঞাসা করছে ।
টেরডন

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