লিনাক্স ফাইল সুরক্ষায় ডিএসি (ফাইল অনুমতি), এসিএল এবং ম্যাক (সেলইনাক্স) কোন ভূমিকা পালন করে?


18

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

ডকুমেন্টেশন থেকে কিছু গবেষণা করার পরে, এই স্ট্যাকটি সম্পর্কে আমার বোঝা:

  1. সেলইনাক্স অবশ্যই আপনাকে ফাইল অবজেক্টে অ্যাক্সেসের অনুমতি দিতে হবে।
  2. ফাইলের ACLs (যেমন, যদি setfacl, getfaclএকটি ACL এর মাউন্ট জন্য) স্পষ্টভাবে পারবেন / বস্তু তাকে দিতে অস্বীকার, তারপর আরও প্রক্রিয়াকরণ প্রয়োজন।
  3. অন্যথায়, এটি ফাইলের অনুমতি (rwxrwxrwx DAC মডেল) পর্যন্ত is

আমি কিছু অনুপস্থিত করছি? এমন পরিস্থিতি কি নেই যেখানে ঘটনাটি ঘটে না ?


2
আমি মনে করি আপনি সঠিক আছেন। আপনি যে সমস্যাটি করছেন তা পোস্ট করতে পারেন?
কেভিন এম

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

আমি উত্তরগুলি কী খুঁজছি তা স্পষ্ট করতে প্রশ্নটি সম্পাদিত।
বেলমিন ফার্নান্দেজ

উত্তর:


19

যখন কোনও প্রক্রিয়া কোনও ফাইলে অপারেশন করে, লিনাক্স কার্নেল নিম্নলিখিত ক্রমে চেকটি সম্পাদন করে:

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

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

একটি অনলাইন লিনাক্স ক্রস রেফারেন্সের লিঙ্কগুলির সাথে আমার উত্তরটি ব্যাক করার জন্য এখানে আইওড অ্যাক্সেসের (যা ফাইল অ্যাক্সেস অন্তর্ভুক্ত) উদাহরণ রয়েছে । function_nameপ্রদত্ত " (ফাইলের নাম: লাইন)" লিনাক্স কার্নেলের 3.14 সংস্করণের জন্য for

ফাংশন inode_permission( FS / namei.c: 449 ) ফাইল সিস্টেম নিজেই পড়তে অনুমতির জন্য প্রথম চেক ( sb_permissionমধ্যে FS / namei.c: 425 ), তারপর কল __inode_permission( FS / namei.c: 394 ) পঠন / লিখন জন্য চেক করতে / চালানো অনুমতি ও একটি inode উপর POSIX ACL এর do_inode_permission( FS / namei.c: 368 ) (ড্যাক) এবং তারপর LSM সংক্রান্ত অনুমতি (যেমন MAC) এ security_inode_permission( সুরক্ষা / সুরক্ষা। কোড: 550 ) এর ।

এই আদেশের কেবলমাত্র একটি ব্যতিক্রম ছিল (ড্যাক তখন ম্যাক): এটি ছিল এমএমএপ চেকগুলির জন্য। তবে এটি লিনাক্স কার্নেলের ( প্রাসঙ্গিক প্রতিশ্রুতি ) এর 3.15 সংস্করণে স্থির করা হয়েছে ।


ক্যানোনিকাল উত্স সহ দুর্দান্তভাবে উত্তর। ধন্যবাদ!
বেলমিন ফার্নান্দেজ

15

DAC== Discretionary Access Control, http://en.wikedia.org/wiki/Discretionary_access_control
MAC == Mandatory Access Control, http://en.wikedia.org/wiki/Mandtory_access_control
ACL == Access Control List, http://en.wikedia.org/wiki/Acecess_control_list

