শত শত ব্যর্থ ssh লগইন


81

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

উত্তর:


67

আপনি এসপিএইচ বন্দরে নতুন আগত সংযোগগুলিকে রেট-সীমাবদ্ধ করতে iptables ব্যবহার করতে পারেন। আপনাকে কানের কৌতুক সমাধান দেওয়ার জন্য আপনার সম্পূর্ণ আইপটিবল কনফিগারেশনটি দেখতে হবে তবে আপনি মূলত এই জাতীয় বিধি যুক্ত করার বিষয়ে কথা বলছেন:

iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 5 --name SSH --rsource -j DROP 
iptables -A INPUT -p tcp --dport 22 -m recent --set --name SSH --rsource -j ACCEPT 

এই নিয়মগুলি ধরে নিয়েছে যে আপনি টেবিলের আগে ESTABLISHED সংযোগগুলি গ্রহণ করছেন (যাতে কেবল নতুন সংযোগগুলি এই নিয়মগুলিতে আঘাত করবে)। নতুন এসএসএইচ সংযোগগুলি এই নিয়মগুলিকে আঘাত করবে এবং চিহ্নিত করবে। 60 সেকেন্ডের মধ্যে, একটি আইপি ঠিকানা থেকে 5 টি প্রচেষ্টা এর ফলে সেই আইপি থেকে নতুন আগত সংযোগগুলি বাদ দেওয়া হবে।

এটি আমার পক্ষে ভাল কাজ করেছে।

সম্পাদনা: আমি এই পদ্ধতিটি "ফেলফল 2" এর চেয়ে বেশি পছন্দ করি কারণ কোনও অতিরিক্ত সফ্টওয়্যার ইনস্টল করা নেই এবং এটি সম্পূর্ণ কার্নেল-মোডে ঘটে। এটি "ব্যর্থ 2ban" উইলের মতো পার্সিং লগ ফাইলগুলি পরিচালনা করে না, তবে আপনার সমস্যাটি কেবল এসএসএইচ থাকলে আমি এমন কোনও ব্যবহারকারী-মোড ব্যবহার করব না যার জন্য সফ্টওয়্যার ইনস্টলেশন প্রয়োজন এবং এটি আরও জটিল complex


1
আমি এই সমাধানটি পছন্দ করি এবং আমি আজকের রাতের আগুন জ্বলে উঠার পরে এটি আজকের জায়গায় এনে দেওয়ার পরিকল্পনা করছি।
ম্যাটএমসিটাইনাইট

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

1
@ ইভানের "পোর্ট নোকিং" পরামর্শের জন্য +1। কিছু তথ্য: linux.die.net/man/1/knockd । তবে এটি ম্যান পৃষ্ঠার উপায়ে করবেন না (অর্থাত্ iptables নিয়ম যুক্ত / মুছে ফেলা), বরং পরিবর্তে -m conditioniptables ম্যাচটি ব্যবহার করুন।
পেপলুয়ান

2
এই নিয়মে আপনার কি --dport 22 দরকার নেই যাতে সেগুলি কেবল ssh ট্র্যাফিকের জন্য প্রয়োগ করা হয়?
ক্লাইমে

2
@ ক্লাইম - হ্যাঁ বিশ্বাস করা শক্ত এটি এখানে 2/2 বছর হয়েছে এবং কেউ খেয়াল করেনি! ভালো বল ধরা.
ইভান অ্যান্ডারসন

39

ব্যর্থতায় অনেক ব্যর্থ প্রচেষ্টা সহ আইপি অ্যাড্রেসগুলি ব্লক করে ব্যর্থ2 ban এটিকে সাহায্য করতে পারে।



2
@ এসডমিন, হ্যাঁ, বিশেষত যখন তাদের এত সুন্দর ট্র্যাক রেকর্ড রয়েছে ...
ম্যাক্সচলেপজিগ

25

আমি এসএসএইচের জন্য একটি অ-মানক বন্দর ব্যবহার করার পরামর্শ দিচ্ছি যদি আপনি (যেমন। পোর্ট 10222) করতে পারেন তবে যেহেতু আপনি উল্লেখ করেছেন আপনি এটি করতে পারবেন না আমি ডেনিহোস্টের মতো কিছু ব্যবহার করার পরামর্শ দিই।

http://denyhosts.sourceforge.net/

দুর্দান্ত প্যাকেজ, ইনস্টল এবং কনফিগার করা সহজ।


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

1
ওপেনএসএইচ 6.7 টিপস টিসিপ্র্যাপার সমর্থন , যা অস্বীকারকারীরা ব্যবহার করে।
জোরেডেচি

15

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

একই সিস্টেমে আপনার যদি একটি ওয়েব সার্ভার থাকে তবে আপনি পরিচিত সিস্টেমে এসএসএস ইনবাউন্ড ট্র্যাফিক সীমাবদ্ধ করতে পিএইচপি এবং টিসিপি র‌্যাপার ব্যবহার করতে পারেন, পাশাপাশি আপনাকে ইন্টারনেটে স্বেচ্ছাসেবীর সিস্টেম থেকে অ্যাক্সেসের অনুমতি দেওয়ার জন্য একটি ব্যাক-ডোর কী সরবরাহ করতে পারেন।

