ஹடூப் முன் தேவைகள் மற்றும் பாதுகாப்பு கடினப்படுத்துதல் அமைத்தல் - பகுதி 2


ஹடூப் கிளஸ்டர் கட்டிடம் என்பது ஒரு படிப்படியான செயல்முறையாகும், அங்கு தேவையான சேவையகங்களை வாங்குவது, ரேக், கேபிளிங் போன்றவற்றில் ஏற்றுவது மற்றும் டேட்டாசென்டரில் வைப்பது போன்ற செயல்முறைகள் தொடங்குகின்றன. நாம் OS ஐ நிறுவ வேண்டும், கொத்து அளவு பெரியதாக இருந்தால் நிகழ்நேர சூழலில் கிக்ஸ்டார்ட்டைப் பயன்படுத்தி இதைச் செய்யலாம். OS நிறுவப்பட்டதும், நாங்கள் ஹடூப் நிறுவலுக்கான சேவையகத்தைத் தயாரிக்க வேண்டும், மேலும் அமைப்பின் பாதுகாப்புக் கொள்கைகளின்படி சேவையகங்களைத் தயாரிக்க வேண்டும்.

  • ஹண்டூப் சேவையகத்தை CentOS/RHEL 7 இல் பயன்படுத்துவதற்கான சிறந்த நடைமுறைகள் - பகுதி 1

இந்த கட்டுரையில், கிளவுட்ரா பரிந்துரைத்த ஓஎஸ்-நிலை முன் தேவைகள் வழியாக செல்வோம். மேலும், உற்பத்தி சேவையகங்களுக்கான சிஐஎஸ் பெஞ்ச்மார்க் படி சில முக்கியமான பாதுகாப்பு கடினப்படுத்துதல் உதவிக்குறிப்புகளை நாங்கள் முன்னிலைப்படுத்தியுள்ளோம். இந்த பாதுகாப்பு கடினப்படுத்துதல் தேவைகளுக்கு ஏற்ப வேறுபட்டதாக இருக்கும்.

கிளவுட்ரா ஹடூப் முன் தேவைகளை அமைத்தல்

இங்கே, கிளவுட்ரா பரிந்துரைத்த OS- நிலை முன் தேவைகளைப் பற்றி விவாதிப்போம்.

இயல்பாக, லினக்ஸ் கணினிகளில் வெளிப்படையான பெரிய பக்கம் (THP) இயக்கப்பட்டிருக்கிறது, அவை ஹடூப் பணிச்சுமைகளுடன் மோசமாக தொடர்பு கொள்கின்றன, மேலும் இது கிளஸ்டரின் ஒட்டுமொத்த செயல்திறனைக் குறைக்கிறது. எனவே பின்வரும் எதிரொலி கட்டளையைப் பயன்படுத்தி உகந்த செயல்திறனை அடைய இதை முடக்க வேண்டும்.

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

முன்னிருப்பாக, பெரும்பாலான லினக்ஸ் கணினிகளுக்கு vm.swappiness மதிப்பு 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 ஐ இயக்குவது ஹடூப்பிற்கு ஒரு தடையாக இருக்கும், மேலும் இது செயல்திறன் சிக்கல்களை ஏற்படுத்தும்.

கீழே உள்ள கட்டளையைப் பயன்படுத்தி SELinux இன் நிலையை நீங்கள் சரிபார்க்கலாம்.

# sestatus

இப்போது,/etc/selinux/config கோப்பைத் திறந்து, காட்டப்பட்டுள்ளபடி SELINUX ஐ முடக்கவும்.

SELinux=disabled

SELinux ஐ முடக்கிய பிறகு, கணினியை செயலில் வைக்க நீங்கள் மீண்டும் துவக்க வேண்டும்.

# reboot

ஹடூப் கிளஸ்டரில், கடிகார ஆஃப்செட் பிழைகளைத் தவிர்க்க அனைத்து சேவையகங்களும் நேர ஒத்திசைக்கப்பட வேண்டும். RHEL/CentOS 7 நெட்வொர்க் கடிகாரம்/நேர ஒத்திசைவுக்காக க்ரோனிட் உள்ளமைக்கப்பட்டுள்ளது, ஆனால் கிளவுட்ரா என்டிபி பயன்படுத்த பரிந்துரைக்கிறது.

