অ্যাপারমার কী?


93

আমি অ্যাপারমার সম্পর্কে প্রচুর কথা শুনি, আমি নিম্নলিখিতগুলি জানতে চাই:

  • অ্যাপারমার কী?
  • অ্যাপার্মার কীভাবে কাজ করে?

উত্তর:


92

এটা কি

অ্যাপারমার একটি বাধ্যতামূলক অ্যাক্সেস কন্ট্রোল (বা ম্যাক) সিস্টেম। এটি প্রোগ্রামগুলিকে নির্দিষ্ট সংস্থানগুলিতে সীমাবদ্ধ করতে এলএসএম কার্নেল বৃদ্ধি ব্যবহার করে। সিস্টেম শুরু হওয়ার সাথে সাথে কার্নেলের মধ্যে লোড হওয়া প্রোফাইলগুলির সাথে অ্যাপআর্মার এটি করে। অ্যাপারমার এ দুটি ধরণের প্রোফাইল মোড রয়েছে, প্রয়োগ এবং অভিযোগ। প্রয়োগকারী মোডে থাকা প্রোফাইলগুলি সেই প্রোফাইলের নিয়মগুলি প্রয়োগ করে এবং এর মধ্যে syslogবা এর মধ্যে লঙ্ঘনের প্রচেষ্টা রিপোর্ট করে auditd। অভিযোগ মোডে থাকা প্রোফাইলগুলি কোনও প্রোফাইল বিধি প্রয়োগ করে না, কেবল লঙ্ঘনের প্রচেষ্টা লগ করে।

উবুন্টুতে অ্যাপারমার ডিফল্টরূপে ইনস্টল করা হয়। কোনও প্রোগ্রামে অ্যাক্সেসের জন্য প্রয়োজনীয় ফাইল এবং অনুমতিগুলি নির্ধারণ করতে এটি অ্যাপ্লিকেশনগুলিকে প্রোফাইলগুলিতে সীমাবদ্ধ করে। কিছু অ্যাপ্লিকেশন তাদের নিজস্ব সম্পত্তি নিয়ে আসবে এবং আরও apparmor-profilesপ্যাকেজে পাওয়া যাবে ।

আপনি apparmor-profilesচালিয়ে ইনস্টল করতে পারেন sudo apt-get install apparmor-profiles

আমি উবুন্টু ফোরামগুলিতে অ্যাপারমোরের একটি ভাল উদাহরণ পেয়েছি যা আমি এই পোস্টটির জন্য পুনরায় লিখেছিলাম।

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

কিভাবে এটা কাজ করে

apparmor-utilsপ্যাকেজ Apparmor কনফিগার করার জন্য কমান্ড লাইন টুলস রয়েছে। এটি ব্যবহার করে আপনি অ্যাপারমোরের এক্সিকিউশন মোড পরিবর্তন করতে পারেন, একটি প্রোফাইলের স্ট্যাটাস নতুন প্রোফাইল তৈরি করতে পারেন ইত্যাদি find

এগুলি সর্বাধিক সাধারণ আদেশ:

