আমি কীভাবে এসএসএইচ সার্ভারের কোনও ব্যবহারকারীর এসএসএইচ টানলিংয়ের জন্য কেবল সুযোগ-সুবিধার অনুমতি দিতে পারি ? অর্থাত্ তারা এসএসএইচ-এর মাধ্যমে লগ ইন করলেও তারা কমান্ডগুলি চালাতে পারে না।
আমার লিনাক্স সার্ভারগুলি হ'ল উবুন্টু ১১.০৪ এবং ওপেনওআরটি।
আমি কীভাবে এসএসএইচ সার্ভারের কোনও ব্যবহারকারীর এসএসএইচ টানলিংয়ের জন্য কেবল সুযোগ-সুবিধার অনুমতি দিতে পারি ? অর্থাত্ তারা এসএসএইচ-এর মাধ্যমে লগ ইন করলেও তারা কমান্ডগুলি চালাতে পারে না।
আমার লিনাক্স সার্ভারগুলি হ'ল উবুন্টু ১১.০৪ এবং ওপেনওআরটি।
উত্তর:
সার্ভারের সাইডে, আপনি তাদের ব্যবহারকারীর শেলটি এতে সেট করে সীমাবদ্ধ করতে পারেন /bin/true
। এটি তাদের প্রমাণীকরণের অনুমতি দেবে, তবে বাস্তবে কোনও কিছুই চালাতে পারে না কারণ তারা এটি চালানোর জন্য কোনও শেল পায় না This যদি এটি পোর্ট ফরওয়ার্ডিংয়ের প্রস্তাব দেয় তবে তারা এখনও তা করতে সক্ষম হবে।
ক্লায়েন্ট পক্ষ থেকে, আপনি সম্ভবত এর সাথে সংযোগ করতে চাইবেন -N
। এটি ক্লায়েন্টকে শেলের মতো রিমোট কমান্ডের জন্য জিজ্ঞাসাবাদ থেকে বিরত রাখে, প্রমাণীকরণ অংশটি শেষ করার পরে এটি বন্ধ হয়ে যায়। এটি নির্দেশ করার জন্য মন্তব্যকারীদের ধন্যবাদ।
useradd sshtunnel -m -d /home/sshtunnel -s /bin/true
।
নিম্নলিখিতটির সুবিধা রয়েছে যে এক্স 11 এবং এসএসএইচ এজেন্ট সকেট ফরোয়ার্ডিংগুলিও অনুমোদিত নয়, যা এখনও কালেবস উপায়ে অনুমোদিত হতে পারে। আরেকটি সুবিধা হ'ল, ব্যবহারকারী যদি অন্য কোনও উপায়ে তার ডিফল্ট শেলটি পরিবর্তন করতে সক্ষম হন তবে এটি তার এসএসএইচটিকে কেবলমাত্র টিসিপি ফরওয়ার্ডিংগুলিতে সীমাবদ্ধ করবে।
আপনার মধ্যে নিম্নলিখিত রাখুন /etc/ssh/sshd_config
:
Match User that-restricted-guy
AllowTcpForwarding yes
X11Forwarding no
AllowAgentForwarding no
ForceCommand /bin/false
ব্যবহারকারীকে that-restricted-guy
আপনার এসএসএইচ সক্ষম মেশিনের মাধ্যমে যে কোনও টিসিপি সংযোগগুলি ফরোয়ার্ড করার অনুমতি দেওয়ার জন্য (এই মেশিনটির localhost
সাথে সংযোগ, এই মেশিন থেকে অন্য মেশিনে এমনকি সংযোগও)।
আপনি যদি এটিকে আরও সীমাবদ্ধ করতে চান (যা একটি ভাল ধারণা) তবে আপনি নিম্নলিখিতগুলিও করতে পারেন:
Match User even-more-restricted-guy
PermitOpen 127.0.0.1:12345
X11Forwarding no
AllowAgentForwarding no
ForceCommand /bin/false
এটি even-more-restricted-guy
কেবলমাত্র 127.0.0.1 টিসিপি পোর্ট 12345 (এটি আপনার এসএসএইচ সক্ষম মেশিনের মাধ্যমে দৃশ্যমান হিসাবে) কেবলমাত্র সংযোগগুলি ফরোয়ার্ড করার অনুমতি দেবে ।
ব্যবহারকারী যখন সাধারণত সংযুক্ত হন তিনি এখনই তাত্ক্ষণিকভাবে সংযোগ বিচ্ছিন্ন হয়ে পড়বেন কারণ /bin/false
কমান্ডটি ট্রিগার করা হবে যা 1 এর কোড সহ তাত্ক্ষণিকভাবে প্রস্থান করা ছাড়া কিছুই করে না যদি আপনি এটি এড়াতে চান এবং আপনার ফরোয়ার্ডিং সংযোগটি উন্মুক্ত রাখতে চান -N
তবে ssh
কমান্ডটিতে পতাকাটি যুক্ত করুন । এটি কোনও কমান্ড কার্যকর করার চেষ্টা করবে না তবুও টিসিপি ফরওয়ার্ডিং সেটআপ করার অনুমতি দেয়।
ফরোয়ার্ড কমান্ডের একটি উদাহরণ যা পরের সেটআপে কাজ করা উচিত:
ssh -L 12345:127.0.0.1:12345 -N even-more-restricted-guy@insert-your-machine
আপনার ssh এর সংস্করণটিকে সমর্থন করার পক্ষে যথেষ্ট নতুন এটি ধরে রেখে গ্রুপগুলি মিলে লোকেরা ssh এ কী করতে পারে তা আপনি নিয়ন্ত্রণ করতে পারেন (ওপেনশ 5.x +)।
মূলত, আমরা তাদের আচরণ যেন তারা SFTP ব্যবহারকারীদের ছিল, কিন্তু TCP ফরওয়ার্ডিং সাহায্য করে এবং ঐচ্ছিকরূপে গন্তব্যস্থল তারা ফরওয়ার্ড করতে পারে উল্লেখ করুন। আপনি যদি তাদের কোনও হোম ডিরেক্টরি দেন তবে এর অধীনে কোনও ডিরেক্টরি তৈরি না করে, তারা কোনও ফাইল স্থানান্তর করতে পারবেন না কারণ তাদের এটি করার অনুমতি থাকবে না।
Match Group nicepeople
PubkeyAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
GatewayPorts no
ChrootDirectory /opt/dummy_location/%u
ForceCommand internal-sftp
AllowTcpForwarding yes
PermitOpen 192.168.0.8:22
PermitOpen 192.168.0.5:8080
# Or leave out the PermitOpen to allow forwarding to anywhere.
HostbasedAuthentication no
RhostsRSAAuthentication no
AllowAgentForwarding no
Banner none
আপনি বিভিন্ন দলের আচরণ বা বিধিনিষেধ সরবরাহ করতে চান এমন প্রতিটি গ্রুপের জন্য এই ম্যাচ গ্রুপ ব্লকের পুনরাবৃত্তি করতে পারেন ।
আপনি আরও নিয়ন্ত্রণ করতে পারবেন এই ব্যক্তি iptables ব্যবহার করে নেটওয়ার্কে কোথায় যেতে পারে
/sbin/iptables -I OUTPUT -m owner --gid-owner 500 -j REJECT
/sbin/iptables -I OUTPUT -m owner --gid-owner 500 -m tcp -p tcp -d 192.168.0.0/24 -j ACCEPT
এটি গ্রুপটি "ছদ্মবেশী" জিআইডি ধরে নিয়েছে।
উপরের কিছু এসএসএস বিকল্পগুলি ওপেনশরের পুরানো সংস্করণগুলিতে উপলভ্য, তবে ম্যাচ গ্রুপ বিভাগের মধ্যে নয়। ওপেনএসএসএইচ ৪.x এবং এর আগের ম্যাচে ম্যাচ গ্রুপটি খুব সীমাবদ্ধ।