நாம் என்டிபி நிறுவி அதை கட்டமைக்க வேண்டும். நிறுவப்பட்டதும், ‘குரோனிட்’ நிறுத்தி முடக்கவும். ஏனெனில், ஒரு சேவையகம் என்டிபிடி மற்றும் க்ரோனிட் இரண்டையும் இயக்கும் பட்சத்தில், கிளவுட்ரா மேலாளர் நேர ஒத்திசைவுக்கு க்ரோனிடைக் கருத்தில் கொள்வார், பின்னர் நாம் என்டிபி மூலம் ஒத்திசைக்கப்பட்ட நேரம் இருந்தாலும் அது ஒரு பிழையை எறியும்.

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

நாம் மேலே குறிப்பிட்டுள்ளபடி, நாங்கள் ntpd ஐப் பயன்படுத்துவதால் எங்களுக்கு குரோனிட் செயலில் தேவையில்லை. குரோனிட்டின் நிலையை சரிபார்த்து, அது நிறுத்தப்பட்டு முடக்கப்பட்டிருந்தால். இயல்பாக, OS நிறுவலுக்குப் பிறகு அதைத் தொடங்கும் வரை, குரோனிட் நிறுத்தப்படும், பாதுகாப்பான பக்கத்திற்கு முடக்க வேண்டும்.

# systemctl status chronyd
# systemctl disable chronyd

ஹோஸ்ட்பெயரை FQDN (முழு தகுதி வாய்ந்த டொமைன் பெயர்) உடன் அமைக்க வேண்டும். ஒவ்வொரு சேவையகத்திற்கும் தனித்துவமான நியமன பெயர் இருக்க வேண்டும். ஹோஸ்ட்பெயரைத் தீர்க்க, நாம் DNS அல்லது/etc/host களை கட்டமைக்க வேண்டும். இங்கே, நாம்/etc/host களை கட்டமைக்கப் போகிறோம்.

ஒவ்வொரு சேவையகத்தின் ஐபி முகவரி மற்றும் FQDN அனைத்து சேவையகங்களின்/etc/ஹோஸ்ட்களில் உள்ளிட வேண்டும். கிளவுட்ரா மேலாளர் மட்டுமே அனைத்து சேவையகங்களையும் அதன் ஹோஸ்ட்பெயருடன் தொடர்பு கொள்ள முடியும்.

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

அடுத்து,/etc/புரவலன் கோப்பை உள்ளமைக்கவும். எடுத்துக்காட்டுக்கு: - 2 முதுநிலை மற்றும் 3 தொழிலாளர்களுடன் 5 முனை கிளஸ்டர் இருந்தால், கீழே/etc/புரவலர்களை உள்ளமைக்கலாம்.

ஹடூப் ஜாவாவால் ஆனது என்பதால், எல்லா ஹோஸ்ட்களும் பொருத்தமான பதிப்பைக் கொண்டு ஜாவாவை நிறுவியிருக்க வேண்டும். இங்கே நாம் OpenJDK ஐ பெறப்போகிறோம். முன்னிருப்பாக, கிளவுட்ரா மேலாளர் ஆரக்கிள்ஜெடிகேவை நிறுவுவார், ஆனால், கிளவுட்ரா ஓபன்ஜெடிகேவை பரிந்துரைக்கிறார்.

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

ஹடூப் பாதுகாப்பு மற்றும் கடினப்படுத்துதல்

இந்த பிரிவில், நாங்கள் ஹார்டன் ஹடூப் சுற்றுச்சூழல் பாதுகாப்புக்கு செல்வோம்…

யூ.எஸ்.பி, சி.டி/டிவிடி போன்ற இயற்பியல் சாதனங்களை தானாக ஏற்றுவதற்கு ‘ஆட்டோஃப்ஸ்’ தானாகவே அனுமதிக்கிறது. உடல் அணுகல் உள்ள பயனர் செருகும் தரவை அணுக அவர்களின் யூ.எஸ்.பி அல்லது எந்த சேமிப்பக ஊடகத்தையும் இணைக்க முடியும். முடக்கப்பட்டுள்ளதா இல்லையா என்பதை சரிபார்க்க கீழேயுள்ள கட்டளைகளைப் பயன்படுத்தவும்.

# systemctl disable autofs
# systemctl is-enabled autofs

துவக்க விருப்பங்களைத் திறக்க துவக்க அமைப்புகள் மற்றும் நற்சான்றிதழ்கள் பற்றிய முக்கியமான தகவல்களை க்ரப் உள்ளமைவு கோப்பில் கொண்டுள்ளது. Grub config கோப்பு ‘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

