আপনার লিনাক্স সার্ভারটি সুরক্ষিত করতে কীভাবে ফেইল 2 ব্যাবহার করবেন


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

অনুপ্রবেশ প্রতিরোধের সফ্টওয়্যার যেমন ব্যর্থ 2ban এর সাহায্যে আপনি আপনার সার্ভার লগগুলি পরীক্ষা করতে পারেন এবং সমস্যাযুক্ত আইপি অ্যাড্রেসগুলি ব্লক করতে অতিরিক্ত আইপটবেবল বিধিগুলি যুক্ত করতে পারেন।

এই টিউটোরিয়ালটি আপনাকে দেখাবে যে কীভাবে আপনার লিনাক্স সিস্টেমটিকে ব্রুট-ফোর্স আক্রমণ থেকে রক্ষা করতে ব্যর্থ 2ban এবং সেটআপ বেসিক কনফিগারেশন ইনস্টল করতে হয়।

ফেলাইল 2 পাইথনটিতে লেখা এবং একমাত্র প্রয়োজন পাইথন ইনস্টল করা:

  • ব্যর্থবায়ান শাখা 0.9.x এর জন্য পাইথন> = 2.6 বা পাইথন> = 3.2
  • প্রয়োজন
  • ব্যর্থ 2 শাখা 0.8.x এর জন্য পাইথন> = 2.4
  • প্রয়োজন
  • আপনার সিস্টেমে রুট অ্যাক্সেস
  • allyচ্ছিকভাবে, iptables বা showewall এবং sendmail

কীভাবে লিনাক্স সিস্টেমে Fail2Ban ইনস্টল করবেন

ব্যর্থ 2ban ইনস্টল করা তুলনামূলকভাবে সহজ:

প্রথমে আপনার প্যাকেজগুলি আপডেট করুন, এপেল সংগ্রহস্থল সক্ষম করুন এবং প্রদর্শিত হিসাবে ব্যর্থ 2ban ইনস্টল করুন।

# yum update
# yum install epel-release
# yum install fail2ban

প্রথমে আপনার প্যাকেজগুলি আপডেট করুন এবং প্রদর্শিত হিসাবে ব্যর্থ 2ban ইনস্টল করুন।

# apt-get update && apt-get upgrade -y
# apt-get install fail2ban

Allyচ্ছিকভাবে, আপনি যদি মেল সমর্থন সক্ষম করতে চান (মেল বিজ্ঞপ্তিগুলির জন্য), আপনি সেন্ডমেল ইনস্টল করতে পারেন।

# yum install sendmail                   [On CentOS/RHEL]
# apt-get install sendmail-bin sendmail  [On Debian/Ubuntu]

ব্যর্থ 2 বন এবং সেন্ডমেল সক্ষম করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:

# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl start sendmail
# systemctl enable sendmail

লিনাক্স সিস্টেমে Fail2ban কীভাবে কনফিগার করবেন

ডিফল্টরূপে, ব্যর্থ2ban .conf ফাইলগুলি/etc/ফেল2ban/এ অবস্থিত যা প্রথমে পড়া হয় uses তবে এগুলি একই ডিরেক্টরিতে থাকা । লোকাল ফাইল দ্বারা ওভাররাইড করা যেতে পারে।

সুতরাং, .Local ফাইলে .conf ফাইল থেকে সমস্ত সেটিংস অন্তর্ভুক্ত করার দরকার নেই, তবে আপনি কেবল ওভাররাইড করতে ইচ্ছুক। পরিবর্তনগুলি । লোকাল ফাইলগুলিতে করা উচিত, .conf এ নয়। এটি ব্যর্থ 2ban প্যাকেট আপগ্রেড করার সময় ওভাররাইট পরিবর্তনগুলি রোধ করবে।

এই টিউটোরিয়ালটির উদ্দেশ্যে, আমরা বিদ্যমান ব্যর্থ 2ban.conf ফাইলটি ব্যর্থ 2ban.local এ অনুলিপি করব।

# cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

