কীভাবে এসএসএইচ ব্রুটফোর্স বন্ধ / প্রতিরোধ করবেন [বন্ধ]


22

আমি নেটওয়ার্ক প্রশাসনে খুব নতুন, তাই দয়া করে বিবেচনা করুন যে আমি এখনও অভিজ্ঞ নই।

আমার প্লেস্ক প্যানেল সহ উবুন্টু রুট সার্ভার রয়েছে।

গতকাল আমার বন্ধুরা এবং আমি লক্ষ্য করেছি যে আমাদের টিএস 3-তে কথার মান খুব খারাপ হয়ে গেছে। আমি সার্ভারে কিছু পিংস পাঠিয়েছিলাম এবং খুব বেশি প্যাকেটের ক্ষতি হয়েছিল। এর পরে আমি কিছুটা গুগল করে জানতে পারলাম যে একটি আছে auth.log। আমি এটি ডাউনলোড করেছি এবং কিছুটা চারদিকে স্ক্রোল করেছি, তবে আমি এটি পেয়েছি:

May 13 10:01:27 rs204941 sshd[9351]: input_userauth_request: invalid user student [preauth]
May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): check pass; user unknown
May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=112.220.198.102 
May 13 10:01:29 rs204941 sshd[9351]: Failed password for invalid user student from 112.220.198.102 port 39806 ssh2
May 13 10:01:29 rs204941 sshd[9351]: Received disconnect from 112.220.198.102: 11: Bye Bye [preauth]
May 13 10:01:31 rs204941 sshd[9353]: Invalid user student from 112.220.198.102

দেখে মনে হচ্ছে কেউ এসএসএইচ দিয়ে অনেকবার লগ ইন করার চেষ্টা করেছে। আমি কিছুটা চারদিকে স্ক্রোল করে দেখলাম যে এই ব্যক্তি অনেকগুলি বিভিন্ন ব্যবহারকারীর নাম ব্যবহার করার চেষ্টা করছেন:student, tech, psi, news,...

এই শত শত লগইন ফাইলটিতে প্রদর্শিত হয়েছিল।

আমি আমার ডেটাসেন্টারের ওয়েবসাইটে ট্র্যাফিকের পরিসংখ্যান সন্ধান করেছি। এটি প্রতি ঘন্টা মাত্র 17MB এ ছিল। আমার কাছে 100Mbit ব্যাকবোন রয়েছে তাই ডেটা স্থানান্তর নিজেই সমস্যা বলে মনে হচ্ছে না।

এই মুহুর্তে আমি কোনওভাবেই সার্ভারটিতে অ্যাক্সেস পেতে পারি না।

আমার প্রশ্ন হ'ল: আমি কীভাবে আবার অ্যাকসেস পেতে পারি, কীভাবে আমি এই আক্রমণকে ছাড়িয়ে নিতে পারি এবং নিম্নলিখিত আক্রমণগুলি আটকাতে পারি?


এখনও এই বিভাগে আমার স্টাফ শিখতে .... কিন্তু পোর্ট নক করার জন্য এটি কি ভাল ব্যবহার হবে না?
mjrider


উত্তর:


37

কীভাবে অ্যাক্সেস অর্জন করবেন?

আপনি কেন নিজের অ্যাকাউন্ট অ্যাক্সেস করতে পারবেন না তা এটি পরিষ্কার নয়।

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

আপনার প্রযোজক সাহায্য করতে সক্ষম হতে পারে এমন ব্যান্ড অ্যাক্সেসেরও প্রয়োজন হতে পারে।

যদি কেউ আপনার সার্ভারের সাথে আপস করে থাকে তবে আপনাকে ব্যাকআপগুলি থেকে পুনরুদ্ধার করতে হবে বা পুনরুদ্ধার চিত্রটি ব্যবহার করতে হবে।

আপনার সার্ভারে কীভাবে আক্রমণগুলি প্রতিরোধ করবেন, বিশেষত এসএসএইচ

ব্রুট ফোর্স লগইনগুলি প্রতিরোধের সেরা উপায়?

তাদের প্রথমে আপনার মেশিনে উঠতে দেবেন না! আপনার হোস্টের কাছে যাওয়ার আগে বা এসএসএইচ স্তরে জোরপূর্বক প্রচেষ্টা বন্ধ করার প্রচুর উপায় রয়েছে।

এটি বলে যে, ব্যর্থ 2ban এর মতো কিছু দিয়ে আপনার অপারেটিং সিস্টেমটিকে সুরক্ষা দেওয়া একটি দুর্দান্ত ধারণা। http://en.wikipedia.org/wiki/Fail2ban

