fail2ban দিয়ে কীভাবে আপনার লিনাক্স সার্ভার সুরক্ষিত করবেন

ফাতমাওয়াতি আহমাদ জায়েনুরি/শাটারস্টক
|_+_| এর সাথে, আপনার লিনাক্স কম্পিউটার স্বয়ংক্রিয়ভাবে এমন আইপি ঠিকানাগুলিকে ব্লক করে যেগুলির সংযোগ ব্যর্থ হয়েছে৷ এটা স্ব-নিয়ন্ত্রিত নিরাপত্তা! আমরা আপনাকে দেখাব কিভাবে এটি ব্যবহার করতে হয়।
নিরাপত্তা নিরাপত্তা নিরাপত্তা
উইন্ডসরের ডাচেস, ওয়ালিস সিম্পসন, একবার বিখ্যাতভাবে বলেছিলেন, আপনি কখনই খুব ধনী বা খুব পাতলা হতে পারবেন না। আমরা আমাদের আধুনিক, আন্তঃসংযুক্ত বিশ্বের জন্য এটি আপডেট করেছি: আপনি কখনই খুব সতর্ক বা খুব নিরাপদ হতে পারবেন না।
যদি আপনার কম্পিউটার ইনকামিং সংযোগ অনুরোধ গ্রহণ করে, যেমন নিরাপদ শেল ( এসএসএইচ ) সংযোগ, বা একটি ওয়েব বা ইমেল সার্ভার হিসাবে কাজ করে, আপনাকে এটিকে পাশবিক শক্তি আক্রমণ এবং পাসওয়ার্ড-অনুমানকারীদের থেকে রক্ষা করতে হবে।
এটি করার জন্য, আপনাকে সংযোগের অনুরোধগুলি নিরীক্ষণ করতে হবে যা একটি অ্যাকাউন্টে প্রবেশ করতে ব্যর্থ হয়৷ যদি তারা অল্প সময়ের মধ্যে বারবার প্রমাণীকরণ করতে ব্যর্থ হয়, তাহলে তাদের আরও প্রচেষ্টা করা থেকে নিষিদ্ধ করা উচিত।
কার্যত এটি অর্জন করার একমাত্র উপায় হল পুরো প্রক্রিয়াটিকে স্বয়ংক্রিয় করা। একটু সহজ কনফিগারেশনের সাথে, |_+_| পরিচালনা করবে নিরীক্ষণ, নিষেধাজ্ঞা, এবং নিষেধাজ্ঞা মুক্ত করা তোমার জন্য.
বিজ্ঞাপন|_+_| সাথে সংহত করে লিনাক্স ফায়ারওয়াল |_+_| এটি ফায়ারওয়ালে নিয়ম যোগ করে সন্দেহভাজন আইপি ঠিকানার উপর নিষেধাজ্ঞা জারি করে। এই ব্যাখ্যাটি অগোছালো রাখতে, আমরা |_+_| ব্যবহার করছি একটি খালি নিয়মের সাথে।
অবশ্যই, আপনি যদি নিরাপত্তার বিষয়ে উদ্বিগ্ন হন, তাহলে সম্ভবত আপনার কাছে একটি ফায়ারওয়াল কনফিগার করা আছে যেটি একটি ভাল-জনসংখ্যার রুলসেট আছে। |_+_| কেবল এর নিজস্ব নিয়ম যোগ করে এবং সরিয়ে দেয় -আপনার নিয়মিত ফায়ারওয়াল ফাংশন অস্পৃশ্য থাকবে।
আমরা এই কমান্ডটি ব্যবহার করে আমাদের খালি রুলসেট দেখতে পারি:
|_ + _ |
সম্পর্কিত: iptables, লিনাক্স ফায়ারওয়ালের জন্য শিক্ষানবিস গাইড
fail2ban ইনস্টল করা হচ্ছে
ইনস্টল করা হচ্ছে |_+_| আমরা এই নিবন্ধটি গবেষণা করার জন্য ব্যবহৃত সমস্ত বিতরণে সহজ। উবুন্টু 20.04 এ, কমান্ডটি নিম্নরূপ:
|_ + _ |
ফেডোরা 32-এ, টাইপ করুন:
|_ + _ |
Manjaro 20.0.1-এ, আমরা ব্যবহার করেছি |_+_|:
|_ + _ |
fail2ban কনফিগার করা হচ্ছে
|_+_| ইনস্টলেশনে jail.conf নামে একটি ডিফল্ট কনফিগারেশন ফাইল থাকে। এই ফাইলটি ওভাররাইট করা হয় যখন |_+_| আপগ্রেড করা হয়েছে, তাই এই ফাইলে কাস্টমাইজেশন করলে আমরা আমাদের পরিবর্তনগুলি হারাবো৷
পরিবর্তে, আমরা jail.conf ফাইলটিকে jail.local নামক একটিতে কপি করব। আমাদের কনফিগারেশন পরিবর্তনগুলি jail.local এ রেখে, তারা আপগ্রেড জুড়ে টিকে থাকবে। উভয় ফাইল স্বয়ংক্রিয়ভাবে |_+_| দ্বারা পড়া হয়৷
এই ফাইলটি কিভাবে অনুলিপি করতে হয়:
|_ + _ |
এখন আপনার প্রিয় সম্পাদকে ফাইলটি খুলুন। আমরা ব্যবহার করতে যাচ্ছি |_+_|:
|_ + _ |বিজ্ঞাপনআমরা ফাইলটিতে দুটি বিভাগ খুঁজব: [ডিফল্ট] এবং [এসএসএইচডি]। যদিও প্রকৃত বিভাগগুলি খুঁজে পেতে যত্ন নিন। সেই লেবেলগুলিও একটি বিভাগে শীর্ষের কাছে উপস্থিত হয় যা তাদের বর্ণনা করে, কিন্তু আমরা যা চাই তা নয়।
আপনি লাইন 40 এর আশেপাশে কোথাও [ডিফল্ট] বিভাগটি পাবেন। এটি অনেক মন্তব্য এবং ব্যাখ্যা সহ একটি দীর্ঘ বিভাগ।
90 লাইনের কাছাকাছি নিচে স্ক্রোল করুন, এবং আপনি নিম্নলিখিত চারটি সেটিংস পাবেন যা আপনার জানা দরকার:
- › MIL-SPEC ড্রপ সুরক্ষা কি?
- › 5টি ওয়েবসাইট প্রতিটি লিনাক্স ব্যবহারকারীর বুকমার্ক করা উচিত
- › কীভাবে আপনার স্পটিফাই মোড়ানো 2021 খুঁজে পাবেন
- & rsaquo; সাইবার সোমবার 2021: সেরা প্রযুক্তিগত ডিল
- › কম্পিউটার ফোল্ডারটি 40: কিভাবে জেরক্স স্টার ডেস্কটপ তৈরি করেছে
- › মাইক্রোসফ্ট এক্সেলে ফাংশন বনাম সূত্র: পার্থক্য কী?
যদি একই IP ঠিকানা থেকে একটি সংযোগ তৈরি করে |_+_| ব্যর্থ সংযোগ প্রচেষ্টা |_+_| এর মধ্যে সময়কাল, তারা |_+_| সময়ের জন্য নিষিদ্ধ। শুধুমাত্র ব্যতিক্রম হল |_+_| এর IP ঠিকানা তালিকা
|_+_| একটি নির্দিষ্ট সময়ের জন্য IP ঠিকানাগুলিকে জেলে রাখে। |_+_| অনেকগুলি বিভিন্ন জেল সমর্থন করে, এবং প্রতিটি প্রতিনিধিত্ব করে সেটিংস একটি একক সংযোগ প্রকারে প্রযোজ্য। এটি আপনাকে বিভিন্ন ধরনের সংযোগের জন্য বিভিন্ন সেটিংস করতে দেয়। অথবা আপনি থাকতে পারেন |_+_| শুধুমাত্র সংযোগ প্রকারের একটি নির্বাচিত সেট নিরীক্ষণ করুন।
আপনি হয়ত [ডিফল্ট] বিভাগের নাম থেকে এটি অনুমান করেছেন, কিন্তু আমরা যে সেটিংস দেখেছি তা ডিফল্ট। এখন, এসএসএইচ জেলের সেটিংস দেখি।
সম্পর্কিত: লিনাক্সে gedit-এর মাধ্যমে গ্রাফিক্যালি টেক্সট ফাইল কিভাবে এডিট করবেন
একটি জেল কনফিগার করা
জেলগুলি আপনাকে সংযোগের ধরনগুলিকে |_+_| এর মধ্যে এবং বাইরে সরাতে দেয়৷ পর্যবেক্ষণ ডিফল্ট সেটিংস যদি আপনি জেলে প্রয়োগ করতে চান তার সাথে মেলে না, আপনি |_+_|, |_+_|, এবং |_+_| এর জন্য নির্দিষ্ট মান সেট করতে পারেন৷
বিজ্ঞাপনপ্রায় 280 লাইনে স্ক্রোল করুন এবং আপনি [sshd] বিভাগটি দেখতে পাবেন।
এখানে আপনি SSH সংযোগ জেলের জন্য মান সেট করতে পারেন। এই কারাগারটিকে পর্যবেক্ষণ এবং নিষিদ্ধকরণে অন্তর্ভুক্ত করতে, আমাদের নিম্নলিখিত লাইনটি টাইপ করতে হবে:
|_ + _ |আমরা এই লাইনটিও টাইপ করি:
|_ + _ |ডিফল্ট সেটিং পাঁচটি ছিল, কিন্তু আমরা SSH সংযোগের সাথে আরও সতর্ক হতে চাই। আমরা এটিকে তিনটিতে নামিয়েছি এবং তারপর ফাইলটি সংরক্ষণ এবং বন্ধ করে দিয়েছি।
আমরা এই জেলটি |_+_| এ যুক্ত করেছি নিরীক্ষণ, এবং ডিফল্ট সেটিংসের একটিকে ওভাররড করে। একটি জেল ডিফল্ট এবং জেল-নির্দিষ্ট সেটিংসের সংমিশ্রণ ব্যবহার করতে পারে।
fail2ban সক্ষম করা হচ্ছে
এখন পর্যন্ত, আমরা ইনস্টল করেছি |_+_| এবং এটি কনফিগার করুন। এখন, আমাদের এটি একটি স্বয়ংক্রিয়-শুরু পরিষেবা হিসাবে চালানোর জন্য সক্ষম করতে হবে। তারপরে, এটি প্রত্যাশিত হিসাবে কাজ করে তা নিশ্চিত করতে আমাদের এটি পরীক্ষা করতে হবে।
বিজ্ঞাপনসক্ষম করতে |_+_| একটি পরিষেবা হিসাবে, আমরা ব্যবহার করি |_+_| আদেশ :
|_ + _ |আমরা পরিষেবা শুরু করতেও এটি ব্যবহার করি:
|_ + _ |
আমরা |_+_| ব্যবহার করেও পরিষেবার স্থিতি পরীক্ষা করতে পারি:
|_ + _ |
সবকিছু ভালো লাগছে—আমরা সবুজ আলো পেয়েছি, তাই সব ঠিক আছে।
দেখা যাক যদি |_+_| সম্মত:
|_ + _ |
এটা আমরা কি সেট আপ প্রতিফলিত. আমরা [sshd] নামে একটি একক জেল চালু করেছি। আমরা যদি আমাদের পূর্ববর্তী আদেশের সাথে কারাগারের নাম অন্তর্ভুক্ত করি তবে আমরা এটিকে আরও গভীরভাবে দেখতে পারি:
|_ + _ |
এটি ব্যর্থতার সংখ্যা এবং নিষিদ্ধ আইপি ঠিকানা তালিকাভুক্ত করে। অবশ্য এই মুহূর্তে সব পরিসংখ্যানই শূন্য।
আমাদের জেল পরীক্ষা করা হচ্ছে
অন্য কম্পিউটারে, আমরা আমাদের পরীক্ষা মেশিনে একটি SSH সংযোগের অনুরোধ করব এবং উদ্দেশ্যমূলকভাবে পাসওয়ার্ডটি ভুল টাইপ করব। প্রতিটি সংযোগ প্রচেষ্টায় পাসওয়ার্ড পাওয়ার জন্য আপনি তিনটি প্রচেষ্টা পাবেন।
বিজ্ঞাপন|_+_| তিনটি ব্যর্থ সংযোগ প্রচেষ্টার পরে মান ট্রিগার হবে, তিনটি ব্যর্থ পাসওয়ার্ড প্রচেষ্টা নয়। সুতরাং, সংযোগের প্রচেষ্টা ব্যর্থ করতে আমাদের তিনবার একটি ভুল পাসওয়ার্ড টাইপ করতে হবে।
তারপরে আমরা আরেকটি সংযোগের চেষ্টা করব এবং পাসওয়ার্ডটি আরও তিনবার ভুল টাইপ করব। তৃতীয় সংযোগের অনুরোধের প্রথম ভুল পাসওয়ার্ড প্রচেষ্টা |_+_| ট্রিগার করা উচিত
তৃতীয় সংযোগের অনুরোধে প্রথম ভুল পাসওয়ার্ডের পরে, আমরা দূরবর্তী মেশিন থেকে কোনও প্রতিক্রিয়া পাই না। আমরা কোন ব্যাখ্যা পাই না; আমরা শুধু ঠান্ডা কাঁধ পেতে.
কমান্ড প্রম্পটে ফিরে যেতে আপনাকে অবশ্যই Ctrl+C টিপুন। যদি আমরা আরও একবার চেষ্টা করি, আমরা একটি ভিন্ন প্রতিক্রিয়া পাব:
|_ + _ |
পূর্বে, ত্রুটি বার্তাটি ছিল অনুমতি অস্বীকার করা হয়েছে। এই সময়, সংযোগ সরাসরি প্রত্যাখ্যান করা হয়. আমরা ব্যক্তিত্বহীন। আমাদের নিষিদ্ধ করা হয়েছে।
আসুন আবার [sshd] জেলের বিবরণ দেখি:
|_ + _ |
তিনটি ব্যর্থতা ছিল, এবং একটি আইপি ঠিকানা (192.168.4.25) নিষিদ্ধ করা হয়েছিল।
আমরা পূর্বে উল্লেখ করেছি, |_+_| ফায়ারওয়াল রুলসসেটে নিয়ম যোগ করে নিষেধাজ্ঞা জারি করে। আসুন নিয়ম সেটটি আরেকবার দেখে নেওয়া যাক (এটি আগে খালি ছিল):
|_ + _ |
INPUT নীতিতে একটি নিয়ম যোগ করা হয়েছে, SSH ট্রাফিক পাঠাচ্ছে |_+_| চেইন নিয়ম |_+_| চেইন 192.168.4.25 থেকে SSH সংযোগ প্রত্যাখ্যান করে। |
আপনি যদি একটি দীর্ঘ নিষেধাজ্ঞার সময়কাল সেট করেন (যেমন কয়েক ঘন্টা), কিন্তু একটি আইপি ঠিকানাকে শীঘ্রই অন্য সংযোগের অনুরোধ করার অনুমতি দিতে চান, আপনি তাড়াতাড়ি এটি প্যারোল করতে পারেন।
আমরা এটি করতে নিম্নলিখিত টাইপ:
|_ + _ |
আমাদের দূরবর্তী কম্পিউটারে, আমরা যদি অন্য SSH সংযোগের অনুরোধ করি এবং সঠিক পাসওয়ার্ড টাইপ করি, তাহলে আমাদের সংযোগ করার অনুমতি দেওয়া হবে:
|_ + _ |
সহজ এবং কার্যকর
সহজ সাধারণত ভাল, এবং |_+_| একটি চতুর সমস্যার একটি মার্জিত সমাধান. এটি খুব কম কনফিগারেশন নেয় এবং খুব কমই কোনো অপারেশনাল ওভারহেড চাপিয়ে দেয়—আপনার বা আপনার কম্পিউটারে।
সম্পর্কিত: বিকাশকারী এবং উত্সাহীদের জন্য সেরা লিনাক্স ল্যাপটপ
পরবর্তী পড়ুন
ডেভ ম্যাককে প্রথম কম্পিউটার ব্যবহার করেছিলেন যখন পাঞ্চড পেপার টেপ প্রচলিত ছিল এবং তখন থেকেই তিনি প্রোগ্রামিং করছেন। আইটি শিল্পে 30 বছরেরও বেশি সময় পরে, তিনি এখন একজন পূর্ণকালীন প্রযুক্তি সাংবাদিক। তার কর্মজীবনে, তিনি একজন ফ্রিল্যান্স প্রোগ্রামার, একটি আন্তর্জাতিক সফ্টওয়্যার ডেভেলপমেন্ট টিমের ম্যানেজার, একটি আইটি পরিষেবা প্রকল্প ব্যবস্থাপক এবং সম্প্রতি, একজন ডেটা সুরক্ষা অফিসার হিসাবে কাজ করেছেন। তার লেখা Howtogeek.com, cloudsavvyit.com, itenterpriser.com এবং opensource.com দ্বারা প্রকাশিত হয়েছে। ডেভ একজন লিনাক্স ধর্মপ্রচারক এবং ওপেন সোর্স অ্যাডভোকেট।
সম্পূর্ণ বায়ো পড়ুন