20 সেন্টস সার্ভার কঠোর করার সুরক্ষা টিপস - পার্ট 1


এই টিউটোরিয়ালটিতে কেবল CentOS 8/7 এর জন্য সাধারণ সুরক্ষা টিপস রয়েছে যা সিস্টেমটিকে শক্ত করতে ব্যবহৃত হতে পারে। চেকলিস্ট টিপসটি বেশিরভাগ ধরণের বেয়ার-মেটাল সার্ভারে বা নেটওয়ার্ক পরিষেবাদি সরবরাহকারী মেশিনগুলিতে (শারীরিক বা ভার্চুয়াল) ব্যবহৃত হতে পারে।

যাইহোক, কিছু টিপস সাধারণ-উদ্দেশ্যে মেশিনগুলিতেও সফলভাবে প্রয়োগ করা যেতে পারে, যেমন ডেস্কটপ, ল্যাপটপ এবং কার্ড-আকারের একক-বোর্ড কম্পিউটারগুলি (রাস্পবেরি পাই)।

  • CentOS 8 ন্যূনতম ইনস্টলেশন
  • CentOS 7 ন্যূনতম ইনস্টলেশন

1. শারীরিক সুরক্ষা

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

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

2. গুপ্তচরবৃত্তি প্রভাব হ্রাস

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

3. সুরক্ষিত BIOS/UEFI

BIOS/UEFI সেটিংস সুরক্ষিত করে আপনার মেশিনকে শক্ত করার প্রক্রিয়া শুরু করুন, বিশেষত কোনও BIOS/UEFI পাসওয়ার্ড সেট করুন এবং কোনও সিস্টেম অনিয়ন্ত্রিত ব্যবহারকারীদের সিস্টেম BIOS সেটিংস পরিবর্তন করতে বা পরিবর্তন করতে বাধা দেওয়ার জন্য বুট মিডিয়া ডিভাইসগুলি (সিডি, ডিভিডি, অক্ষম ইউএসবি সমর্থন) অক্ষম করুন বুট ডিভাইসটির অগ্রাধিকার এবং বিকল্প মাধ্যম থেকে মেশিন বুট করা।

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

4. নিরাপদ বুট লোডার

কার্নেল বুট ক্রম বা রান লেভেলগুলি চালানোর জন্য দূষিত ব্যবহারকারীদের প্রতিরোধ করতে, কার্নেল প্যারামিটারগুলি সম্পাদনা করতে বা সিস্টেমকে একক-ব্যবহারকারী মোডে প্রারম্ভিক করার জন্য একটি সুবিধাপ্রাপ্ত নিয়ন্ত্রণ পেতে রুট পাসওয়ার্ডটি পুনরায় সেট করতে একটি GRUB পাসওয়ার্ড সেট করুন।

5. পৃথক ডিস্ক পার্টিশন ব্যবহার করুন

প্রোডাকশন সার্ভার হিসাবে চিহ্নিত সিস্টেমে CentOS ইনস্টল করার সময় সিস্টেমের নিম্নলিখিত অংশগুলির জন্য ডেডিকেটেড পার্টিশন বা ডেডিকেটেড হার্ড ডিস্ক ব্যবহার করুন:

/(root) 
/boot  
/home  
/tmp 
/var 

Red. রিডানডেন্সি এবং ফাইল সিস্টেম বৃদ্ধির জন্য এলভিএম এবং রেড ব্যবহার করুন

/ Var পার্টিশনটি সেই জায়গা যেখানে লগ বার্তা ডিস্কে লেখা হয়। সিস্টেমের এই অংশটি ভারী ট্র্যাফিক সার্ভারগুলিতে আকারে দ্রুত বৃদ্ধি করতে পারে যা ওয়েব সার্ভার বা ফাইল সার্ভারের মতো নেটওয়ার্ক পরিষেবাদি প্রকাশ করে।

সুতরাং,/var এর জন্য একটি বৃহত পার্টিশন ব্যবহার করুন বা লজিক্যাল ভলিউম (LVM) ব্যবহার করে এই পার্টিশনটি স্থাপনের কথা বিবেচনা করুন বা প্রচুর ফিজিক্যাল ডিস্ককে এক বৃহত ভার্চুয়াল RAID 0 ডিভাইসে একত্রিত করে প্রচুর পরিমাণে ডেটা বজায় রাখতে পারেন। ডেটাগুলির জন্য, অতিরিক্তভাবে RAID 1 স্তরের শীর্ষে LVM লেআউটটি ব্যবহার করার বিষয়ে বিবেচনা করুন।