এখন আপনি আপনার প্রিয় পাঠ্য সম্পাদক ব্যবহার করে । লোকাল ফাইলে পরিবর্তন করতে পারেন make আপনি যে মানগুলি সম্পাদনা করতে পারবেন সেগুলি হ'ল:

  • লগলিভেল - এটি লগ হওয়ার বিশদ স্তরের। সম্ভাব্য বিকল্পগুলি হ'ল:
    • ক্রিটিকাল
    • ত্রুটি
    • সতর্কতা
    • বিজ্ঞপ্তি
    • তথ্য
    • ডিবুগ

    • বন্ধ করুন - কোনও ডেটা আউটপুট করুন
    • এসটিডিআরআর - কোনও ত্রুটি আউটপুট করুন
    • SYSLOG - বার্তা-ভিত্তিক লগিং
    • ফাইল - একটি ফাইলের আউটপুট

    ব্যর্থ2ban এর মধ্যে একটি গুরুত্বপূর্ণ ফাইল হ'ল জেলকনফ যা আপনার জেলগুলি সংজ্ঞায়িত করে। এটি সেই জায়গাতেই আপনি পরিষেবাগুলি সংজ্ঞায়িত করেন যার জন্য ব্যর্থ 2ban সক্ষম করা উচিত।

    আমরা আগে উল্লেখ করেছি যে .conf ফাইলগুলি আপগ্রেডের সময় পরিবর্তন করা যেতে পারে, সুতরাং আপনার একটি জেল.লোকাল ফাইল তৈরি করা উচিত যেখানে আপনি নিজের পরিবর্তনগুলি প্রয়োগ করতে পারেন।

    এটি করার আরেকটি উপায় হ'ল সাথে .conf ফাইলটি অনুলিপি করা:

    # cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    

    আপনি যদি সেন্টোস বা ফেডোরা ব্যবহার করছেন তবে আপনার কারাগারে ব্যাকএন্ডটি পরিবর্তন করতে হবে oc

    আপনি যদি উবুন্টু/ডেবিয়ান ব্যবহার করেন তবে তারাও সিস্টেমড ব্যবহার করলেও এই পরিবর্তনটি করার দরকার নেই।

    জেল ফাইলটি ডিবিয়ান এবং উবুন্টুর জন্য ডিফল্টরূপে এসএসএইচ সক্ষম করবে, তবে সেন্টোজে নেই। আপনি যদি এটি সক্ষম করতে চান তবে কেবল নীচের লাইনটি /etc/fail2ban/jail.local এ পরিবর্তন করুন:

    [sshd]
    enabled = true
    

    আপনি কোনও আইপি ঠিকানা অবরুদ্ধ হওয়ার পরে পরিস্থিতিটি কনফিগার করতে পারেন। এই উদ্দেশ্যে, ব্যর্থ 2ban ব্যানটাইম, ফাইন্ডটাইম এবং ম্যাক্রেট্রি ব্যবহার করে।

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

    অবশ্যই, আপনি নির্দিষ্ট আইপি অ্যাড্রেসগুলি সাদা করতে চান। এই জাতীয় আইপি ঠিকানাগুলি কনফিগার করার জন্য আপনার প্রিয় পাঠ্য সম্পাদকের সাথে /etc/fail2ban/jail.local খুলুন এবং নিম্নলিখিত লাইনটি অসম্পূর্ণ করুন:

    ignoreip = 127.0.0.1/8  ::1
    

    তারপরে, আপনি যে আইপি ঠিকানাগুলি উপেক্ষা করতে চান সেগুলি রাখতে পারেন। আইপি ঠিকানাগুলি স্থান বা কমা থেকে পৃথক করা উচিত।

    আপনি যদি ইভেন্টটির উপরে মেল সতর্কতাগুলি পেতে চান তবে আপনাকে নীচের সেটিংসটি /etc/fail2ban/jail.local এ কনফিগার করতে হবে:

    • ডেসটেল - মেল ঠিকানা, যেখানে আপনি বিজ্ঞপ্তিটি পাবেন।
    • সেন্ডারনাম - প্রেরক যা আপনি বার্তাটি গ্রহণ করার সময় দেখতে পাবেন
    • প্রেরক - ইমেল ঠিকানা যা থেকে ব্যর্থ2ban ইমেলগুলি প্রেরণ করবে

    ডিফল্ট এমটিএ (মেল ট্রান্সফার এজেন্ট) সেন্ডমেইলে সেট করা আছে।

    মেল বিজ্ঞপ্তিগুলি পেতে, আপনাকে "ক্রিয়া" সেটিংস এ থেকে পরিবর্তন করতে হবে:

    Action = %(action_)s
    

    এর মধ্যে একটি:

    action = %(action_mw)s
    action = %(action_mwl)s
    

    • % (action_mw) s - হোস্টকে নিষিদ্ধ করবে এবং হুইস রিপোর্ট সহ একটি মেল পাঠাবে
    • % (action_mwl) s - হোস্টকে নিষিদ্ধ করবে, লগ ফাইল থেকে Whois সম্পর্কিত তথ্য এবং সমস্ত প্রাসঙ্গিক তথ্য সরবরাহ করবে

    অতিরিক্ত Fail2ban জেল কনফিগারেশন

    এখন পর্যন্ত আমরা বেসিক কনফিগারেশন বিকল্পগুলির দিকে নজর রেখেছি। আপনি যদি কোনও জেল কনফিগার করতে চান তবে আপনার এটি জেল.লোকাল ফাইলে সক্ষম করতে হবে। বাক্য গঠনটি বেশ সহজ:

    [jail_to_enable]
    . . .
    enabled = true
    

    যেখানে আপনার জেল_ থেকে_ সক্ষমটি প্রকৃত জেলের সাথে প্রতিস্থাপন করা উচিত, উদাহরণস্বরূপ, "এসএসডিডি"। জেল.লোকাল ফাইলটিতে, নিম্নলিখিত মানগুলি এসএসএস পরিষেবার জন্য পূর্বনির্ধারিত হবে:

    [sshd]
    
    port = ssh
    logpath = %(sshd_log)s
    

    আপনি ফিল্টার সক্ষম করতে পারবেন যা লগের কোনও লাইন যদি ব্যর্থ হয় তবে তা সনাক্ত করতে সহায়তা করবে। ফিল্টার মান আসলে .conf এর পরে পরিষেবার নামের সাথে থাকা কোনও ফাইলের একটি উল্লেখ। উদাহরণস্বরূপ: /etc/fail2ban/filter.d/sshd.conf।

    বাক্য গঠনটি হ'ল:

    filter = service
    

    উদাহরণ স্বরূপ:

    filter = sshd
    

    আপনি নিম্নলিখিত ডিরেক্টরিতে বিদ্যমান ফিল্টারগুলি পর্যালোচনা করতে পারেন: /etc/fail2ban/filter.d/।

    Fail2ban একটি ক্লায়েন্টের সাথে আসে যা বর্তমান কনফিগারেশনটি পর্যালোচনা এবং পরিবর্তনের জন্য ব্যবহার করা যেতে পারে। যেহেতু এটি অনেকগুলি বিকল্প সরবরাহ করে, আপনি এর ম্যানুয়ালটির মাধ্যমে এতে যেতে পারেন:

    # man fail2ban-client 
    

    এখানে আপনি ব্যবহার করতে পারেন এমন কয়েকটি বুনিয়াদি আদেশ দেখতে পাবেন। ফেলফল 2 বা নির্দিষ্ট কারাগারের বর্তমান অবস্থা পর্যালোচনা করতে আপনি ব্যবহার করতে পারেন:

    # fail2ban-client status
    

    ফলাফল এর সাথে একই রকম দেখাবে:

    পৃথক কারাগারের জন্য, আপনি চালাতে পারেন:

    # fail2ban-client status sshd
    

    নীচের স্ক্রিনশটে আপনি দেখতে পাবেন যে আমি উদ্দেশ্যমূলকভাবে একাধিক লগইন ব্যর্থ করেছি যাতে ব্যর্থ2ban যে আইপি ঠিকানা থেকে আমি সংযোগ দেওয়ার চেষ্টা করছিলাম তা অবরুদ্ধ করতে পারে:

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