আপনি এটি কীভাবে করেন তা এখানে:

/etc/hosts.deny এ সমস্ত ssh সংযোগ অস্বীকার করুন:

# /etc/hosts.deny fragment
sshd:  all

আইপি দ্বারা পরিচিত সিস্টেমগুলিকে /etc/hosts.allow এ মঞ্জুরি দিন, এবং অস্থায়ী অ্যাক্সেসের জন্য একটি ফাইল যুক্ত করুন:

# /etc/hosts.allow fragment
sshd:  10.0.10.2     # some system
sshd:  172.99.99.99  # some other system
sshd:  /etc/hosts.allow.temporary-sshd-access

আপনার ওয়েব সার্ভারে একটি পিএইচপি ফাইল তৈরি করুন এবং এটি আমার-এসএসডিডি-অ্যাক্সেস.এফপি-এর মতো একটি অ-প্রকট নাম দিন:

<?php
function get_ip()
{
    return getenv("REMOTE_ADDR"); 
}

?>

<?php
$out='/etc/hosts.allow.temporary-sshd-access';
$log='/var/log/sshd-access-addition-log';

print "Was:";
readfile($out);
print "<br>";
$ip=get_ip();
$fp=fopen($out,"w");
fputs($fp,$ip);
fclose($fp);

$lfp=fopen($log,"a");
fputs($lfp,$ip);
fputs($lfp,"n");
fclose($lfp);

print "Wrote: ";
readfile($out);
?>

পিএইচপি কোডটি ক্ষমা করুন - আমি এটিকে অন্য কোথাও থেকে সরিয়ে নিয়েছি, তাই এটি সম্ভবত পুরো গুচ্ছটি পরিষ্কার করার পক্ষে দাঁড়িয়ে থাকতে পারে। এটি কেবল সিস্টেমের আইপি ঠিকানাটি /etc/hosts.allow.temporary-sshd-access ফাইলটিতে অ্যাক্সেস করা যুক্ত করা হয়, যা সংযোগের সময় sshd দ্বারা পড়া হয় (এর /etc/hosts.allow দ্বারা অন্তর্ভুক্তির কারণে) ।

এখন আপনি যখন ওয়েবে কিছু স্বেচ্ছাসেবী সিস্টেমে আছেন এবং এই সিস্টেমে লঙ্ঘন করতে চান, প্রথমে একটি ওয়েব ব্রাউজার ব্যবহার করুন এবং এই ফাইলটি (বা উইজেট বা সমতুল্য ব্যবহার করুন) টিপুন:

$ wget http://your.system.name/my-sshd-access.php

এখন আপনার সিস্টেমে প্রবেশ করতে সক্ষম হওয়া উচিত। যদি এটি কোথাও থেকে থাকে তবে আপনি সম্ভবত ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন ঘন প্রবেশ করান, /etc/hosts.allow.temporary-sshd-access ফাইলের বিষয়বস্তু পড়ার এবং আইপি ঠিকানা স্থায়ীভাবে / ইত্যাদি / হোস্টগুলিতে যুক্ত করা তুচ্ছ হবে। অনুমতি দেয়।


এটি আরও নিরাপদ করার জন্য, এই পৃষ্ঠাটি https এ চালান।
রবার্ট মুন্তানু

আপনি যদি স্ক্রিপ্টটি পরিবর্তন করেন যাতে এটি "অনুমোদিত অস্থায়ী আইপি ঠিকানা" ফাইলের বিষয়বস্তুগুলিকে আউটপুট না দেয়, তন্দ্রাচ্ছন্ন হওয়ার জন্য কিছু হবে না sn তারপরে আপনি এটিকে https এর পরিবর্তে HTTP এ চালাতে পারেন।
ব্যারি ব্রাউন

"অনুমোদিত অস্থায়ী আইপি ঠিকানা" সর্বদা রিকোয়েস্টারের (যেমন আপনার)। আমি মনে করি না এটি একরকম বা অন্যভাবে গুরুত্বপূর্ণ। এইচটিপিএসের অর্থ এই নয় যে অনুরোধ করা ইউআরএল এনক্রিপ্ট করা হয়েছে যার অর্থ এটি তারের থেকে স্নিগ্ধ করা তুচ্ছ নয়।
ডেভিড ম্যাকিনটোস

আপনি যদি এমন কোনও নেটওয়ার্কে থাকেন যা HTTP সংযোগের প্রক্সি করে তবে এটি কাজ করবে না তবে ইন্টারনেটে আপনার সরাসরি রুটটি অন্য কোনও এড্রেসের মাধ্যমে।
অ্যান্ড্রু টেলর

ওপেনএসএইচ 6..7 ড্রপ টিসিপ্রেইপারস সমর্থন , যা আপনার উত্তরে ব্যবহৃত হচ্ছে।
জোরেডেচি


