কীভাবে উবুন্টুকে কাঁটাচামচ থেকে রক্ষা করা যায়


72

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

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

উত্তর:


73

আপনি খুব সহজেই সংশোধন করে উবুন্টু এবং অন্যান্য লিনাক্স ডিস্ট্রিবিউশনে যে পরিমাণ প্রক্রিয়া তৈরি করতে পারেন তা সীমাবদ্ধ করতে পারেন /etc/security/limits.conf

sudoedit /etc/security/limits.conf

তারপরে এই ফাইলটির নীচে এই লাইনটি যুক্ত করুন:

*    hard     nproc     nnn

কোথায়:

  • hard কার্নেল স্তরে সীমাটি সেট করে যাতে এটি পুনরায় চালু না করে পরিবর্তন করা যায় না।
  • nproc ব্যবহারকারী হিসাবে প্রক্রিয়া সর্বাধিক সংখ্যা।
  • nnn এটি এমন একটি সংখ্যা যা আপনার সিস্টেমের জন্য আপনার দ্বারা গণনা করা উচিত:

    ps aux -L | cut --delimiter=" " --fields=1 | sort | uniq --count | sort --numeric-sort | tail --lines=1
    

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

এই সীমাটি স্থাপনের পরে, আপনাকে পুনরায় বুট করতে হবে তবে এটি সিস্টেমে প্রতিটি নন-রুট ব্যবহারকারীকে প্রভাবিত করবে । সুতরাং যদি কোনও কাঁটাচামচ বোমা কোনও নন-রুট ব্যবহারকারী দ্বারা কার্যকর করা হয় তবে তার কঠোর সীমাটি থাকবে।

গোষ্ঠী এবং ওয়াইল্ডকার্ড সীমাটি ডিফল্টরূপে রুট ব্যবহারকারীর জন্য প্রযোজ্য নাrootআপনি যদি সুপারভাইসারে কোনও নিয়ম প্রয়োগ করতে চান তবে নিয়মে আক্ষরিক ব্যবহারকারীর নামটি ব্যবহার করুন ।

এছাড়াও, যদি আপনি শীঘ্রই যে কোনও সময় পুনরায় আরম্ভ করতে চান না, আপনি ব্যবহার করতে পারেন sudo ulimit -u 800যা কেবলমাত্র চলমান সেশনে এই সীমাবদ্ধতা রাখবে তবে সহজেই sudoসুবিধাগুলি সহ একটি কাঁটাচামচ বোমা দ্বারা আটকানো যেতে পারে !

পুনঃসূচনা করার পরে, যা আছে তা /etc/security/limits.confব্যবহার করা হবে।

কাঁটাচামচ বোমা সম্পর্কিত কিছু অতিরিক্ত তথ্য: এগুলি ম্যালওয়ার বা ভয়ঙ্কর কিছু নয়। এগুলিতে সাধারণত একটি স্ক্রিপ্ট হিসাবে মৌলিক কিছু থাকে যা নিজেকে দুবার কল করে - যার ফলে মেশিনে এটির উপস্থিতি তাত্পর্যপূর্ণভাবে বাড়ছে। তবুও তাদের কাছে দ্রুত গতিতে ছোট মেমরির পদক্ষেপ থাকলেও তারা উপলব্ধ সমস্ত র‍্যাম দ্রুত পূরণ করে এবং মেশিনটি হিমশীতল বা পুনরায় বুট করে। একমাত্র বিপদটি সংরক্ষিত তথ্য হারানো। আমি একটি ফর্কবম্বকে দূষিত সফ্টওয়্যার থেকে প্রেন্ক হিসাবে আরও অনেক শ্রেণিবদ্ধ করব।

একটি গুরুত্বপূর্ণ অনুস্মারক:

আপনি 98% এর ক্রিয়াকলাপের বিষয়ে নিশ্চিত না হয়ে আপনার কমান্ড লাইনে খুব কমই কখনও কার্যকর করতে হবে। আপনি যে আদেশগুলি চালাচ্ছেন তা যদি আপনি পড়তে না পারেন - এটি করবেন না। এটি হেক্স / বেস 64 অক্ষরের অপঠনযোগ্য অংশগুলিতে দ্বিগুণ প্রযোজ্য, যা সমস্ত ধরণের বাসা বাঁধার জন্য ব্যবহার করা যেতে পারে। আপনি যদি কোনও আদেশের বিষয়ে অনিশ্চিত থাকেন তবে আপনি সর্বদা উবুন্টু ম্যানাপেজে এটির ক্রিয়াগুলি সন্ধান করতে পারেন এবং ব্যবহার করার সময় অতিরিক্ত সতর্কতা অবলম্বন করতে পারেন sudoযেহেতু এটি রুট ব্যবহারকারী হিসাবে কার্যকর হবে।


@ মারকোসিপি: আপনার সংখ্যাটি সাধারণ ইউনিটির ব্যবহারকারীদের পক্ষে খুব বেশি দূরে ছিল না: গণনার আউটপুটটি বর্তমানে আমার সিস্টেমের জন্য 404 ...
ফ্যাবি

1
যদি আমি বলি, alias ":(){ :|: & };:"="echo 'No.'"আমার মতো কিছু রাখুন .bashrc- এটি কি প্রতিটি লগইন কার্যকর করবে?
সর্বজনীনভাবে

উচ্চতর এনপ্রোকের সীমাটি বাছাই করার কোনও অসুবিধা আছে কি? দেখে মনে হচ্ছে যে বর্তমান # প্রসেসের সীমা বা তার দ্বিগুণ পরিমাণ নেই, একটি কাঁটা বোমার বিরুদ্ধে আরও 10,00 বা তারও বেশি সীমাবদ্ধতা কার্যকর হবে? প্রতিটি কাঁটাচামচ / প্রক্রিয়া কতটা ভেড়া গ্রহণ করে? সম্ভবত আরও একটি সার্বজনীন র‌্যাম প্রাপ্ত সীমা আছে?
Xen2050

1

আমার পছন্দের একটি সহজ উপায় হ'ল একটি উপনাম তৈরি করা যদিও তার নামটি সর্বদা প্রয়োগ করা হয় না, উপরের উত্তরটি দেখুন।

alias :="echo No."

এখন

$ :(){ :|: & };:
bash: syntax error near unexpected token `('

22
অবশ্যই, এটি একটি সাধারণ সমাধান; এটা কিভাবে থামবে a(){ a|a & };a? (বা অন্য কোনও ফাংশনের নাম?)
বিড়াল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.