সুডো পাসওয়ার্ড স্নিগ্ধ করা থেকে ম্যালওয়ারকে রোধ করা হচ্ছে


10

আমি প্রায়শই লোকেদের sudoএকটি লিনাক্স কম্পিউটারকে সংক্রামিত ম্যালওয়ারের অন্যতম প্রধান বাধা হিসাবে উদ্ধৃত লোকদের শুনি ।

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

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

ম্যালওয়ারের ব্যবহারকারীর চলাকালীন মূল সুযোগগুলি পাওয়ার জন্য কোন পদ্ধতি বিদ্যমান sudoএবং আমরা কীভাবে তাদের বিরুদ্ধে সুরক্ষা দিতে পারি?

সম্পাদনা: আমি কোনও আপোষকৃত অ্যাডমিন অ্যাকাউন্টের বিরুদ্ধে রক্ষা করতে বিশেষভাবে আগ্রহী; এটি বলতে বলা হয় যে কোনও অ্যাকাউন্টে সম্পূর্ণ রুট সুবিধাসমূহ রয়েছে sudo(যেমন একটি আদর্শ ডেস্কটপ সিস্টেমে ব্যবহারকারীর অ্যাকাউন্ট)।


আমি যে ধরণের জিনিসটি খুঁজছি তার উদাহরণের জন্য, আমার উত্তর দেখুন । আমি আশা করছি যে কেউ কেউ সেখানে উত্থাপিত কিছু নিরাপত্তা ঝুঁকির (বা অন্য যে কোনও তারা তারা ভাবতে পারে) এর বিস্তারিত বর্ণনা করতে পারে এবং তাদের প্রশমিত করার উপায় সরবরাহ করতে পারে।
জাজ

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

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

"এক্স সুপারসরুলার সুবিধাসহ রান করে" - কী? এক্স-এর একটি ডিফল্ট ইনস্টল-এ , startxসাধারণ ব্যবহারকারীর মতো ঠিক কাজ করে। আসলে, আমি এখনই সাধারণ ব্যবহারকারী হিসাবে এক্স চালাচ্ছি ।
জাজ

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

উত্তর:


9

একবার ম্যালওয়্যারের একটি অংশ কোনও ব্যবহারকারীর অ্যাকাউন্টে অ্যাক্সেস পেয়ে গেলে তা করতে পারে:

1.~/.bashrc কমান্ডে বাশ ওরফে (বর্তমান শেল এবং এবং ইন ) তৈরি করুন যা [sudo] password for $USER:প্রম্পটটি নকল করে এবং ব্যবহারকারীর পাসওয়ার্ড চুরি করে।

alias sudo='echo -n "[sudo] password for $USER: " && \
            read -r password && \
            echo "$password" >/tmp/sudo-password'

2. একইভাবে, এটি একটি এক্সিকিউটেবল নামে স্থাপন করতে পারেন sudoমধ্যে ~/.bin, এবং সংশোধন PATHএকই প্রভাব অর্জন পরিবর্তনশীল:PATH="$HOME/.bin:$PATH"

৩. এক্স সার্ভারের মাধ্যমে কী প্রেসগুলি ধরুন, শব্দটির জন্য নজর রাখুন sudo, তারপরে Enterপাসওয়ার্ড হিসাবে পরবর্তী দুটি কী প্রেসের মধ্যে পাঠ্যটি চেষ্টা করুন ।

৪. উদাহরণস্বরূপ যে কোনও পরিবেশে (কনসোল, ওয়েল্যান্ড , এক্স) একই জিনিস করা যেতে পারে $LD_PRELOAD

৫. যদি ম্যালওয়্যার শেলটিকে ব্যবহার করে sudoএবং sudoশংসাপত্রগুলি ক্যাশে করে তবে ম্যালওয়্যারটি নিরবচ্ছিন্নভাবে পরীক্ষা করতে পারে sudoএটি পাসওয়ার্ড ছাড়াই সম্ভব কিনা :

while : ; do
    echo | sudo -S echo "test" &>/dev/null && break
    sleep 10
done
sudo echo "We now have root access"


প্রতিরোধ:

1 এবং 2. ব্যবহার করুন \/bin/sudo। উপকরণ \উপেক্ষা করে এবং /bin/…উপেক্ষা করে $PATH। বিকল্পভাবে, একটি উপনাম যুক্ত করুন: যেমন: ssudo="\/bin/sudo"এবং সর্বদা এর ssudoপরিবর্তে ব্যবহার করুন sudo। এটি সম্ভবত অসম্ভব বলে মনে হচ্ছে যে কোনও ভাইরাস এই চিকিত্সারটি পুনরায় তৈরি করতে যথেষ্ট চতুর হবে।

