হ্যাডোপ প্রাক-প্রয়োজনীয়তা এবং সুরক্ষা কঠোরতা স্থাপন - অংশ 2


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

  • সেন্টোস/আরএইচএল 7 - পর্ব 1 এ হ্যাডোপ সার্ভার স্থাপনের জন্য সেরা অভ্যাসগুলি

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

ক্লৌডের হ্যাডোপ প্রাক-প্রয়োজনীয় সেট আপ করা হচ্ছে

এখানে, আমরা ক্লৌডেরার দ্বারা প্রস্তাবিত ওএস-স্তরের প্রাক-প্রয়োজনীয়তাগুলি নিয়ে আলোচনা করব।

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

# echo never > /sys/kernel/mm/transparent_hugepage/enabled 
# echo never > /sys/kernel/mm/transparent_hugepage/defrag 

ডিফল্টরূপে, বেশিরভাগ লিনাক্স মেশিনের জন্য vm.swppiness মান 30 বা 60 হয়।

# sysctl vm.swappiness

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

# sysctl vm.swappiness=1

অথবা, আপনি ফাইলটি /etc/sysctl.conf খুলতে এবং শেষে "vm.swappiness = 1" যুক্ত করতে পারেন।

vm.swappiness=1

প্রতিটি হ্যাডোপ সার্ভারের একাধিক পরিষেবাদি (ডেমন) এর সাথে চলার সাথে নিজস্ব দায়বদ্ধতা থাকবে। সমস্ত সার্ভারগুলি বিভিন্ন উদ্দেশ্যে নিয়মিত একে অপরের সাথে যোগাযোগ করবে।

উদাহরণস্বরূপ, ডেটানোড প্রতি 3 সেকেন্ডের জন্য নেমনোডকে একটি হার্টবিট প্রেরণ করবে যাতে নেমননোড নিশ্চিত করবে যে ডেটানোড বেঁচে রয়েছে।

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

# iptables-save > ~/firewall.rules
# systemctl stop firewalld
# systemctl disable firewall

যদি আমরা SELinux সক্ষম করে রাখি তবে এটি হ্যাডোপ ইনস্টল করার সময় সমস্যা সৃষ্টি করবে। হাদুপ যেমন একটি ক্লাস্টার কম্পিউটিং, ক্লোডেরা ম্যানেজার হডোপ এবং তার পরিষেবাগুলি ইনস্টল করতে ক্লাস্টারের সমস্ত সার্ভারে পৌঁছে যাবে এবং এটি যেখানে প্রয়োজন সেখানে প্রয়োজনীয় পরিষেবা ডিরেক্টরি তৈরি করবে।

যদি SELinux সক্ষম করা থাকে তবে এটি ক্লৌডের ম্যানেজারটিকে ইনস্টলেশনটি যেমনটি চায় তেমন করতে দেয় না। সুতরাং, সেলিনাক্স সক্ষম করা হাদোপের প্রতিবন্ধক হবে এবং এটি কার্য সম্পাদন সংক্রান্ত সমস্যার কারণ হয়ে দাঁড়াবে।

আপনি নীচের কমান্ডটি ব্যবহার করে SELinux এর স্থিতি পরীক্ষা করতে পারেন।

# sestatus

এখন,/ইত্যাদি/সেলিনাক্স/কনফিগারেশন ফাইলটি খুলুন এবং সেলিনাক্সটি প্রদর্শিত হিসাবে অক্ষম করুন।

SELinux=disabled

SELinux নিষ্ক্রিয় করার পরে, সিস্টেমটি সক্রিয় করতে আপনাকে পুনরায় বুট করা দরকার।

# reboot

হডোপ ক্লাস্টারে ক্লক অফসেট ত্রুটিগুলি এড়াতে সমস্ত সার্ভারকে টাইম সিঙ্ক্রোনাইজ করা উচিত। RHEL/CentOS 7 এ নেটওয়ার্ক ক্লক/টাইম সিঙ্ক্রোনাইজেশনের জন্য ক্রোনাইড ইনবিল্ট রয়েছে, তবে ক্লৌডেরা এনটিপি ব্যবহারের পরামর্শ দেয়।

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

# yum -y install ntp
# systemctl start ntpd
# systemctl enable ntpd
# systemctl status ntpd

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

# systemctl status chronyd
# systemctl disable chronyd

আমাদের এফকিউডিএন (পুরোপুরি যোগ্যতাযুক্ত ডোমেন নাম) দিয়ে হোস্টনামটি সেট করতে হবে। প্রতিটি সার্ভারের একটি অনন্য ক্যানোনিকাল নাম থাকা উচিত। হোস্টনামটি সমাধান করার জন্য, আমাদের ডিএনএস বা/ইত্যাদি/হোস্টগুলি কনফিগার করতে হবে। এখানে, আমরা/ইত্যাদি/হোস্ট কনফিগার করতে যাচ্ছি।

প্রতিটি সার্ভারের আইপি ঠিকানা এবং এফকিউডিএন সমস্ত সার্ভারের/ইত্যাদি/হোস্টগুলিতে প্রবেশ করানো উচিত। তারপরে কেবল ক্লৌডের ম্যানেজার তার সার্ভারের হোস্টনামের সাথে যোগাযোগ করতে পারে।