8

নিজেকে একটি পক্ষ করুন এবং পাসওয়ার্ড লগইন অক্ষম করুন। একচেটিয়াভাবে প্রমাণীকরণ কী ব্যবহার করুন (উদাহরণস্বরূপ গুগল এসএস-কীজেন - উদাহরণ: http://www.puddingonline.com/~dave/publications/SSH-with-Keys-HOWTO/docament/html/SSH-with-Kys-HOWTO-4 .html ) আপনার সার্ভারটি আরও সুরক্ষিত হবে, আপনি এটিকে আরও স্বাচ্ছন্দ্যে সংযুক্ত করবেন (ssh-এজেন্ট, ssh-add, keychain পরীক্ষা করুন) এবং আপনি আর ssh brute ফোর্স আক্রমণের শিকার হতে পারবেন না।


2

অন্য সমাধানটি হ'ল অন্য বন্দরে ssh স্থানান্তর। এই কীটগুলি বেশ বোকা।


3
মূল পোস্টারটি বলেছিল যে তাকে স্ট্যান্ডার্ড বন্দরে চালানো দরকার।
Kbyrd

1
দুঃখিত, আমি অবশ্যই প্রশ্নগুলি আরও মনোযোগ সহকারে
পড়ব

1
আমাকে সম্মত হতে হবে ... আমার এসএসএইচ "বিকল্প" বন্দরগুলিতে চলছে এবং এটি লগগুলিতে একটি বিশ্বব্যাপী তৈরি করে। কীটগুলি ইটের মতো স্মার্ট, তাই এটি বোবা অটোমেশন স্ক্রিপ্টগুলির বিরুদ্ধে ভাল কাজ করে; মানব আক্রমণকারীদের বিরুদ্ধে এতটা ভাল নয়। তবুও লগগুলিতে তাদের মধ্যে নীরবতার আশীর্বাদপূর্ণ শব্দ রয়েছে ...
অ্যাভারি পেইন

.. এটি যে বটগুলি "বোকা" নয়, এটি হ'ল কম ঝুলন্ত ফলগুলি সন্ধান করার জন্য তৈরি করা হয়েছে। সুতরাং এসএসএইচ বন্দরটি সরিয়ে নেওয়া .. এর স্টাইলের মধ্যে রয়েছে আপনার ফলটি মাটি থেকে দূরে রাখুন।
elrobis

2

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

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


1

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

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


1

সত্যিই, আপনার যদি এসএসএইচ চালাতে হয় (এবং পোর্ট 22), আপনি এগুলি এড়াতে পারবেন না। আপনার যদি অবশ্যই পাসওয়ার্ড গ্রহণ করতে হয় তবে আপনি আরও খারাপ আকারে রয়েছেন।

আপনার সেরা বাজি হ'ল এসএসএইচ লগগুলি বাদ দেওয়ার জন্য আপনার লগ বিশ্লেষণ সফ্টওয়্যারটি কনফিগার করা। তারপরে কেবল এসএসএইচ লগগুলি দেখার জন্য একটি পৃথক দৃষ্টান্ত চালনা করুন এবং অসফল প্রচেষ্টাগুলি ফিল্টার করতে প্রোমেল ব্যবহার করুন। এমনকি আপনি একাধিক অসফল প্রচেষ্টা সহ আইপি ঠিকানাগুলি থেকে সফল লগইনগুলি দেখতে স্ক্রিপ্টগুলিও লিখতে পারেন।

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


0

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

আপনি যদি আইপি অ্যাড্রেসের বৈধতা সহ অ্যাক্সেসের সীমাবদ্ধতা সীমাবদ্ধ করতে পারেন তবে আপনার অগ্নি প্রাচীরের অ্যাক্সেস তালিকা সেট আপ করতে সক্ষম হওয়া উচিত। আপনি যদি ফায়ারওয়ালে ট্র্যাফিক সীমাবদ্ধ করতে পারেন তবে আমি আপনাকে নেটওয়ার্ক অনুপ্রবেশ সিস্টেমগুলির দিকে নজর দেওয়ার পরামর্শ দিচ্ছি, কারণ মনে হচ্ছে আপনার সার্ভারটি কিছু দ্বারা লক্ষ্যবস্তু হয়েছে।


0

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



0

আপনার যদি একাধিক হোস্ট জুড়ে এই সমস্যাটি সমাধান করার দরকার হয় তবে আপনি ওএসএসইসি দেখতে পারেন: http://www.ossec.net/main/ossec-architecture

এটি আপনাকে ব্রুট-ফোর্স আক্রমণগুলিতে স্বয়ংক্রিয়ভাবে প্রতিক্রিয়া জানাতে একটি কেন্দ্রীভূত অবস্থান থেকে একাধিক এজেন্ট কনফিগার করতে দেয় (লগগুলি থেকে অন্য যে কোনও প্যাটার্ন সহ আপনি বের করতে পারেন)।

সফটওয়্যার খুব সুন্দর টুকরা :)


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