Prelink என்பது ஒரு மென்பொருள் நிரலாகும், இது தீங்கிழைக்கும் பயனர்கள் libc போன்ற பொதுவான நூலகங்களை சமரசம் செய்ய முடிந்தால் சேவையகத்தில் பாதிப்பை அதிகரிக்கும்.

அதை அகற்ற கீழே உள்ள கட்டளையைப் பயன்படுத்தவும்.

# yum remove prelink

சாத்தியமான தாக்குதல்களைத் தவிர்க்க சில சேவைகள்/நெறிமுறைகளை முடக்குவதை நாங்கள் கருத்தில் கொள்ள வேண்டும்.

# systemctl disable <service name>

  • பிணைய சேவைகளை முடக்கு - பிணைய சேவைகளை உறுதிசெய்க - கட்டணங்கள், பகல்நேரம், நிராகரித்தல், எதிரொலி, நேரம் இயக்கப்படவில்லை. இந்த நெட்வொர்க் சேவைகள் பிழைதிருத்தம் மற்றும் சோதனைக்கானவை, தொலைதூர தாக்குதலைக் குறைக்கக்கூடிய முடக்க பரிந்துரைக்கப்படுகிறது.
  • TFTP & FTP ஐ முடக்கு - தரவு அல்லது நற்சான்றிதழ்களின் இரகசியத்தன்மையை நெறிமுறை இரண்டும் ஆதரிக்காது. வெளிப்படையாகத் தேவைப்படாவிட்டால் சேவையகத்தில் இல்லாதது சிறந்த நடைமுறை. பெரும்பாலும் இந்த நெறிமுறைகள் கோப்பு சேவையகங்களில் நிறுவப்பட்டு இயக்கப்பட்டன.
  • DHCP ஐ முடக்கு - DHCP என்பது ஐபி முகவரியை மாறும் ஒதுக்கீடு செய்யும் நெறிமுறை. சாத்தியமான தாக்குதல்களைத் தவிர்க்க இது ஒரு DHCP சேவையகமாக இல்லாவிட்டால் முடக்க பரிந்துரைக்கப்படுகிறது.
  • HTTP ஐ முடக்கு - HTTP என்பது வலை உள்ளடக்கத்தை ஹோஸ்ட் செய்ய பயன்படுத்தக்கூடிய நெறிமுறை. மாஸ்டர்/மேனேஜ்மென்ட் சேவையகங்களைத் தவிர (சேவைகளின் வெப்யூஐ முதல்வர், சாயல் போன்றவற்றை உள்ளமைக்க வேண்டும்), சாத்தியமான தாக்குதல்களைத் தவிர்க்கக்கூடிய பிற பணியாளர் முனைகளில் HTTP ஐ முடக்கலாம்.

சுருக்கம்

கிளவுட்ரா ஹடூப் முன் தேவைகள் மற்றும் சில பாதுகாப்பு கடினப்படுத்துதல்களைக் கொண்ட சேவையக தயாரிப்பு மூலம் நாங்கள் சென்றுள்ளோம். ஹடூப்பை சீராக நிறுவுவதற்கு கிளவுட்ராவால் வரையறுக்கப்பட்ட ஓஎஸ் நிலை முன் தேவைகள் கட்டாயமாகும். வழக்கமாக, சிஐஎஸ் பெஞ்ச்மார்க்கைப் பயன்படுத்தி ஒரு கடினமாக்கல் ஸ்கிரிப்ட் தயாரிக்கப்பட்டு, நிகழ்நேரத்தில் இணங்காததைத் தணிக்கை செய்து சரிசெய்யப் பயன்படும்.

CentOS/RHEL 7 இன் குறைந்தபட்ச நிறுவலில், அடிப்படை செயல்பாடுகள்/மென்பொருள் மட்டுமே நிறுவப்பட்டுள்ளன, இது தேவையற்ற ஆபத்து மற்றும் பாதிப்புகளைத் தவிர்க்கும். இது குறைந்தபட்ச நிறுவலாக இருந்தாலும், ஹடூப்பை நிறுவுவதற்கு முன்பு, கிளஸ்டரை உருவாக்கிய பிறகும், கிளஸ்டரை ஆபரேஷன்/உற்பத்திக்கு நகர்த்துவதற்கு முன்பு, பாதுகாப்பு தணிக்கையின் பல மறு செய்கைகள் செய்யப்படும்.