# hostnamectl set-hostname master1.linux-console.net

এরপরে,/ইত্যাদি/হোস্ট ফাইল কনফিগার করুন। উদাহরণস্বরূপ: - যদি আমাদের কাছে 2 জন মাস্টার এবং 3 জন কর্মী সহ নোড ক্লাস্টার থাকে তবে আমরা নীচে হিসাবে/ইত্যাদি/হোস্টগুলি কনফিগার করতে পারি।

হাদুপ যেমন জাভা দ্বারা তৈরি, সমস্ত হোস্টের যথাযথ সংস্করণ সহ জাভা ইনস্টল করা উচিত। এখানে আমরা ওপেনজেডিকে যাব। ডিফল্টরূপে, ক্লৌদেরা ম্যানেজার ওরাকলজেডিকে ইনস্টল করবেন তবে, ক্লৌডেরা ওপেনজেডিকে রাখার পরামর্শ দিয়েছেন।

# yum -y install java-1.8.0-openjdk-devel
# java -version

হাদুপ সুরক্ষা এবং কঠোরতা

এই বিভাগে, আমরা হার্ডডেন হ্যাডোপ পরিবেশ সুরক্ষা যাব…

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

# systemctl disable autofs
# systemctl is-enabled autofs

গ্রাব কনফিগারেশন ফাইল বুট সেটিংস এবং বুট বিকল্পগুলি আনলক করতে শংসাপত্রগুলির সমালোচনা সংক্রান্ত তথ্য ধারণ করে। গ্রাব কনফিগারেশন ফাইলটি ‘grub.cfg’/boot/grub2 এ অবস্থিত এবং এটিকে /etc/grub2.conf হিসাবে যুক্ত করা হয়েছে এবং grub.cfg রুট ব্যবহারকারীদের মালিকানা নিশ্চিত করেছে।

# cd /boot/grub2

ইউআইডি এবং জিড উভয়ই 0/মূল এবং 'গ্রুপ' বা 'অন্যান্য' উভয়ই যাচাই করতে নীচের কমান্ডটি ব্যবহার করুন কোনও অনুমতি থাকা উচিত নয়।

# stat /boot/grub2/grub.cfg

অন্যান্য এবং গোষ্ঠী থেকে অনুমতিগুলি সরাতে নীচের কমান্ডটি ব্যবহার করুন।

# chmod og-rwx /boot/grub2/grub.cfg

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

পাসওয়ার্ড সেট করতে নীচের কমান্ডটি ব্যবহার করুন।

# grub2-mkpasswd-pbkdf2

উপরের তৈরি পাসওয়ার্ডটি /etc/grub.d/01_users ফাইলে যুক্ত করুন।

এরপরে গ্রাব কনফিগারেশন ফাইলটি পুনরায় তৈরি করুন।

# grub2-mkconfig > /boot/grub2/grub.cfg

প্রিলিংক একটি সফ্টওয়্যার প্রোগ্রাম যা কোনও সার্ভারে দুর্বলতা বাড়িয়ে তুলতে পারে যদি দূষিত ব্যবহারকারীরা সাধারণ লাইব্রেরি যেমন libc তে আপস করতে পারে।

এটি সরাতে নীচের কমান্ডটি ব্যবহার করুন।

# yum remove prelink

সম্ভাব্য আক্রমণ এড়াতে আমাদের কিছু পরিষেবা/প্রোটোকল অক্ষম করার কথা বিবেচনা করা উচিত।

# systemctl disable <service name>

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

সারসংক্ষেপ

আমরা সার্ভার প্রস্তুতির মধ্য দিয়ে চলেছি যা ক্লৌডেরা হাদোপ প্রাক-প্রয়োজনীয়তা এবং কিছু সুরক্ষা কঠোর করে নিয়ে থাকে। ক্লোডেরার দ্বারা নির্ধারিত ওএস স্তরের প্রাক-প্রয়োজনীয়তা হাদুপের সুষ্ঠু ইনস্টলেশনটির জন্য বাধ্যতামূলক। সাধারণত, সিআইএস বেঞ্চমার্ক ব্যবহার করে একটি কঠোর স্ক্রিপ্ট প্রস্তুত করা হবে এবং রিয়েল-টাইমে অ-কমপ্লায়েন্স নিরীক্ষণ এবং পুনরায় কাজ করার জন্য ব্যবহৃত হবে।

CentOS/RHEL 7 এর একটি সর্বনিম্ন ইনস্টলেশনে, কেবলমাত্র মৌলিক কার্যকারিতা/সফ্টওয়্যার ইনস্টল করা থাকে, এটি অযাচিত ঝুঁকি এবং দুর্বলতাগুলি এড়াতে পারে। যদিও এটি ন্যূনতম ইনস্টলেশন হলেও সুরক্ষা অডিটিংয়ের একাধিক পুনরাবৃত্তি হডোপ ইনস্টল করার আগে, ক্লাস্টারটি অপারেশন/প্রোডাকশনে স্থান দেওয়ার আগে, ক্লাস্টার তৈরির পরেও করা হবে।