ACLনির্দিষ্ট করে নিয়ন্ত্রণ নিয়ন্ত্রণের পদ্ধতি দ্বারা প্রয়োগ করা, DACঅথবা MACMACসুস্পষ্ট, কেন্দ্রীয়ভাবে নিয়ন্ত্রিত, এবং ব্যবহারকারীদের কাছে কোনও বস্তুর কর্তৃপক্ষের অনুমতি দেওয়ার অনুমতি দেয় না যতক্ষণ না তাদের কাছে এর জন্য সুস্পষ্ট অনুমতি না রয়েছে, তবে অন্যদিকেDAC ব্যবহারকারীদের অ্যাক্সেস করতে পারে এমন সামগ্রীতে অ্যাক্সেসের অনুমতি দেয়

MAC ACLগুলি সর্বদা প্রথমে একটি অনুরোধে প্রয়োগ করা হবে এবং যদি অ্যাক্সেস অস্বীকার করা হয় তবে প্রক্রিয়াজাতকরণ বন্ধ হয়ে যায়। যদি অ্যাক্সেসের অনুমতি দেওয়া হয় তবে DAC ACLসেগুলি প্রয়োগ করা হবে এবং আবার যদি অ্যাক্সেস অস্বীকার করা হয় তবে প্রক্রিয়া বন্ধ হয়ে যায়। কেবলমাত্র যদি অ্যাক্সেস MACএবং উভয় দ্বারা অনুমোদিত হয়DAC ACL ব্যবহারকারীকে অ্যাক্সেস বস্তুর গুলি করতে তারা অনুরোধ করা হয়েছে।

SELinuxMACলিনাক্সের জন্য একটি বাস্তবায়ন (অন্যদের মধ্যে রয়েছে) রয়েছে, যখন rwxনিজস্ব ব্যবহারকারী এবং গোষ্ঠীর সাথে মিলিত traditionalতিহ্যবাহী ফাইল অনুমতিগুলি রয়েছে DAC ACLSELinux'নীতির' মূলত MAC ACL


1
ফাইল এসিএল (উদাহরণস্বরূপ setfacl) কোথায় আসে?
বেলমিন ফার্নান্দেজ

1
setaclACLএকক ব্যবহারকারী বা গ্রুপের চেয়ে বেশি ACLফাইল এবং ডিরেক্টরিগুলির জন্য নির্ধারিত হওয়ার জন্য বেসিক ফাইল সিস্টেমকে প্রসারিত করে । এটি একটি DACবাস্তবায়নও এবং তাই এর পরে প্রয়োগ করা হয়SELinux MAC ACL
মাইক ইনসচ

ধন্যবাদ মাইক আরও একটি প্রশ্ন: আমি আমার পরীক্ষার মাধ্যমে যতদূর বলতে পারি, সুস্পষ্টভাবে সেট করেsetfacl এসিএলগুলি traditionalতিহ্যগত অনুমতিগুলি ওভাররাইড করে। এটা কি প্রতিটি ক্ষেত্রেই সত্য?
বেলমিন ফার্নান্দেজ

আমি যতদূর জানি, হ্যাঁ, setacl/ setfacl ACLগুলি ACLফাইলটিতে theতিহ্যবাহী 'সাধারণ' ওভাররাইড করবে ।
মাইক ইনশ

1
মাইক, আপনার নোটটি setfaclউত্তরটির সাথে সম্পর্কিত।
পাভেল Šিমেরদা

5

দ্বিধায় ফেলার জন্য দুঃখিত, তবে আমি মনে করি যে এখানে কিছু উত্তর ভুল হতে পারে। সরাসরি ফেডোরার http://docs.fedoraproject.org/en-US/Fedora/13/html/Security-Enhanced_Linux/sect-Secistance-Enhanced_Linux-Working_with_SELinux-Selinux_Contexts_Leleling_Files.html :

সেলেনাক্স নীতিমালা নিয়মগুলি ড্যাকের নিয়মের পরে চেক করা হয়। যদি ড্যাকের নিয়মগুলি প্রথমে অ্যাক্সেস অস্বীকার করে তবে সেলইনাক্স নীতি নিয়ম ব্যবহার করা হয় না।

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