Ssh এ কিভাবে লগইন বিলম্ব প্রদান করবেন


11

আমি ssh এর মাধ্যমে লগইন করার সময় লগইন বিলম্ব প্রদান করতে চেয়েছিলাম same

আমি প্রদত্ত লিঙ্কের দ্বারা প্রদত্ত পদক্ষেপগুলির চেষ্টা করেছি।

http://hostingfu.com/article/ssh-dictionary-attack-prevention-with-iptables

iptables -N SSH_CHECK
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
iptables -A SSH_CHECK -m recent --set --name SSH
iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP

আমার মেশিনে প্যাম মডিউল ইনস্টল নেই, তাই পাম ফাইল সম্পর্কিত কোনও পরিবর্তন করতে পারবেন না

সুতরাং যে কোনও শরীর আমাকে অন্য কিছু করার পরামর্শ দেয়?

আমার এম্বেড থাকা প্ল্যাটফর্মে খালি লিনাক্স কার্নেল চলছে।


আপনি কেন একটি বিলম্ব পরিচয় করিয়ে দিতে চান? আপনার চূড়ান্ত লক্ষ্য কি?
একটি সিভিএন

আমি প্রাণঘাতী বাহিনীর আক্রমণ সম্ভাবনা রোধ করতে চেয়েছিলাম।
রাম

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

এটি ঠিক আছে মাইকেল তবে ইটি আমার সাথে বিদ্যমান বিদ্যমান অবকাঠামোটি দিয়ে করতে হবে, এসএসএসের মাধ্যমে প্রতিবার সংযোগ করার সময় আমি কীভাবে একটি বিলম্ব প্রবর্তন করতে পারি?
রাম

2
ডুড, fail2banআপনার ইতিমধ্যে সঠিক অবকাঠামো ব্যবহার করে - এসএসএস লগ এবং আইপটবেবল বিধিগুলি।
শাদুর

উত্তর:


11

পদ্ধতি # 1 - পাসওয়ার্ড লগইন অক্ষম করুন

আপনার যদি পাসওয়ার্ড লগইনগুলির অনুমতি দেওয়ার প্রয়োজন না হয় তবে কেবল তাদের এড়িয়ে গেলে আপনাকে পছন্দসই প্রভাব দেবে। কেবল এই লাইনটি এতে যুক্ত করুন /etc/ssh/sshd_config:

PasswordAuthentication     no

অতিরিক্ত হিসাবে আপনি নির্দিষ্ট ব্যবহারকারীদের মধ্যে Matchঅপারেটরটি ব্যবহার করে পাসওয়ার্ড ব্যবহার সীমাবদ্ধ করতে পারেন sshd_config:

Match User root,foo,bar
    PasswordAuthentication no
Match User user1,user2
    PasswordAuthentication yes

পদ্ধতি # 2 - iptables

আপনি iptablesব্যর্থ লগইন প্রচেষ্টা ট্র্যাক করতে এবং একটি নির্দিষ্ট প্রান্তিকের পরে এগুলি ফেলে দিতেও ব্যবহার করতে পারেন । এটি হোস্টিংফু থেকে আপনার উদাহরণের মতো তবে বোঝা সহজ।

$ sudo iptables -I INPUT -p tcp --dport <YOUR PORT HERE> -i eth0 -m state --state NEW -m recent --set
$ sudo iptables -I INPUT -p tcp --dport <YOUR PORT HERE> -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

দ্রষ্টব্য: প্রথম লাইনটি মূলত একটি নিয়ম তৈরি করে যা কেবল ssh বন্দরে নতুন সংযোগ প্রয়াসের জন্য ব্যবহৃত প্যাকেটের ক্ষেত্রে প্রযোজ্য। দ্বিতীয় লাইনটি বলে যে 60 সেকেন্ডের মধ্যে যদি কোনও আইপি থেকে 4 টির বেশি চেষ্টা করা হয়, তবে সেই আইপি থেকে যে কোনও ট্র্যাফিক ব্ল্যাকহোল করা উচিত। এই ব্যবহারটি বিভিন্ন ব্যবহারকারীর অ্যাকাউন্টে চেষ্টা করার চেষ্টা করে না care

পদ্ধতি # 3 - পিএএম ব্যবহার করুন

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

