சொந்த தரவுநிலையங்களிலிருந்து இயக்கினாலும் சரி, மேகக்கணினியிலிருந்து இயக்கினாலும் சரி, நம் செயலிகளின் பாதுகாப்பை உறுதிசெய்யவேண்டியது நமது கடமை. பத்தடி அகலமுள்ள சுவர்களுக்குள் வைத்து, உலகத்தரம்வாய்ந்த பூட்டுகளைகொண்டு பூட்டிவைத்தெல்லாம், இவற்றைப் பாதுகாக்கமுடியாது. நமது செயலியின் சேவையகங்களையும், தரவுதளங்களையும், யாரெல்லாம் அணுகமுடியும், எங்கிருந்து அணுகமுடியும் என்பதுபோன்ற விதிகளை சரியானமுறையில் கட்டமைத்தால் மட்டுமே இது சாத்தியமாகும்.
அமேசானிலுள்ள மேகக்கணினிகளைப் பாதுகாப்பதற்கான வழிமுறைகள்:
- மெய்நிகர் தனிப்பட்ட மேகக்கூட்டம் (Virtual Private Cloud – VPC)
- துணை இணையங்கள் (Subnet)
- பாதுகாப்புக்குழுக்கள் (Security Groups)
- அடையாளம் மற்றும் அணுக்க மேலாண்மை (Identity and Access Management – IAM)
இப்பதிவில் பாதுகாப்புக்குழுக்கள் பற்றியும், பிற வழிமுறைகள் குறித்து வேறொரு பதிவிலும் விளக்கமாக அறிந்துகொள்ளலாம்.
மேகக்கணினிகளுக்கான முதல்நிலை பாதுகாப்பு வளையமாக பாதுகாப்புக்குழுக்கள் விளங்குகின்றன. பாதுகாப்புக்குழுக்கள் மேகக்கணினிகளுக்கான மெய்நிகர் தீச்சுவர்களாகும் (Virtual Firewalls). இவை கணினியின் இணையப்போக்குவரத்தைக் கண்காணிக்கிறது. அனுமதிக்கப்படாத இணைப்புகளின் மூலம் கணினியை அணுகுவதை தடுத்திநிறுத்துகிறது.
ஒவ்வொரு மேகக்கணினியும் குறைந்தபட்சம் ஒரு பாதுகாப்புக்குழுவிலாவது இருக்கவேண்டும். முந்தையபதிவில், நமது முதல் மேகக்கணினியை உருவாக்கும்போது, ஒருபுதிய பாதுகாப்புக்குழுவையும் உருவாக்கியதை நினைவில் கொள்ளவும். மேலும், ஒவ்வொரு பாதுகாப்புக்குழுவிலும் ஒன்றுக்குமேற்பட்ட கணினிகளை இணைத்துக்கொள்ளலாம்.
இனியொரு விதி செய்வோம்
முந்தையபதிவில் உருவாக்கிய பாதுகாப்புக்குழுவிற்கான (MyEC2SecurityGroup) விதிகளைக் காணலாம். மேகக்கணினிக்குள் நுழைவதற்கு SSH நெறிமுறையையும், வலைப்பக்கத்தை அணுகுவதற்காக HTTP, HTTPS நெறிமுறைகளையும் அனுமதித்திருக்கிறோம்.
ஒருவிதியை உருவாக்குவதற்கு நான்குமுக்கிய விசயங்களை வரையறுக்கவேண்டும்.
- நெறிமுறை – Protocol
- வகை – Type
- துறைமுக வரம்பு – Port Range
- இணைப்பின் மூலம் – Source
TCP அல்லது UDP ஆகிய இணையநெறிமுறைகளையும், அவற்றைப்பயன்படுத்தும் SSH, HTTP, DNS போன்ற இன்னும்பல போக்குவரத்துவகைகளையும் அமேசான் அங்கீகரிக்கிறது. மேலும், ஒவ்வொரு விதியிலும், இணையப்போக்குவரத்து எந்த துறைமுகத்தின்வழியாக நிகழவேண்டும் என்பதையும் நாம் வரையறுக்கலாம். 22 என்பது இயல்பாக SSH போக்குவரத்துக்கான துறைமுகமாகும். அதேபோல, HTTPக்கு 80ம் எண்கொண்ட துறைமுகமும், HTTPSக்கு 443ம் எண்கொண்ட துறைமுகமும் நமது விதிகளில் அனுமதிக்கப்பட்டுள்ளன.
IPv4 / IPv6
ஒவ்வொரு வகைப்போக்குவரத்துக்கும் இருவிதிகள் வரையறுக்கப்பட்டிருப்பதைக் கவனிக்கவேண்டும். இவையிரண்டிற்குமான வேறுபாடு அவற்றின் மூலத்தின் வரையறையில் உள்ளது. முதல் விதியிலுள்ள 0.0.0.0 என்பது எல்லா IPv4 முகவரிகளையும் குறிக்கிறது. ::/0 என்பது அனைத்துIPv6 முகவரிகளுக்கான குறியீடு. HTTP வகைப்போக்குவரத்திற்கு இவ்வகை மூலவரையறை மிகப்பொருத்தமானதாகிறது. இணைய இணைப்புள்ள, உலகின் எந்தமூலையிலுள்ள கணினியாக இருந்தாலும், நமது வலைப்பக்கத்தை அணுகமுடியும்.
ஆனால், SSH வகைப்போக்குவரத்திற்கும் இதேபோன்ற வரையறையைப் பயன்படுத்தக்கூடாது. ஒரு குறிப்பிட்ட IP முகவரியையோ, அல்லது ஒரு வரம்புக்குட்பட்ட முகவரிகளையோ மட்டுமே SSHக்கு அனுமதிக்கவேண்டும். IP முகவரிகளின் வரம்புகளைக் குறிப்பிடுவதற்கு CIDR குறியீட்டைப் பயன்படுத்துகிறோம். எடுத்துக்காட்டாக, 10.88.135.144/28 என்பது 10.88.135.145 முதல் 10.88.135.158 வரையிலான பதினாறு முகவரிகளைக் குறிக்கும்.
IP முகவரிகள் மட்டுமல்லாது, வேறொரு பாதுகாப்புக்குழுவையும், செய்திகளின் மூலமாக (Message Source) வரையறுக்கலாம். எடுத்துகாட்டாக, நமது சேவையகங்களை ஒருகுழுவாகவும், தரவுதளங்களை வேறொரு குழுவாகவும் வரையறுக்க முடிவுசெய்கிறோம். ஆனால், சேவையகங்களிலிருந்து, தரவுதளங்களை அணுகவேண்டியது அவசியம். எனவே, அவற்றிலிருந்து வரும் செய்திகளை மட்டும் அனுமதிக்கவேண்டும். இதுபோன்ற தேவைகளுக்கு, பாதுகாப்புக்குழுக்களிலிருந்துவரும் செய்திகளை அனுமதிக்குமாறு விதியை வரையறுப்பது சாலச்சிறந்தது.
இங்கே, sg-xxxxxxxx என்பது பாதுகாப்புக்குழுவின் அடையாள எண்.
இயல்நிலை
ஒரு புதியபாதுகாப்புக்குழுவின் இயல்புநிலையை (default state) பின்வருமாறு விளக்கலாம்:
- உள்வரும் அனைத்து செய்திகளும் தடுக்கப்படுகின்றன
- வெளியேறும் அனைத்து செய்திகளும் அனுமதிக்கப்படுகின்றன
உள்ளேவரும் அனைத்து செய்திகளும் தடுக்கப்படுவதால், நமக்குத்தேவையான வழிகளைமட்டும் அனுமதிப்பதற்கு விதிகளை வரையறுக்கிறோம். ஒருவேளை, நமது கணினியிலிருந்து எல்லா செய்திகளும் வெளியில் அனுமதிக்கப்படுவதை நாம் விரும்பவில்லையெனில், அந்த விதியையும் அழித்துவிடலாம்.
இப்போது, நமது பாதுகாப்புக்குழுவில், உள்நோக்கு விதிகள் மட்டுமே உள்ளன. வெளிநோக்குவிதிகள் ஏதுமில்லை. இந்நிலையில் நமது வலைப்பக்கத்தை, நம்மால் அணுகமுடியுமா?
நிச்சயமாக முடியும்!
ஏனெனில், பாதுகாப்புக்குழுவில், ஒரு போக்குவரத்துவகையை உள்ளே அனுமதிக்கும்போது, அதை வெளியேறவும் அனுமதிக்கிறோம் என்றே பொருள். எனவே, எந்தவொரு வெளிநோக்குவிதியையும், வெளிப்படையாக வரையறுக்கத் தேவையில்லை. அவையில்லாமலேயே, வெறும் உள்நோக்குவிதிகளை மட்டும்கொண்டே பாதுகாத்துக்கொள்ளமுடியும்.
அடுத்தகட்டமாக, நமது பாதுகாப்புக்குழுவிலுள்ள எல்லா விதிகளையும் நீக்கிவிடலாம்.
உலாவியில் நமது கணினியின் IP முகவரியை இடும்போது, வலைப்பக்கத்தைக் கண்டறியமுடியவில்லை என்ற செய்தியைப் பெறுகிறோம். மேலும், தனிப்பட்டதிறப்பு இருந்தாலும் கூட, வேறொரு கணினியிலிருந்து SSH வழியாக மேகக்கணினியை அணுகமுடியவதில்லை.
விதிகளை மீண்டும் சேர்த்தவுடன் நம்மால் வலைப்பக்கத்தையும், கணினியையும் அணுகமுடிகிறது. பாதுகாப்புக்குழுவின் விதிகளின் மாற்றங்களனைத்தும் உடனுக்குடன் அமல்படுத்தப்படுவது, இவற்றின் சிறப்பம்சமாகும்.
மிகவும் அருமையான முழு தமிழ் கட்டுரைக்கு முதலில் நன்றி. தொழிலநுட்பம் சார்ந்த தமிழ் வார்த்தைகள் நிறைய கற்று கொண்டேன்.
ஆனால் துறைமுகம் எனப்படுவது ‘துறை என்கிற ஒரு வகை நிலப்பரப்பின் முகம்’ ஆகும். கப்பல் கரை இறங்க ஏதுவாக இருக்கும் நிலத்திற்கு பெயர் ‘துறை’ ஆகும். ஆகவே துரையின்முகம்~துறைமுகம் என்றாகும்.
கணினி சார்ந்த ‘port’ க்கும் அதே பெயர் பொருந்தல் ஆகுமா?
‘Airport’ ஐ விமான நிலயயம் என்றே தானே அழைக்கிறோம்.
நல்ல கேள்வி! துறைமுகத்தின் பெயர்க்காரணத்தை உங்கள் மூலம் அறிந்துகொண்டேன். கணினியின் portக்கு வேறென்ன சொற்களைப் பயன்படுத்தலாம்? நுழைவாயிலைப் பயன்படுத்த எண்ணினேன். ஆனால், அது Gatewayக்கு மிகப்பொருத்தமான சொல். portக்கு வேறுசொற்களைப் பரிந்துரைக்கமுடியுமா?
தமிழ் விக்சனரியில் ‘இணைப்பான்’ என்ற ஒரு சொல்லும் உள்ளது. ta.wiktionary.org/wiki/port
அண்ணா பல்கலைக்கழகம் கணிப்பொறிக் கலைச்சொல் அகராதி ‘முகப்பு’ (view port?) மற்றும் ‘துறை’ என்று சொல்கிறது.
Pingback: அமேசான் இணையச்சேவைகள் – அணுக்கக் கட்டுப்பாட்டுப் பட்டியல்கள் – கணியம்