Fail2ban DenyHosts এর অনুরূপ ... তবে DenyHosts এর বিপরীতে যা এসএসএইচ-তে দৃষ্টি নিবদ্ধ করে, ব্যর্থ2ban কোনও লগ ফাইলের জন্য লগইন প্রচেষ্টা লেখার যে কোনও পরিষেবা নিরীক্ষণ করার জন্য এবং /etc/hosts.deny পরিবর্তে কেবল আইপি ঠিকানা / হোস্ট ব্লক করতে কনফিগার করা যেতে পারে , ব্যর্থ 2ban নেট ফিল্টার / iptables এবং টিসিপি র্যাপার্স /etc/hosts.deny ব্যবহার করতে পারে।

ব্রুট ফোর্স লগইনগুলি রোধে সহায়তা করার জন্য আপনার অনেকগুলি গুরুত্বপূর্ণ সুরক্ষা কৌশল বিবেচনা করা উচিত:

SSH- র:

  • রুটটিকে লগইন করতে দেবেন না
  • এসএসএস পাসওয়ার্ডগুলির অনুমতি দেবেন না (ব্যক্তিগত কী প্রমাণীকরণ ব্যবহার করুন)
  • প্রতিটি ইন্টারফেসে শুনবেন না
  • এসএসএইচ (যেমন এথ 1) এর জন্য একটি নেটওয়ার্ক ইন্টারফেস তৈরি করুন, যা আপনার অনুরোধগুলির (যেমন eth0) অনুরোধ করা ইন্টারফেসের থেকে আলাদা is
  • সাধারণ ব্যবহারকারীর নাম ব্যবহার করবেন না
  • একটি অনুমতি তালিকা ব্যবহার করুন এবং কেবল এসএসএইচ অ্যাক্সেস প্রয়োজন এমন ব্যবহারকারীদের অনুমতি দিন
  • আপনার যদি ইন্টারনেট অ্যাক্সেসের প্রয়োজন হয় ... আইপিগুলির একটি সীমাবদ্ধ অ্যাক্সেসে অ্যাক্সেসকে সীমাবদ্ধ করুন। একটি স্ট্যাটিক আইপি আদর্শ, তবে এটিকে xx0.0 / 16 এ লক করা 0.0.0.0.0/0 এর চেয়ে ভাল is
  • যদি সম্ভব হয় ইন্টারনেট অ্যাক্সেস ছাড়াই সংযোগের কোনও উপায় খুঁজে পাওয়া যায়, তবে আপনি এসএসএইচের জন্য সমস্ত ইন্টারনেট ট্র্যাফিককে অস্বীকার করতে পারেন (যেমন এডাব্লুএস এর সাহায্যে আপনি একটি সরাসরি সংযোগ পেতে পারেন যা ইন্টারনেটকে বাইপাস করে, এটি ডাইরেক্ট কানেক্ট বলে)
  • যেকোন হিংস্র ফোর্স আক্রমণটি ধরতে ফেললব্যাবের মতো সফ্টওয়্যার ব্যবহার করুন
  • নির্দিষ্ট সুরক্ষা এবং ssh প্যাকেজগুলিতে ওএস সর্বদা আপ টু ডেট রয়েছে তা নিশ্চিত করুন

অ্যাপ্লিকেশন:

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

1
আমি help.ubuntu.com/commune/Fail2ban- এর মাধ্যমে Fail2ban ইনস্টল করেছি এটি খুব পাওয়ারফুল এবং ব্যবহারকারী-বান্ধব বলে মনে হচ্ছে (মেল বিজ্ঞপ্তি, ...)

আমার ডেটাসেন্টার থেকে আমি একটি বার্তা পেয়েছি: একটি ফ্লাডট্যাক ছিল (এটি কী?) এবং এটি অনেক সার্ভারের জন্য সংযোগটি খুব খারাপ করে তুলেছে। এটি বিশেষত আমার সার্ভারে আক্রমণ নয়।


1
মজাদার. সুতরাং দেখে মনে হচ্ছে যে আমার ডেটাসেন্টারই আক্রমণটির লক্ষ্য ছিল। তবে আমি জানার জন্য আমি এর বাইরেও আঘাত পেয়েছি, খুব ভাল is এবং Fail2ban আসলেই একটি ভাল সরঞ্জাম। আমি পরের দিন Iptables এবং SSH কনফিগারেশন সম্পর্কে পড়ব এবং এটিকে আরও সুরক্ষিত করার চেষ্টা করব।

3
22 ব্যতীত অন্য কোনও পোর্ট শোনার জন্য ওপেনশ কনফিগার করুন এবং 22 পোর্টে আসা যে কোনও কিছু ড্রপ করার জন্য iptables কনফিগার করুন you পিএইচপি করুন এবং iptables সঙ্গে এটি ব্যবহার করুন।
থোরিয়ামবিআর

