আমি আপনাকে প্রথমে মূল অ্যাকাউন্টটি ব্যবহার করার পরামর্শ দিচ্ছি। আপনি যদি এটির মতো সেট আপ করেন:
- আপনার
sshd_config
লক্ষ্য মেশিনে কনফিগার করুন PermitRootLogin without-password
।
ssh-keygen
এসএসএইচ প্রাইভেট কী তৈরি করতে ব্যাকআপটি টানত এমন মেশিনে ব্যবহার করুন (কেবলমাত্র যদি আপনার কাছে ইতিমধ্যে এসএসএইচ কী না থাকে)। একটি পাসফ্রেজ সেট করবেন না। গুগল একটি টিউটোরিয়াল যদি আপনার এর জন্য বিশদ প্রয়োজন, প্রচুর পরিমাণে থাকা উচিত should
- আপনার টার্গেট মেশিনের
/root/.ssh/id_rsa.pub
ব্যাকআপ মেশিনের সামগ্রী যুক্ত করুন the/root/.ssh/authorized_keys
- এখন আপনার ব্যাকআপ মেশিনটির পাসওয়ার্ড প্রমাণীকরণ ব্যবহার না করেই আপনার টার্গেট মেশিনে রুট অ্যাক্সেস রয়েছে।
তারপরে ফলস্বরূপ সেটআপটি বেশ নিরাপদ হওয়া উচিত।
sudo
, বিশেষত NOPASSWD
মন্তব্যে প্রস্তাবিত হিসাবে একত্রিত , কেবলমাত্র রুট অ্যাকাউন্টটি ব্যবহার করা ছাড়া কোনও সুরক্ষা সুবিধা নেই। উদাহরণস্বরূপ এই পরামর্শ:
আপনার /etc/sudoers
ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করুন:rsyncuser ALL= NOPASSWD:/usr/bin/rsync
মূলত rsyncuser
যাইহোক যাইহোক রুট অনুমতি দেয় । আপনি জিজ্ঞাসা:
@ মার্টিনভনউইটিচ একটি সম্পূর্ণ রুট শেল অর্জন করা সহজ rsync
যার সাথে মৃত্যুদন্ড কার্যকর করা হয়েছে sudo
? দয়া করে [এম] ই [মাধ্যমে] হাঁটুন।
ভাল, সরল। প্রস্তাবিত কনফিগারেশন সহ, rsyncuser
এখন rsync
পাসওয়ার্ড না জিজ্ঞাসা করেও রুট হিসাবে চালানো যেতে পারে । rsync
ফাইলগুলি পরিচালনা করার জন্য একটি খুব শক্তিশালী সরঞ্জাম, সুতরাং এখন rsyncuser
রুট অনুমতি নিয়ে ফাইলগুলি পরিচালনা করার জন্য একটি খুব শক্তিশালী সরঞ্জাম রয়েছে। এটির ব্যবহারের উপায় সন্ধান করতে আমার কয়েক মিনিট সময় লেগেছে (উবুন্টু ১৩.০৪-তে পরীক্ষা করা হয়েছে, প্রয়োজন নেই dash
, bash
কাজ করেনি):
martin@martin ~ % sudo rsync --perms --chmod u+s /bin/dash /bin/rootdash
martin@martin ~ % rootdash
# whoami
root
# touch /etc/evil
# tail -n1 /etc/shadow
dnsmasq:*:15942:0:99999:7:::
যেমন আপনি দেখতে পাচ্ছেন, আমি নিজেই একটি মূল শেল তৈরি করেছি; whoami
আমার অ্যাকাউন্টটিকে রুট হিসাবে চিহ্নিত করে, আমি ফাইলগুলি তৈরি /etc
করতে পারি এবং আমি এটি থেকে পড়তে পারি /etc/shadow
। আমার শোষণটি ছিল বাইনারিগুলিতে সেটুইড বিট সেট করা dash
; এটি লিনাক্সকে সর্বদা মালিকের অনুমতি সহ সেই বাইনারি চালিত করে, এই ক্ষেত্রে মূল হিসাবে।
আসল মূল থাকা ভাল কারণগুলির জন্য [প্রস্তাবিত] নয়। - redanimalwar 15 ঘন্টা আগে
না, উদ্বেগজনকভাবে রুট অ্যাকাউন্টের চারপাশে এমন পরিস্থিতিতে কাজ করা যেখানে এটি ব্যবহার করা একেবারে উপযুক্ত, এটি উপযুক্ত কারণে নয়। এটি কার্গো কাল্ট প্রোগ্রামিংয়ের অন্য একটি রূপ - আপনি সুডো বনাম রুটের পিছনের ধারণাটি সত্যই বুঝতে পারছেন না, আপনি "চোখের মূল খারাপ, সুডো ভাল" এই বিশ্বাসটি অন্ধভাবে প্রয়োগ করেছেন কারণ আপনি যে কোথাও পড়েছেন তা পড়ে।
একদিকে, এমন পরিস্থিতি রয়েছে যেখানে কাজের sudo
জন্য অবশ্যই যথাযথ সরঞ্জাম। উদাহরণস্বরূপ, আপনি যখন গ্রাফিকাল লিনাক্স ডেস্কটপে ইন্টারেক্টিভভাবে কাজ করছেন, তবে উবুন্টু বলুন, sudo
সেই বিরল ক্ষেত্রে যেখানে আপনাকে কখনও কখনও রুট অ্যাক্সেসের প্রয়োজন হয় সেখানে ব্যবহার করা ভাল। উবুন্টু ইচ্ছাকৃতভাবে একটি অক্ষম রুট অ্যাকাউন্ট পেয়েছে এবং sudo
ব্যবহারকারীদের লগ ইন করতে সর্বদা রুট অ্যাকাউন্ট ব্যবহার করা থেকে বিরত রাখতে আপনাকে ডিফল্টরূপে ব্যবহার করতে বাধ্য করে the ব্যবহারকারী যখন ওয়েব ব্রাউজার যেমন উদাহরণস্বরূপ ব্যবহার করতে চান, তখন রুট হিসাবে লগ ইন করা একটি বিপজ্জনক জিনিস হতে পারে , এবং তাই ডিফল্টরূপে রুট অ্যাকাউন্ট না থাকা বোকা লোকদের এটি করতে বাধা দেয়।
অন্যদিকে, আপনার মতো পরিস্থিতি রয়েছে, যেখানে একটি স্বয়ংক্রিয় স্ক্রিপ্টের জন্য কিছুতে রুটের অনুমতি প্রয়োজন, উদাহরণস্বরূপ ব্যাকআপ তৈরি করা। এখন sudo
রুট অ্যাকাউন্টের চারপাশে কাজ করা কেবল অর্থহীন নয়, এটি বিপজ্জনকও: প্রথম নজরে rsyncuser
একটি সাধারণ অনিবদ্ধ অ্যাকাউন্ট হিসাবে দেখায়। তবে আমি ইতিমধ্যে ব্যাখ্যা করে দিয়েছি যে আক্রমণকারী যদি ইতিমধ্যে rsyncuser
অ্যাক্সেস অর্জন করে থাকে তবে সম্পূর্ণ রুট অ্যাক্সেস অর্জন করা খুব সহজ হবে । সুতরাং মূলত, আপনার এখন একটি অতিরিক্ত রুট অ্যাকাউন্ট রয়েছে যা কোনও রুট অ্যাকাউন্টের মতো দেখায় না, এটি কোনও ভাল জিনিস নয়।
root
প্রথম স্থানটিতে কেবল অ্যাকাউন্টটি ব্যবহার করুন ।sudo
, বিশেষতNOPASSWD
মন্তব্যে প্রস্তাবিত হিসাবে মিলিত , আপনার মেশিনের সুরক্ষা সত্যিই উন্নত করে না।