৩. এক্স 11 ব্যবহার করার সময় আপনার পাসওয়ার্ড টাইপ করা এড়িয়ে চলুন। পরিবর্তে, ভার্চুয়াল কনসোল বা ওয়েস্টন ব্যবহার করুন

5. সেট timestamp_timeout=0মধ্যে /etc/sudoers


sudoপাসওয়ার্ড স্নিগ্ধ হওয়ার সম্ভাবনা সম্পূর্ণরূপে বাদ দেওয়ার একমাত্র উপায় , এটি সম্পূর্ণরূপে এড়ানো হবে বলে মনে হচ্ছে। পরিবর্তে, ভার্চুয়াল কনসোলে রুট হিসাবে লগইন করুন।

আলেকজান্ডার প্যাস্লিয়াকের মতে : "সু [এবং সুডো] এর একমাত্র নিরাপদ ব্যবহার হল অধিকতর সুবিধাযুক্ত অ্যাকাউন্ট থেকে স্বল্প সুবিধাপ্রাপ্ত অ্যাকাউন্টে স্যুইচ করা ..."


সাইড নোটে, সুডোর কিছু বিপরীত ব্যবস্থা রয়েছে:

  • sudoএর ttyপরিবর্তে পড়ে stdin, তাই alias sudo='tee -a /tmp/sudo-password | sudo'বিরতি sudo(তবে পাসওয়ার্ড ক্যাপচার করে)।

sudo ব্যবহারকারীদের পাসওয়ার্ড থেকে জিজ্ঞাসা করে, সুতরাং ম্যালওয়্যার ব্যবহারকারীর পাসওয়ার্ডটি ইতিমধ্যে এতে অ্যাক্সেস পেয়েছে capture
ছিনতাই করুন

3
@rob: এটি আসলে আপনি কীভাবে sudoকনফিগার করেছেন তার উপর নির্ভর করে , তবে যে কোনও উপায়েই ম্যালওয়্যারটির এখন পাসওয়ার্ডের প্রয়োজন আছে sudo, যদি ব্যবহারকারীর রুট অ্যাক্সেস থাকে তবে ম্যালওয়ারটিও তা করে।
জাজ

3

কোন আসল সুরক্ষা নেই।

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

যদি আমি অ্যাক্সেসের উদ্দেশ্যে থাকি তবে আমি বাশ এবং জেডএস এবং মাছ ইত্যাদির জন্য একটি দরকারী শিম তৈরি করতাম আমি সম্পাদিত আদেশগুলি পর্যবেক্ষণ করতাম। কোনও সুডো শূন্যের স্থিতি নিয়ে ফিরে আসার অল্প সময়ের মধ্যেই, আমি "sudo chmod + s / bin / sh" বা অন্যান্য নাস্তব্যবস্থা জারি করা শুরু করব।

যে মুহুর্তে sudo একটি সন্তোষজনক পাসওয়ার্ড দেওয়া হয়েছে, এবং আপনার শেলস রয়েছে যা প্রম্পট পেতে কমান্ডগুলি চালায়, আপনি সম্ভবত সমস্যায় পড়েছেন। আশাবাদ বাদে আর কোনও সুরক্ষা নেই।

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

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

আমি অন্যান্য devs (1980 এর) সাথে গেম খেলতাম যেখানে আমরা এমন জিনিস লেখার চেষ্টা করতাম যা অন্য দেব ব্যবহার করে যে টার্মিনালটি পেতে পেত, কমান্ডগুলি সন্নিবেশ করানোর জন্য - এটি মূলত একই সমস্যা। এবং আমরা এমন সরঞ্জামগুলি এম্বেড করা আরও সহজ করে দিয়েছি যা দৃশ্যমান ট্রেস ছাড়াই কমান্ড সন্নিবেশ করায়। :)


1

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