4

আমি কীভাবে এই আক্রমণকে ছাড়িয়ে যেতে পারি এবং নিম্নলিখিত আক্রমণগুলি রোধ করতে পারি?

সাধারণত আমি ডিফল্ট এসএস পোর্টটিকে 22 থেকে 1122 এর মতো অন্যটিতে পরিবর্তন করি This এটি বট থেকে অনেকগুলি স্বয়ংক্রিয় আক্রমণ প্রতিরোধ করে, তবে একটি সাধারণ পোর্ট স্ক্যান এটি সনাক্ত করতে পারে। যাই হোক:

vi /etc/ssh/sshd_config

এবং সম্পাদনা পোর্ট 22 থেকে পোর্ট 1122 , কিন্তু এই যথেষ্ট নয়।

ব্রুটেফোর্সে স্বয়ংক্রিয় IPTables নিয়ম

আমি লগ 2iptables https://github.com/theMiddleBlue/log2iptables পরিবর্তে Fail2ban ব্যবহার করি, কারণ একটি সরল বাশ স্ক্রিপ্ট যা কোনও নিয়মিত অভিব্যক্তি সহ কোনও লগফিলকে বিশ্লেষণ করে এবং iptables চালায়। উদাহরণস্বরূপ যখন 5 টি ম্যাচ ঘটে, লগ 2iptables নির্দিষ্ট আইপি ঠিকানা ফেলে দেয়। এটি দুর্দান্ত কারণ টেলিগ্রাম এপিআই ব্যবহার করুন এবং যখন কোনও সমস্যা পান তিনি আমার ফোনে আমাকে একটি বার্তা পাঠাতে পারেন :)

আশা করি এটি সাহায্য করবে!


8
আমি প্রকল্পের ইউআরএল এবং আপনার এসএফ হ্যান্ডেলের মধ্যে পারস্পরিক সম্পর্ক থেকে অনুমান করছি যে আপনি এই প্রকল্পের সাথে জড়িত। আপনার নিজের পণ্যগুলি উল্লেখ করার জন্য দয়া করে আমাদের নির্দেশিকা দেখুন , বিশেষত " আপনার উত্তরগুলিতে আপনাকে অবশ্যই অনুমোদিততা প্রকাশ করতে হবে " এই প্রয়োজনীয়তার বিষয়টি উল্লেখ করে ।
ম্যাডহ্যাটার 19:48

1

আমি কেবল এটি একসাথে রেখেছি, প্রতি 15 মিনিটে ক্রোনজব ইত্যাদি হিসাবে চালাচ্ছি:

for z in `grep Invalid /var/log/auth.log | awk '{ print $NF }' | sort | uniq`
do
  count1=`grep $z /etc/hosts.deny | wc -l`
  count2=`grep Invalid /var/log/auth.log | grep $z | wc -l`
  if [ $count1 -eq 0 -a $count2 -gt 10 ] ; then
    current=`egrep "^ssh" /etc/hosts.deny | sed 's/sshd[ :,]*//'`
    sudo cp /etc/hosts.deny.bak /etc/hosts.deny
    sudo chmod 666 /etc/hosts.deny
    if [ $current ] ; then
      echo "sshd : $current , $z" >> /etc/hosts.deny
    else
      echo "sshd : $z" >> /etc/hosts.deny
    fi
    sudo chmod 644 /etc/hosts.deny
  fi
done

0

এটি এসএসএইচ আক্রমণগুলির জন্য আমার বিকল্প সমাধান। ধারণাটি না রাখলে এসএসএইচ ডেমন বন্ধ রাখছে। কোনও মুক্ত বন্দরের আক্রমণ নেই। আপনি চেষ্টা করতে পারেন. এটি ওপেন সোর্স https://github.com/indy99/nnet_port_guard


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

0

খারাপ অভিনেতাদের ব্লক করার জন্য সেন্টোস / আরএইচইএল-এর স্বয়ংক্রিয় সমাধান

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

     #/bin/bash
     # Save a copy of the existing hosts.deny file for safety
     cp /etc/hosts.deny /etc/hosts.deny.bak
     # Get a list of the offending IP addresses and process them
     for z in `grep "Invalid\|Failed" /var/log/secure | awk '{ print $NF }' | sort | uniq`
     do
     # Get the number of times this IP hit us
     hits=`grep "Invalid\|Failed" /var/log/secure* | grep $z | wc -l`
     # Check whether this IP is already blocked
     blocked=`grep $z /etc/hosts.deny | wc -l`
     # If they hit us more than 3 times and are not already on the deny list
     # add them to the deny list
     if [ $hits -gt 3 -a $blocked -eq 0 ]
     then
          echo "sshd : $z" >> /etc/hosts.deny
     fi
     done

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