ডিস্কগুলিতে LVM বা RAID স্থাপনের জন্য, আমাদের দরকারী গাইড অনুসরণ করুন:

  1. লিনাক্সে এলভিএম সহ ডিস্ক স্টোরেজ সেটআপ করুন
  2. ভিজক্রিয়েট, লভ্যাক্রেট এবং লেভেক্স্যান্ড ব্যবহার করে এলভিএম ডিস্ক তৈরি করুন
  3. একাধিক ডিস্ককে একটি বৃহত ভার্চুয়াল স্টোরেজে একত্রিত করুন
  4. লিনাক্সে দুটি ডিস্ক ব্যবহার করে RAID 1 তৈরি করুন

7. ডাটা পার্টিশন সুরক্ষিত করার জন্য fstab বিকল্পগুলি পরিবর্তন করুন

ডাটা স্টোর করার জন্য পৃথক পৃথক পার্টিশন এবং প্রোগ্রামগুলি, ডিভাইস ফাইলগুলি প্রয়োগ করতে বা এই ধরণের পার্টিশনের উপর সেটউইড বিটকে নিচের অংশে বর্ণিত উদাহরণ হিসাবে fstab ফাইলটিতে নিম্নলিখিত বিকল্পগুলি যুক্ত করে প্রতিরোধ করতে হবে:

/dev/sda5 	 /nas          ext4    defaults,nosuid,nodev,noexec 1 2

বিশেষাধিকার-বৃদ্ধি এবং স্বেচ্ছাসেবী স্ক্রিপ্ট কার্যকরকরণ প্রতিরোধের জন্য/tmp এর জন্য একটি পৃথক পার্টিশন তৈরি করুন এবং এটিকে nosuid, nodev এবং noexec হিসাবে মাউন্ট করুন।

/dev/sda6  	/tmp         ext4    defaults,nosuid,nodev,noexec 0 0

৮. ব্লক পর্যায়ে হার্ড ডিস্কগুলিকে LUKS দিয়ে এনক্রিপ্ট করুন

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

9. পিজিপি এবং পাবলিক-কী ক্রিপ্টোগ্রাফি ব্যবহার করুন

ডিস্কগুলি এনক্রিপ্ট করার জন্য, এই নিবন্ধে এনক্রিপ্ট হওয়া লিনাক্স সিস্টেম স্টোরেজ কনফিগার করে যেমন সংবেদনশীল ফাইলগুলি এনক্রিপ্ট এবং ডিক্রিপ্ট করতে পিজিপি এবং সর্বজনীন কী ক্রিপ্টোগ্রাফি বা ওপেনএসএসএল কমান্ডটি ব্যবহার করুন।

১০. প্রয়োজনীয় প্যাকেজগুলির কেবলমাত্র সর্বনিম্ন পরিমাণ ইনস্টল করুন

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

১১. ঘন ঘন সিস্টেম আপডেট করুন

নিয়মিত সিস্টেম আপডেট করুন। নীচের কমান্ডটি জারি করে লিনাক্স কার্নেলটি সর্বশেষ সুরক্ষা প্যাচগুলি এবং সমস্ত ইনস্টল করা সফ্টওয়্যারকে সর্বশেষ সংস্করণগুলির সাথে সামঞ্জস্য রাখুন:

# yum update

12. Ctrl + Alt + Del অক্ষম করুন

ব্যবহারকারীরা একবার কীবোর্ডে বা রিমোট কনসোল অ্যাপ্লিকেশন বা ভার্চুয়ালাইজড কনসোলের মাধ্যমে (কেভিএম, ভার্চুয়ালাইজিং সফ্টওয়্যার ইন্টারফেস) শারীরিক অ্যাক্সেস পাওয়ার পরে সার্ভারটি পুনরায় বুট করতে বাধা দিতে আপনার Ctrl + Alt + Del কী অক্ষম করতে হবে নীচের কমান্ডটি কার্যকর করে ক্রম।

# systemctl mask ctrl-alt-del.target 

13. অপ্রয়োজনীয় সফ্টওয়্যার প্যাকেজগুলি সরান

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

নিম্নলিখিত কমান্ডগুলির মধ্যে একটি ব্যবহার করে ইনস্টল করা প্যাকেজগুলি যাচাই করুন:

# rpm -qa

সমস্ত ইনস্টল করা প্যাকেজগুলির স্থানীয় তালিকা তৈরি করুন।

# yum list installed >> installed.txt

অকেজো সফটওয়্যারগুলির জন্য তালিকার সাথে পরামর্শ করুন এবং নীচের কমান্ডটি জারি করে একটি প্যাকেজ মুছুন:

# yum remove package_name

14. ডেমন আপডেটের পরে সিস্টেমযুক্ত পরিষেবাদি পুনরায় চালু করুন

নতুন আপডেট প্রয়োগ করার জন্য একটি সিস্টেমযুক্ত পরিষেবা পুনরায় চালু করতে নীচের কমান্ডের উদাহরণটি ব্যবহার করুন।

# systemctl restart httpd.service

15. অপ্রয়োজনীয় পরিষেবাগুলি সরান

নিম্নলিখিত ss কমান্ডটি ব্যবহার করে নির্দিষ্ট পোর্টগুলিতে যে পরিষেবাগুলি শোনা যাচ্ছে সেগুলি সনাক্ত করুন।