সুডো - গ্রানুলার নিয়ন্ত্রণ

  • ব্যবহারকারী বিভাগ

    এটি যেখানে আপনি ব্যবহারকারীদের জন্য গোষ্ঠীগুলি সেটআপ করতে পারেন তার জন্য আদেশগুলি নির্দিষ্ট করবেন। একটি অপারেশন গ্রুপ সেটআপ করতে দেয়;

    User_Alias  OPS = bob, jdoe 
    

    এটি ওপিএস গ্রুপ তৈরি করে এবং বব এবং জেডিও নামের ব্যবহারকারীদের এই গোষ্ঠীতে রাখে

  • Cmnd_Alias

    এখানে আমরা নির্দিষ্ট কমান্ড সেট নির্দিষ্ট করি। আপনাকে অবশ্যই পুরো পথ এবং যে কোনও কমান্ড বিকল্প ব্যবহার করতে চান তা নির্দিষ্ট করতে হবে। অপারেশন গ্রুপ কমান্ড সেটআপ করতে দেয়;

    Cmnd_Alias OPSCMD = /admin/bin/srvbkup, /admin/bin/test 
    

    এটি কমান্ড গ্রুপ ওপিএসসিএমডি-তে তিনটি নির্দিষ্ট কমান্ড যুক্ত করেছে।

  • ব্যবহারকারীর প্রিভিলেজ নির্দিষ্টকরণ

    আমরা এখন পর্যন্ত আমাদের সেটআপ করা গ্রুপগুলি ব্যবহার করব;

    OPS  ALL=(root)  OPSCMD 
    

    প্রথমে আমরা নির্দিষ্ট করেছিলাম ব্যবহারকারীরা, আমরা এখানে সেটআপ করা ওপিএস গ্রুপটি ব্যবহার করি। তারপরে সমস্ত অর্থ হ'ল এটি সমস্ত সার্ভারে প্রযোজ্য, এটি কেবল তখনই কার্যকর যখন আপনি বা একই কনফিগারেশন ফাইলটি ব্যবহার করে প্রতিটি একাধিক সার্ভারের উপর সুডো চালাচ্ছেন। এরপরে আমরা ব্যবহারকারীকে নির্দিষ্ট করব যে অপারেশনস গোষ্ঠী নির্দিষ্ট কমান্ডগুলি চালিত করবে, এই ক্ষেত্রে আমরা তাদেরকে মূল হিসাবে চালাতে চাই। অবশেষে আমরা যে কমান্ডগুলি চাই যে ওপিএস গ্রুপটি চালাতে সক্ষম হোক সেগুলি নির্দিষ্ট করব, বিশেষত আমরা ওপিসিএমএমডি গ্রুপটি সেটআপ করছি using আপনি যদি না চান যে প্রত্যেকবার তারা sudo ব্যবহার করার সময় তাদের পাসওয়ার্ডটি প্রবেশ করান, তবে কমান্ডের স্পেসিফিকেশনটি NOPASSWD: OPSCMD হবে।

sudoআপনি যতটা আপনার ব্যবহারকারীদের উপর নির্ভর করেন না ঠিক তেমনি আপনার নীতিগুলিকে শক্ত করুন :)


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

1

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

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


0

সবার আগে /etc/sudoersফাইলটি একবার দেখুন ।

সিনট্যাক্সটি user MACHINE=COMMANDSফর্ম্যাট হবে ।

উদাহরণস্বরূপ রুট ব্যবহারকারীর কাছে root ALL=(ALL) ALL এর অর্থ হ'ল রুট ব্যবহারকারী যে কোনও জায়গায় (সমস্ত) কমান্ড চালাতে পারে।

যদি আপনার এন্ট্রিতেও থাকে ALL=(ALL)তবে আপনি প্রায় কোনও রুট ব্যবহারকারীর সমান। যদি এটি না হয় এবং আপনার কেবল কিছু নির্দিষ্ট সীমিত সুযোগসুবিধা রয়েছে তবে আক্রমণকারী / ম্যালওয়্যার কেবল আপনার সুডোর অধিকার অর্জন করতে পারে।

আপনাকে সহায়তা করতে পারে এমন টিপস:

  1. আপনার /etc/sudoersফাইল পরীক্ষা করুন।
  2. Chkrootkit, রুটকিট হান্টার, কনফিগার সার্ভার এক্সপ্লিট স্ক্যানার, স্নোর্ট ইত্যাদি সুরক্ষা স্ক্যানার চালান
  3. visudoআপনার sudoers ফাইলের সুবিধাগুলি সম্পাদনা এবং সংশোধন করতে কমান্ডটি ব্যবহার করুন।
  4. আবার স্ক্যানার চালান।

রেফারেন্স: sudoers এবং sudo ম্যান sudoers এর লিনাক্স মেন পৃষ্ঠা

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