VPS-ல் UFW firewall எப்படி அமைப்பது
VPS-ல் UFW கொண்டு firewall அமைப்பது எளிது. default-deny policy வைத்து தேவையான port-களை மட்டும் அனுமதிக்கவும். SSH தடைபடாமல் firewall-ஐ enable செய்யும் முறை இங்கே விளக்கப்பட்டுள்ளது.
UFW என்றால் என்ன மற்றும் நீங்கள் ஏன் அதை விரும்புகிறீர்கள்
UFW என்பது Uncomplicated Firewall என்பதற்கான சுருக்கம், மேலும் அந்தப் பெயர் உண்மையானது. இது Linux kernel இல் ஏற்கனவே உள்ள firewall மீதான எளிய முன்பக்க இடைமுகம் ஆகும். எனவே நேரடி விதிகளை எழுதுவதற்கு பதிலாக நீங்கள் ufw allow 22/tcp போன்ற குறுகிய கட்டளைகளைத் தட்டச்சு செய்கிறீர்கள். புதிய VPS ஒன்றில், இயல்பாகவே ஒவ்வொரு listening service-ம் இணையத்திலிருந்து அணுகக்கூடியதாக இருக்கும். ஒரு firewall அதைத் தலைகீழாக மாற்றுகிறது: நீங்கள் எல்லாவற்றையும் மறுக்கிறீர்கள், பின்னர் நீங்கள் உண்மையில் பயன்படுத்தும் சில port-களை அனுமதிக்கிறீர்கள். அந்த ஒற்றை மாற்றம் சுமார் நான்கு கட்டளைகளில் உங்கள் பெரும்பாலான ஆபத்தை நீக்குகிறது.
நீங்கள் அதைத் தொடுவதற்கு முன், எது listening செய்கிறது என்பதைத் தெரிந்துகொள்ளுங்கள், ஏனெனில் ஒரு firewall அந்த service-களின் கதியைத் தீர்மானிக்கிறது. ss -tlnp உடன் எது listening செய்கிறது என்பதைப் படித்தல் செய்வது சரியான முதல் படியாகும்.
உங்களைத் தாங்களே பூட்டிக்கொள்ளாமல் காக்கும் ஒரே விதி
மக்களை ஃபயர்வால்களிடமிருந்து விலக்கி வைக்கும் தவறு இதுதான். நீங்கள் UFW-ஐ இயல்புநிலை-மறுப்பு (default-deny) கொள்கையுடன் இயக்குகிறீர்கள். ஆனால் நீங்கள் SSH-ஐ ஒருபோதும் அனுமதிக்கவில்லை. எனவே ஃபயர்வால் இயங்கத் தொடங்கிய அந்தக் கணமே உங்கள் இணைப்பு துண்டிக்கப்படுகிறது. நீங்கள் மீண்டும் உள்நுழைய முடியாது. UFW-ஐ இயக்குவதற்கு முன்பாக எப்போதும் SSH-ஐ அனுமதிப்பதன் மூலம் இதைத் தவிர்க்கவும். இதுதான் முழு தந்திரமும். கீழே உள்ள படிகள் இதைப் பாதுகாப்பான வரிசையில் செய்கின்றன.
இருப்பினும் இது உங்களுக்கு நிகழ்ந்தால், நீங்கள் முடங்கிவிடவில்லை. உங்கள் வழங்குநரின் வலை கன்சோல், VNC அல்லது serial வழியாகச் செயல்படுகிறது. இது SSH வழியாகச் செல்லாது. எனவே நீங்கள் அங்கே உள்நுழைந்து ufw disable-ஐ இயக்கலாம் அல்லது விடுபட்ட விதியைச் சேர்க்கலாம்.
படி 1: இயல்புநிலை கொள்கைகளை அமைக்கவும்
உள்வரும் அனைத்தையும் நிராகரிக்கவும், வெளிச்செல்லும் அனைத்தையும் அனுமதிக்கவும் UFW க்கு கட்டளையிடுவதன் மூலம் தொடங்கவும்:
sudo ufw default deny incoming
sudo ufw default allow outgoingdeny incoming முக்கியமான பகுதி. ஒரு port க்கு வெளிப்படையான அனுமதி விதி இல்லையென்றால், அது வெளிப்புறத்திற்கு மூடப்பட்டிருக்கும். ஒரு service அதில் கேட்டுக்கொண்டிருந்தாலும் கூட. allow outgoing உங்கள் server அப்டேட்கள் போன்றவற்றுக்காக இணையத்தை இயல்பாக அணுக அனுமதிக்கிறது. இந்த இரண்டு கட்டளைகளும் கொள்கையை மட்டுமே மாற்றுகின்றன. படி 3 இல் நீங்கள் UFW ஐ இயக்கும் வரை எதுவும் செயல்படுத்தப்படாது.
படி 2: உங்களுக்கு உண்மையில் தேவையான போர்ட்களை மட்டும் அனுமதிக்கவும்
இயக்குவதற்கு முன், SSH ஐத் திறக்கவும். அப்போது தான் உங்கள் இணைப்பு துண்டிக்கப்படாது:
sudo ufw allow 22/tcpUFW உங்களுக்காக SSH இணைப்புகளை வேகம் கட்டுப்படுத்தலுக்கும் (rate-limit) உட்படுத்தலாம்: sudo ufw limit 22/tcp என்பது அந்தப் போர்ட்டை அனுமதிக்கிறது. ஆனால் முப்பது விநாடிகளில் ஆறு அல்லது அதற்கு மேற்பட்ட இணைப்புகளை உருவாக்கும் முகவரிகளைத் தடுக்கிறது. இது கூடுதல் மென்பொருள் இல்லாமல் brute-force ஸ்கிரிப்ட்களைத் தடுக்கிறது.
நீங்கள் ஒரு வெப் சர்வரை இயக்கினால், HTTP மற்றும் HTTPS ஐயும் அனுமதிக்கவும்:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpபொதுவாக வழங்குவதை மட்டும் அனுமதிக்கவும். 5432 போர்ட்டில் இயங்கும் Postgres போன்ற ஒரு தரவுத்தளத்திற்கு அனுமதி விதியை அரிதாகவே வழங்க வேண்டும். அதற்குப் பதிலாக அதை 127.0.0.1 உடன் பிணைக்கவும். அப்போது அந்த இயந்திரத்தில் மட்டுமே அதை அணுக முடியும். நீங்கள் திறக்கும் ஒவ்வொரு போர்ட்டும் பாதுகாக்க வேண்டிய ஒரு வாசல். எனவே பட்டியலைச் சுருக்கமாக வைக்கவும்.
உங்கள் சர்வருக்கான ufw கட்டளைகளின் முழு தொடரையும் இங்கே உருவாக்கலாம். பிறகு அவற்றை வரிசையாக இயக்கவும்:
படி 3: இயக்கவும், மேலும் அது இயங்குவதை உறுதிப்படுத்தவும்
sudo ufw enableஇந்த கட்டளை தற்போதுள்ள SSH இணைப்புகளைச் சீர்குலைக்கக்கூடு என்று எச்சரிக்கிறது. நீங்கள் படி 2-இல் 22/tcp-ஐ அனுமதித்ததால், உங்கள் அமர்வு தொடர்கிறது. முடிவை உறுதிப்படுத்தவும்:
sudo ufw status verboseStatus: active
Default: deny (incoming), allow (outgoing)
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp ALLOW IN Anywhereஇங்கே இரண்டைப் படிக்கவும். Status: active என்பது ஃபயர்வால் இயங்குகிறது என்பதைக் குறிக்கிறது. ஒவ்வொரு விதியும் இருமுறை தோன்றுகிறது; ஒருமுறை சாதாரணமாகவும், ஒருமுறை (v6)-உடனும், இது UFW IPv4-உடன் IPv6-ஐயும் கட்டுப்படுத்துகிறது என்பதைத் தெரிவிக்கிறது. (v6) வரிகள் இல்லையெனில், உங்கள் IPv6 பக்கம் கட்டுப்பாட்டிற்கு உட்படாமல் உள்ளது; இது தனியான ஒரு சிக்கலாகும், இது IPv6 ஃபயர்வால் பதிவில் விளக்கப்பட்டுள்ளது.
விதிகளை பின்னர் நிர்வகித்தல்
ஒன்றை நீக்க எண்களுடன் விதிகளைக் காண:
sudo ufw status numbered
sudo ufw delete 3ஒரு port-ஐ ஒரே ஒரு address-இலிருந்து மட்டும் அனுமதிக்க, இது ஒரு admin service-ஐ உங்கள் IP-க்கு மட்டும் வெளிப்படுத்துவதற்கான சரியான வழி:
sudo ufw allow from 10.0.0.24 to any port 5432 proto tcpFirewall ஒரு அடுக்கு மட்டுமே. ஒரு port-ஐ எது அடைய முடியும் என்பதை இது கட்டுப்படுத்துகிறது, ஆனால் நீங்கள் திறந்து வைத்திருக்கும் SSH போன்ற ஒரு port-ஐ தொடர்ந்து தாக்கும் ஒருவரை இது தடுக்காது. அதற்காக, தொடர்ந்து தாக்குபவர்களைத் தடுக்க SSH-க்கு முன் Fail2ban சேர்க்கவும். ஆழமான பாதுகாப்பு என்பது ஒவ்வொரு அடுக்கும் மற்றவை முடியாததை ஈடுசெய்வது என்று பொருள்.
port-கள் என்ன மற்றும் service-கள் எவ்வாறு கேட்கின்றன என்பதை நீங்கள் அறிந்தபின் ஒரு firewall பயனுள்ளதாகும், மேலும் ஒன்றை உள்ளமைப்பது ஒரு புதிய VPS-ல் முதல் 10 நிமிடங்கள் என்பதன் ஒரு படியாகும்.
FAQ
UFW ஐ இயக்கினால் எனது SSH இணைப்பு துண்டிக்கப்படுமா?
முதலில் SSH ஐ அனுமதித்தால் துண்டிக்கப்படாது. sudo ufw enable க்கு முன் sudo ufw allow 22/tcp ஐ இயக்கவும். ஃபயர்வால் போர்ட் 22 ஐ அனுமதிப்பதால் இணைப்பு தொடரும். SSH அனுமதி விதியின்றி இயல்புநிலை மறுப்பு ஃபயர்வால் இயக்கினால் இணைப்பு துண்டிக்கப்படும். அவ்வாறு நிகழ்ந்தால், உங்கள் வழங்குநரின் VNC அல்லது serial console வழியாக உள்நுழைந்து ufw disable ஐ இயக்கவும்.
ஒரு VPS இல் எந்தெந்த போர்ட்களைத் திறக்க வேண்டும்?
பொதுவாக வழங்கும் போர்ட்களை மட்டுமே திறக்க வேண்டும். கணினியை நிர்வகிக்க SSH (22/tcp), இணையதளம் இயக்கினால் HTTP மற்றும் HTTPS (80/tcp, 443/tcp). மற்ற அனைத்தையும் மறுக்கவும். தரவுத்தளங்கள் போன்ற உள் சேவைகள் 127.0.0.1 உடன் இணைக்கப்பட வேண்டும். அவற்றிற்கு ஃபயர்வால் விதி தேவையில்லை. எனவே அவை பிணையத்திலிருந்து அணுக முடியாது.
UFW ஆனது IPv6 ஐ கையாளுமா?
நவீன Ubuntu இல் ஆம். /etc/default/ufw இல் IPV6=yes அமைக்கப்பட்டுள்ளது. எனவே ஒவ்வொரு விதியும் இரு ஸ்டாக்குகளுக்கும் பொருந்தும். ufw status ஆனது (v6) பின்னொட்டுடன் IPv6 விதிகளைக் காட்டும். இன்னும் பிழை ஏற்படக்கூடிய வழிகள் IPv6 ஃபயர்வால் பொறி இல் விளக்கப்பட்டுள்ளன.
ஒரு UFW விதியை எவ்வாறு நீக்குவது?
விதிகளை எண் அடையாளத்துடன் பட்டியலிட sudo ufw status numbered ஐ இயக்கவும். பின்னர் நீக்க விரும்பும் விதியின் எண் N எனில் sudo ufw delete N ஐ இயக்கவும். விவரக்குறிப்பு மூலமும் நீக்கலாம். எடுத்துக்காட்டாக sudo ufw delete allow 80/tcp.
ஒரு போர்ட்டை ஒரே ஒரு IP முகவரியிலிருந்து மட்டும் எவ்வாறு அனுமதிப்பது?
வழக்கமான allow க்குப் பதிலாக from விதியைப் பயன்படுத்தவும். உங்கள் அலுவலக முகவரி மட்டும் PostgreSQL ஐ அணுக sudo ufw allow from 10.0.0.10 to any port 5432 proto tcp ஐ இயக்கவும். இயல்புநிலை மறுப்புக் கொள்கையின் போது விதி திறக்கும் வரை அனைவருக்கும் போர்ட் மூடப்பட்டிருக்கும். எனவே இந்த from விதி ஒரே உள்ளீட்டு வழியாகும். முழு இணையமும் தடுக்கப்பட்டிருக்கும். நீங்கள் குறிப்பிடும் முகவரி மட்டுமே உள்நுழையும். வழக்கமான allow 5432/tcp ஐச் சேர்க்க வேண்டாம். அது அனைவருக்கும் போர்ட்டைத் திறக்கும். இதுதான் தரவுத்தளம் அல்லது நிர்வாக பேனலை வெளிப்படுத்துவதற்கான பாதுகாப்பான வழி. sudo ufw status verbose மூலம் உறுதிப்படுத்தவும். அது போர்ட்டுக்கு அருகில் மூல முகவரியைக் காட்டும்.