# ss -tulpn

সমস্ত ইনস্টল করা পরিষেবাগুলি তাদের আউটপুট স্থিতির সাথে নীচের আদেশটি ইস্যু করে তালিকাবদ্ধ করতে:

# systemctl list-units -t service

উদাহরণস্বরূপ, CentOS ডিফল্ট ন্যূনতম ইনস্টলেশনটি পোস্টফিক্স ডেমনটি ডিফল্টরূপে ইনস্টল করা সাথে আসে যা পোর্ট 25 এর অধীনে একটি মাস্টারের নামে চালিত হয় your

# yum remove postfix

16. প্রেরিত ডেটা এনক্রিপ্ট করুন

রিমোট অ্যাক্সেস বা টেলনেট, এফটিপি, বা অন্যান্য সরল পাঠ্য উচ্চ প্রোটোকল যেমন এসএমটিপি, এইচটিটিপি, এনএফএস, বা এসএমবি এর মতো সুরক্ষিত প্রোটোকল ব্যবহার করবেন না যা ডিফল্টরূপে প্রমাণীকরণ সেশনগুলি বা প্রেরিত ডেটা এনক্রিপ্ট করে না।

দূরবর্তী কনসোল সংযোগ বা জিইউআই অ্যাক্সেসের জন্য কেবল ফাইল স্থানান্তরের জন্য এসএসএইচ বা ভিএনসি এসএসএইচ টানেলের উপরে ব্যবহার করুন।

এসএসএইচ দিয়ে একটি ভিএনসি কনসোল সুড়ঙ্গ করার জন্য নীচের উদাহরণটি ব্যবহার করুন যা ভিএনসি পোর্ট 5901 দূরবর্তী মেশিন থেকে আপনার স্থানীয় মেশিনে ফরোয়ার্ড করে:

# ssh -L 5902:localhost:5901 remote_machine

স্থানীয় মেশিনে রিমোট এন্ডপয়েন্টে ভার্চুয়াল সংযোগের জন্য নীচের কমান্ডটি চালান।

# vncviewer localhost:5902

17. নেটওয়ার্ক পোর্ট স্ক্যানিং

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

# nmap -sT -O 192.168.1.10

18. প্যাকেট-ফিল্টারিং ফায়ারওয়াল

সিস্টেম বন্দরগুলি রক্ষা করতে, নির্দিষ্ট পরিষেবা বন্দরগুলি খুলতে বা বন্ধ করতে বিশেষত সুপরিচিত পোর্টগুলি (<1024) রক্ষা করতে ফায়ারওয়াল্ড ইউটিলিটিটি ব্যবহার করুন।

নীচের আদেশগুলি জারি করে ফায়ারওয়াল বিধিগুলি ইনস্টল করুন, শুরু করুন, সক্ষম করুন এবং তালিকাবদ্ধ করুন:

# yum install firewalld
# systemctl start firewalld.service
# systemctl enable firewalld.service
# firewall-cmd --list-all

19. Tcpdump দিয়ে প্রোটোকল প্যাকেটগুলি পরিদর্শন করুন

স্থানীয় প্যাকেটগুলি স্থানীয়ভাবে স্নিগ্ধ করতে tcpdump ইউটিলিটি ব্যবহার করুন এবং সন্দেহজনক ট্র্যাফিকের জন্য তাদের বিষয়বস্তু পরিদর্শন করতে (উত্স-গন্তব্য পোর্টস, টিসিপি/আইপি প্রোটোকল, স্তর দুটি ট্র্যাফিক, অস্বাভাবিক এআরপি অনুরোধ)।

Tcpdump ক্যাপচার করা ফাইলটির আরও ভাল বিশ্লেষণের জন্য ওয়্যারশার্কের মতো আরও উন্নত প্রোগ্রাম ব্যবহার করুন।

# tcpdump -i eno16777736 -w tcpdump.pcap

20. ডিএনএস আক্রমণগুলি প্রতিরোধ করুন

আপনার রেজলভারের বিষয়বস্তুগুলি পরীক্ষা করুন, সাধারণত /etc/resolv.conf ফাইল যা ডিএনএস সার্ভারের আইপি অ্যাড্রেসটিকে ডোমেন নামগুলির জন্য জিজ্ঞাসা করার জন্য ব্যবহার করা উচিত, যাতে ম্যান-ইন-দ্য-মধ্যম আক্রমণগুলি এড়াতে পারে, অপ্রয়োজনীয় ট্র্যাফিক রুট ডিএনএস সার্ভার, স্পষ্ট বা একটি ডস আক্রমণ তৈরি করুন।

এটি ঠিক প্রথম অংশ। পরবর্তী অংশে আমরা CentOS 8/7 এর জন্য অন্যান্য সুরক্ষা টিপস নিয়ে আলোচনা করব।