আমার ফেডোরা 19 সিস্টেমে এটি ডিফল্ট ইনস্টলেশনটির অংশ।

উদাহরণ

সম্পর্কিত ফাইলগুলি সন্ধান করুন pam_faildelay

$ locate pam|grep -i delay
/usr/lib/security/pam_faildelay.so
/usr/lib64/security/pam_faildelay.so
/usr/share/doc/pam-1.1.6/html/sag-pam_faildelay.html
/usr/share/doc/pam-1.1.6/txts/README.pam_faildelay
/usr/share/man/man8/pam_faildelay.8.gz

তাদের দ্বারা সরবরাহ করা RPM দেখুন:

$ rpm -qf /usr/share/man/man8/pam_faildelay.8.gz
pam-1.1.6-12.fc19.x86_64
pam-1.1.6-12.fc19.i686

ব্যবহার

ব্যর্থতার জন্য বিলম্ব তৈরি করতে আপনি কেবল আপনার sshdপাম কনফিগ ফাইলে একটি লাইন যুক্ত করতে চান । আবার ফেডোরা / সেন্টওএস / rhel সিস্টেমে এই ফাইলটি এখানে অবস্থিত হয়: /etc/pam.d/sshd

একটি 10 ​​সেকেন্ড বিলম্ব তৈরি করতে:

       auth  optional  pam_faildelay.so  delay=10000000

একটি 60 দ্বিতীয় বিলম্ব:

       auth  optional  pam_faildelay.so  delay=60000000

উদাহরণ

উপরের পদ্ধতিটি ব্যবহার করে 20 সেকেন্ডের বিলম্বের সাথে আমি আমার পিএএম sshdকনফিগারেশন ফাইলটি এমনভাবে পরিবর্তন করেছি :

#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
auth       optional     pam_faildelay.so  delay=20000000
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin

এখন আমি যখন লগইন করি:

$ date
Tue Dec 17 09:16:30 EST 2013

$ ssh blah@localhost
blah@localhost's password: 
Permission denied, please try again.
blah@localhost's password: 

...Control + C....

$ date
Tue Dec 17 09:16:50 EST 2013

তথ্যসূত্র


ধন্যবাদ @ এসএলএম তবে আবার আমি প্যাম মডিউল ইনস্টল করতে পারছি না এবং আমার এসএসডি প্রমাণীকরণ পামের নয় ould আপনি কি অন্য কোনও উপায়ে পরামর্শ দিতে চান
রাম

@ অমিতসিংহ তোমার - দুঃখিত আমি আমার উত্তরটি প্রসারিত করেছি। আমি আপনার প্রশ্নের একটি ক্যানোনিকাল উত্তর তৈরি করার চেষ্টা করছিলাম যা কেবল আপনার একা নয়, সমস্ত পদ্ধতিকে কভার করে।
slm

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

@ অমিতসিংহ টোমার - এটি কেবলমাত্র 4 টি চেষ্টার পরে দেরি করা উচিত নয়। যখন --hitcount 4নিয়ম অতিক্রম করা হবে তখন 60০ সেকেন্ডের জন্য আপত্তিজনক আইপি ঠিকানাটি ব্ল্যাকহোল করবে।
slm

একটি পয়েন্ট আমি আপনার কাছ থেকে জানতে চেয়েছিলাম, আপনার তৃতীয় পদ্ধতিটি (পিএএম) কাজ করার জন্য, এর কি প্যামের মাধ্যমে এসএসে প্রমাণীকরণ হওয়া উচিত?
রাম

3

পাসওয়ার্ড অক্ষম করুন। কোনও পাসওয়ার্ড নেই, কোন জন্তু-আক্রমণ নয়।

আপনি লগ ইন করার জন্য ssh- কীগুলি ব্যবহার করতে পারেন - যা নিরাপদ এবং হ্যাক করার উপায় আরও কঠিন হওয়া উচিত।


0

একটি পরিষ্কার উপর উবুন্টু 16,04 এর ইনস্টল সঙ্গে openssh-server, সেখানে ইতিমধ্যে শূন্য অক্ষরের বেশি বড় একটি ভুল পাসওয়ার্ড প্রয়াস জন্য একটি বিলম্ব হয়। বিলম্বটি 1 সেকেন্ডের বেশি বলে মনে হচ্ছে

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

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