দ্রষ্টব্য: প্রোফাইলগুলি সঞ্চিত আছে/etc/apparmor.d/

  • এর সাথে আপনি অ্যাপারমোরের স্ট্যাটাস চেক করতে পারেন sudo apparmor_status। আপনি সমস্ত প্রোফাইল * লোড হওয়া, প্রয়োগকারী মোডে সমস্ত প্রোফাইল, অভিযোগ মোডে থাকা সমস্ত প্রোফাইল, প্রয়োগ / অভিযোগের ক্ষেত্রে কী প্রক্রিয়াগুলি সংজ্ঞায়িত করা ইত্যাদি ইত্যাদির একটি তালিকা পাবেন etc.
  • আপনার ব্যবহার করা অভিযোগ মোডে একটি প্রোফাইল রাখতে sudo aa-complain /path/to/bin, /path/to/binপ্রোগ্রাম binফোল্ডারটি কোথায় । উদাহরণস্বরূপ, চলমান: sudo aa-complain /usr/bin/firefoxফায়ারফক্সকে অভিযোগ মোডে রাখবে।
  • আপনি sudo aa-enforce /path/to/binএকটি প্রোগ্রাম প্রোফাইল প্রয়োগ করতে ব্যবহার করুন ।
  • আপনি যথাযথভাবে এবং যথাযথভাবে অভিযোগ / প্রয়োগের মোডে সমস্ত প্রোফাইল লোড করতে পারেন । sudo aa-complain /etc/apparmor.d/*sudo aa-enforce.d/*

কার্নেলটিতে কোনও প্রোফাইল লোড করতে আপনি ব্যবহার করতে পারেন apparmor_parser। আপনি -rপ্যারামিটার ব্যবহার করে প্রোফাইলগুলি পুনরায় লোড করতে পারেন ।

  • একটি প্রোফাইল ব্যবহার লোড করতে :, cat /etc/apparmor.d/profile.name | sudo apparmor_parser -aযা কার্যকরভাবে profile.nameঅ্যাপারমার এর পার্সারে অন্তর্ভুক্ত সামগ্রীগুলি মুদ্রণ করে ।
  • কোনও প্রোফাইল পুনরায় লোড করতে আপনি -rপ্যারামিটারটি ব্যবহার করেন , যেমন:cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
  • অ্যাপারমোরের সমস্ত প্রোফাইল পুনরায় লোড করতে ব্যবহার করুন: sudo service apparmor reload

একটি প্রোফাইল অক্ষম করতে আপনি সংযোগ আছে তা /etc/apparmor.d/disable/ব্যবহার করে lnএই মত: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/তারপর সঞ্চালন করুন: sudo apparmor_parser -R /etc/apparmor.d/profile.name

দ্রষ্টব্য: তাদেরapparmor_parser -r সাথেবিভ্রান্ত করবেন নাapparmor_parser -R তারা একই জিনিস নয়!

  • কোনও প্রোফাইল পুনরায় সক্ষম করতে এর সাথে প্রতীকী লিঙ্কটি সরিয়ে ফেলুন /etc/apparmor.d/disable/এবং -aপ্যারামিটারটি ব্যবহার করে এটি লোড করুন ।sudo rm /etc/apparmor.d/disable/profile.name cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
  • আপনি sudo service apparmor stopকার্নেল মডিউলটি ব্যবহার করে অ্যাপ্পর্মারটি অক্ষম করতে এবং মুছে ফেলতে পারেনsudo update-rc.d -f apparmor defaults
  • এর সাথে অ্যাপারর্মার শুরু করুন sudo service apparmor startএবং এর সাহায্যে কার্নেল মডিউলগুলি লোড করুনsudo update-rc.d apparmor defaults

প্রোফাইল

প্রোফাইলে সঞ্চিত থাকে /etc/apparmor.d/এবং নির্ধারিত প্রোফাইলের পুরো পথ অনুসারে তাদের নামকরণ করা হয়, '/' এর সাথে প্রতিস্থাপন করে। উদাহরণস্বরূপ ইন ইন /etc/apparmor.d/bin.pingজন্য প্রোফাইল । ping/bin

প্রোফাইলগুলিতে প্রধানত দুটি ধরণের এন্ট্রি ব্যবহৃত হয়:

  1. পাথ এন্ট্রিগুলি কোনও অ্যাপ্লিকেশন কোন ফাইলগুলিতে অ্যাক্সেস করতে পারে তা নির্ধারণ করে।

  2. সক্ষমতার এন্ট্রিগুলি নির্ধারণ করে যে কোনও প্রক্রিয়া কী সুবিধা ব্যবহার করতে পারে।

উদাহরণস্বরূপ ping, অবস্থিত এর জন্য প্রোফাইলটি দেখুন etc/apparmor.d/bin.ping

#include <tunables/global>
/bin/ping flags=(complain) {
  #include <abstractions/base>
  #include <abstractions/consoles>
  #include <abstractions/nameservice>

  capability net_raw,
  capability setuid,
  network inet raw,

  /bin/ping mixr,
  /etc/modules.conf r,
}  

#include <tunables/global>globalডিরেক্টরিটিতে ফাইল অন্তর্ভুক্ত করে tunables, এটি একাধিক অ্যাপ্লিকেশন সম্পর্কিত বিবৃতিগুলিকে একটি সাধারণ ফাইলে রাখার অনুমতি দেয়।

/bin/ping flags=(complain)প্রোফাইলযুক্ত প্রোগ্রামের পথ নির্ধারণ করে এবং অভিযোগের জন্য মোড সেট করে।

capability net_rawঅ্যাপ্লিকেশন CAP_NET_RAW Posix.1eসক্ষমতার অ্যাক্সেস অনুমতি দেয় ।

/bin/ping mixr অ্যাপ্লিকেশনটি পড়তে এবং ফাইলটিতে অ্যাক্সেস চালানোর অনুমতি দেয়।

/etc/modules.conf r,rআবেদন দেয় পঠিত জন্য বিশেষাধিকার/etc/modules.conf

দ্রষ্টব্য: একটি প্রোফাইল তৈরি / সম্পাদনা করার পরে, পরিবর্তনগুলি কার্যকর হওয়ার জন্য আপনাকে প্রোফাইলটি পুনরায় লোড করতে হবে।

আপনি যে অনুমতিগুলি ব্যবহার করতে পারেন তার একটি তালিকা এখানে রয়েছে:

  • r - পড়া
  • w - লিখুন
  • ux - অনিয়ন্ত্রিত সম্পাদন
  • Ux - নিরবচ্ছিন্ন নির্বাহ - পরিবেশের ঝাঁকুনি
  • px - পৃথক প্রোফাইল চালানো
  • Px - পৃথক প্রোফাইল চালানো - পরিবেশ স্ক্রাব
  • ix - উত্তরাধিকারী
  • m - কল PROT_EXECদিয়ে অনুমতি দিনmmap(2)
  • l - লিঙ্ক

সোর্স


সুতরাং এটি কোনও প্রোগ্রামের মতো যা ব্যবহারকারী হিসাবে অভিনয় করে, এবং সিস্টেমের বেশিরভাগ ফাইল সংশোধন করার অনুমতি পাচ্ছে না?
ইজকাটা

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

আহ, সুতরাং প্রোফাইলগুলি প্রোগ্রামগুলির জন্য
ব্যবহারকারী গোষ্ঠীর

হ্যাঁ এর মতো অনেক;)
শেঠ

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

6

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

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

অ্যাপআর্মার হ'ল একটি প্রতিষ্ঠিত প্রযুক্তি যা প্রথমে ইমিউনিক্সে দেখা যায় এবং পরে উবুন্টু, নভেল / এসইউএসই এবং মান্দ্রিভাতে একীভূত হয়। কোর অ্যাপআর্মর কার্যকারিতা 2.6.36 থেকে মূল লিনাক্স কার্নেলের মধ্যে রয়েছে; অ্যাপলআর্মার, উবুন্টু এবং অন্যান্য বিকাশকারীদের দ্বারা মূল অ্যাপ্লায়ার কার্যকারিতাটি মূল লাইন কার্নেলের সাথে একীভূত করতে কাজ চলছে।

আপনার কাছে আমি আরও কয়েকটি সহায়ক লিঙ্ক পেয়েছি: উইকি.উবুন্টু.কম উবুন্টুফর্মস.অর্গ

উবুন্টু 12.04 এবং উবুন্টু 12.10 এর জন্য অ্যাপারমোর গাইড

আশা করি এটি আপনাকে সাহায্য করবে।


3

এখানে অ্যাপারমার উইকির একটি উদ্ধৃতি দেওয়া হয়েছে :

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

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