স্থানীয় নেটওয়ার্ক থেকে কীভাবে এসএসএসকে ব্যবহারকারীকে রুট করতে দেওয়া যায়?


38

আমি সেন্টস 6.৫ মেশিনে গুগল-প্রমাণীকরণকারী ইনস্টল করেছি এবং নির্দিষ্ট ব্যবহারকারীদের ওটিপি সরবরাহের জন্য কনফিগার করেছি।

সম্পাদনার সময় /etc/ssh/sshd_configআমি একটি নির্দেশিকা " PermitRootLogin" দেখেছি যা ডিফল্টরূপে মন্তব্য করা হয়।

আমি " PermitRootLogin no" সেট করতে চাই তবে কেবল স্থানীয় নেটওয়ার্ক থেকে মেশিনে মূল হিসাবে প্রবেশ করতে সক্ষম হব।

এটা কি সম্ভব?


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

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

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

1
@ স্নেকডোক: আপনি ভুল করেছেন। সুডোর নিজস্ব জটিল আক্রমণের উপরিভাগ এবং মৌলিক জটিল আক্রমণ পৃষ্ঠ রয়েছে যা পুরোপুরি উত্তরাধিকার সূত্রে প্রাপ্ত সমস্ত রাজ্যের আকারে একটি স্যুইড বাইনারি হওয়ার অন্তর্নিহিত। কিছু ক্ষেত্রে স্যুইড প্রোগ্রামে নিজেই একটি বাগ (স্যুইড) প্রয়োজন হয় না; ডায়ামিক লিঙ্কারের মতো অন্তর্নিহিত অবকাঠামোতে বাগগুলি (উদাহরণস্বরূপ CVE-2010-3856) পর্যাপ্ত হতে পারে।
আর ..

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

উত্তর:


54

এতে Matchকনফিগার প্যারামিটার ব্যবহার করুন /etc/ssh/sshd_config:

# general config
PermitRootLogin no 

# the following overrides the general config when conditions are met. 
Match Address  192.168.0.*
    PermitRootLogin yes

দেখ man sshd_config


কেন আমি তা ভেবে দেখিনি?
সাথীদের

8
আপনি প্রমাণীকরণ কীগুলির জন্য উত্সকে সীমাবদ্ধ করতে পারেন ~root/.ssh/authorized_keys। এর সাথে কী উপসর্গ করুন from="192.168.0.0/24 "
বিলথোর

9
আমি এটিকে আইপিভি 6 লিঙ্ক-স্থানীয় ঠিকানাগুলির অনুমতিতে পরিবর্তন করব। আইপিভি in-তে লিঙ্ক-স্থানীয় ঠিকানাগুলি যেভাবে কাজ করে তা এগুলি ভুল কনফিগার্ড করা নেটওয়ার্কিংয়ের পক্ষে অত্যন্ত মজবুত করে তোলে। যার অর্থ যদি আপনার কোনও নেটওয়ার্কের ভুল কনফিগারেশনটি ঠিক করতে প্রয়োজন হয় তবে এটি সম্ভব যে কোনও আইপিভি 6 লিঙ্ক-লোকাল ঠিকানা ব্যবহার করা একমাত্র বিকল্প।
ক্যাস্পারড

এফওয়াইআই আপনি যদি অতিরিক্ত অনুমতিপ্রাপ্ত নির্দেশিকাটি ব্যবহার করেন তবে আপনাকে অতিরিক্ত (এবং স্বজ্ঞাতভাবেও) তা করতে হবেAllowUser root
রবার্ট রিডেল

14

Match addressপদ্ধতি ইতিমধ্যে উল্লেখ করা হয়েছে, কিন্তু আপনি ব্যবহারকারী (বা গোষ্ঠী) যে একটি সিস্টেম সম্মুখের লগইন করার মঞ্জুরিপ্রাপ্ত তাদের সীমিত করতে পারে। উদাহরণস্বরূপ, ব্যবহারকারীর itai(যে কোনও জায়গা থেকে) এবং root(নির্দিষ্ট নেটওয়ার্ক থেকে ) লগইন সীমাবদ্ধ করতে , ব্যবহার করুন:

AllowUsers itai root@192.168.0.*

এটি অন্যান্য সমস্ত ব্যবহারকারীকে (যেমন apache) এসএসএইচ-এর মাধ্যমে লগ ইন করতে বাধা দেয় ।

Sshd_config (5) ম্যানুয়ালটিতে AllowUsersকীওয়ার্ডটিও দেখুন ।


4
আমি AllowGroupsসমস্ত ব্যবহারকারীকে পছন্দ এবং যুক্ত করে যা একটি নির্দিষ্ট গ্রুপে এসএসএইচ ব্যবহার করে লগ ইন করতে সক্ষম হওয়া উচিত। অনুমান করুন এটি স্বাদের বিষয়, তবে এটি sshd_config এর কম সম্পাদনার মতো মনে হয় (যা সবাইকে ফাঁদে ফেলার ঝুঁকির কম ঝুঁকিতে অনুবাদ করে)।
সিভিএন

1
@ মাইকেলKjörling এছাড়াও, মঞ্জুরিপ্রাপ্ত গোষ্ঠীগুলির অর্থ হ'ল যদি আপনার দলটি প্রসারিত হয় বা সঙ্কুচিত হয় তবে sshd_config এর জন্য আপনার সম্পাদনার অনুমতি দরকার নেই। এটি এমনকি আরও ম্যানেজরিয়াল ধরণ বা ইন্টার্নগুলিকে এটি করার অনুমতি দেয়।
Nzall

ভাল পয়েন্টগুলি, নোট করুন যে আপনি বিকল্পগুলি একত্রিত করতে পারেন, থাকতে পারেন AllowUsers itai root@192.168.0.*এবং AllowGroups ssh-usersইন্টার্নটি ঘটনাক্রমে গ্রুপটি সাফ করার ক্ষেত্রে আপনি ঘটনাক্রমে কোনও লকআউট তৈরি করবেন না :)
লেকেনস্টেইন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.