SSD Nodes Learn
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-07-25

Ubuntu 24.04 இல் Webmin நிறுவி பாதுகாப்பது எப்படி

Ubuntu 24.04 இல் Webmin நிறுவி port 10000 பாதுகாப்பது விளக்கம். SSH tunnel, IP allowlist, Let's Encrypt cert, two-factor, Fail2ban ஆகியவற்றை உள்ளடக்கிய முழு வழிகாட்டி.

நீங்கள் உருவாக்குவது என்ன

Webmin என்பது ஒரு web control panel ஆகும். இது ஒரு Linux server முழுமைக்கும் browser இடைமுகத்தை வழங்குகிறது. users, packages, cron jobs, firewall, Apache, BIND, disks உட்பட நூற்றுக்கும் மேற்பட்ட modules இதில் உள்ளன. HTTPS வழியாக port 10000 இல் இதை அணுகலாம். நிறுவலுக்கு மூன்று commands தேவை. சுமார் ஒரு நிமிடம் ஆகும். இந்த வழிகாட்டி தன் பெரும்பகுதியை இரண்டாம் பாதிக்கு ஒதுக்குவதற்கு காரணம் உள்ளது. Webmin ஆனது root ஆக உள்நுழைகிறது. root செய்யக்கூடிய அனைத்தையும் இது செய்ய முடியும். பாதுகாப்பின்றி திறந்திருக்கும் அல்லது அங்கீகரிக்கப்படாத Webmin ஆனது "நிர்வகிக்கத்தக்க ஒரு ஆபத்து" அல்ல. அது ஒரு முழு server compromise ஆகும். அதற்கு முன்னால் ஒரு login page மட்டுமே உள்ளது. எனவே இதை பத்து நிமிடங்களில் நிறுவுங்கள். பின்னர் மீதமுள்ள நேரத்தை நீங்கள் மட்டுமே இதை அணுக முடியும் என்பதை உறுதிப்படுத்துவதில் செலவிடுங்கள்.

முன்தேவைகள் மற்றும் ஒரு நேர்மையான எச்சரிக்கை

root அல்லது sudo பயனருடன் கூடிய புதிய Ubuntu 24.04 KVM VPS தேவை. Webmin என்பது Perl அடிப்படையிலானது; இது இலகுவானது. 1 GB RAM போதுமானது. இது ஓய்வு நிலையில் காற்றில் கால் கிலோபைட்டுக்கும் குறைவாகவே நினைவைப் பயன்படுத்துகிறது. இது தன்னுடைய உள்ளமைந்த வலை சேவையகத்தின் (miniserv.pl) மூலம் TCP 10000 துறையில் கேட்க்கிறது. Apache அல்லது nginx அல்ல. எனவே முதலில் வேறு எதையும் நிறுவத் தேவையில்லை.

தொடங்குவதற்கு முன் இரண்டு விஷயங்களைத் தீர்மானிக்க வேண்டும். முதலாவது, நீங்கள் உள்நுழையும் கணக்கு: Webmin ஆனது PAM மூலம் Unix கணக்குகளை சரிபார்க்கிறது. எனவே நீங்கள் root அல்லது sudo குழுவில் உள்ள ஒரு பயனராக அந்தக் கணக்கின் Unix கடவுச்சொல்லைப் பயன்படுத்தி உள்நுழைய வேண்டும். கிளவுட் படிமங்கள் பொதுவாக விசை அடிப்படையில் மட்டுமே இருக்கும்; இயல்புநிலை பயனருக்கு கடவுச்சொல் அமைக்கப்பட்டிருக்காது. Webmin ஆல் கடவுச்சொல் இல்லாத கணக்கில் உள்நுழைய முடியாது. முதலில் sudo passwd youruser கொண்டு ஒரு கடவுச்சொல்லை அமைக்கவும். இல்லையெனில், நீங்கள் எதைத் தட்டினாலும் உள்நுழைவு தோல்வியடையும்.

இரண்டாவது, இதுதான் அந்த எச்சரிக்கை: துறை 10000-ஐ இணையத்திற்கு வெற்றுக்கணக்காகத் திறந்துவிட்டு விலகி விடாதீர்கள். இப்போதே நீங்கள் Webmin-ஐ SSH சுரங்கப்பாதை வழியாக (பரிந்துரைக்கப்படுகிறது, எதுவும் வெளிப்படையாக இருக்காது) அணுகுவீர்களா அல்லது உங்கள் சொந்த IP-க்கு மட்டும் வரம்பிடுவீர்களா என்பதைத் தீர்மானிக்கவும். அந்த ஒற்றை முடிவு கீழே உள்ள ஒவ்வொரு படியையும் தீர்மானிக்கிறது. எனவே நீங்கள் ஃபயர்வாலைத் தொடுவதற்கு முன் இரண்டு விருப்பங்களையும் படிக்கவும்.

அதிகாரப்பூர்வ களஞ்சியத்திலிருந்து Webmin-ஐ நிறுவவும்

Webmin ஒரு கையொப்பிடப்பட்ட apt களஞ்சியத்தை வெளியிடுகிறது. அமைப்பு ஸ்கிரிப்ட் இந்த களஞ்சியத்தையும் அதன் GPG கையொப்ப விசையையும் சேர்க்கிறது. எனவே எதிர்கால apt upgrade இயக்கங்கள் Webmin-ஐ வேறு எந்த தொகுப்பைப் போலவும் எடுக்கும். நீங்கள் ஒரு பதிவிறக்கம் செய்த .deb க்கு பதிலாக அங்கீகரிக்கப்பட்ட புதுப்பித்தல்களைப் பெறுவீர்கள். அந்த .deb தானாகவே புதுப்பித்துக் கொள்ளாது.

curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sudo sh webmin-setup-repo.sh

இந்த ஸ்கிரிப்ட் அது செய்யப்போவதை அச்சிடுகிறது. மேலும் Setup repository? (y/N) கேட்கிறது — y என பதிலளிக்கவும். அது முடிந்ததும், தொகுப்பை நிறுவவும். --install-recommends கொடி பொதுவான Perl மற்றும் SSL தொகுதி சார்புகளை எடுக்கிறது. எனவே தனிப்பட்ட தொகுதிகள் பின்னர் நூலகம்-இல்லை பிழைகளால் தோல்வியடையாது.

sudo apt-get install --install-recommends webmin

Webmin இந்த ஸ்கிரிப்டை முன்பு மறுபெயரிட்டது — பழைய வழிகாட்டிகள் setup-repos.sh ஐக் குறிப்பிடுகின்றன — எனவே மூல URL 404 ஐ வழங்கினால், ஒரு பெயரை பொருத்துவதற்கு பதிலாக தற்போதைய ஒரு-வரி கட்டளையை webmin.com/download இலிருந்து நேரடியாக எடுக்கவும். சரியான நிறுவல் Webmin install complete. You can now login to https://your-host:10000/ as root போன்ற ஒரு வரியுடன் முடிகிறது. சேவை இயக்கப்பட்டது. கட்டமைப்பு /etc/webmin இல் உள்ளது. கோரிக்கைகள் /var/webmin/miniserv.log இல் பதிவு செய்யப்படுகின்றன. தோல்வியுற்ற உள்நுழைவுகள் syslog க்கு செல்கின்றன — Ubuntu 24.04 இல், அது systemd journal ஆகும்.

நீங்கள் உலாவியைத் திறக்கும் முன் அது உண்மையில் இயங்குகிறதா மற்றும் கேட்கிறதா என்பதை உறுதிப்படுத்திக் கொள்ளவும்:

sudo systemctl status webmin --no-pager
sudo ss -tlnp | grep 10000

நீங்கள் ஒரு active (running) நிலையையும் miniserv.pl0.0.0.0:10000 உடன் பிணைக்கும் வரியையும் விரும்புகிறீர்கள் — கீே டனல் பாதையை பயன்படுத்தியதும் அந்த முகவரி 127.0.0.1:10000 ஆக மாறும். ss 10000 இல் எதையும் காட்டவில்லை என்றால், Webmin தொடங்கவில்லை; மேலும் முன்னேறுவதற்கு முன் journalctl -u webmin -n 50 ஐப் படிக்கவும்.

முதல் உள்நுழைவு, மற்றும் சான்றிதழ் எச்சரிக்கை

உங்கள் உலாவியை https://YOUR_SERVER_IP:10000 முகவரியில் செலுத்துங்கள். புதிய சேவையகத்தில் இரண்டு விஷயங்கள் நிகழும்.

ufw செயலில் இருந்தால் — Ubuntu தனது சொந்த சேவையக படிமத்தில் அதை செயலற்ற நிலையில் வழங்குகிறது, ஆனால் பல வழங்குநர்கள் முன்கூட்டியே இயக்குகிறார்கள் — பக்கம் ஒருபோதும் ஏற்றப்படாது; இது கீழே உள்ள தோல்வி நிலைகளில் விளக்கப்பட்டுள்ளது. போர்ட் திறந்திருந்தால், உங்கள் உலாவி ஒரு முழு பக்க தடையைக் காட்டும்: Chrome இல் "Your connection is not private" என்ற செய்தி NET::ERR_CERT_AUTHORITY_INVALID குறியீட்டுடன், அல்லது Firefox இல் SEC_ERROR_UNKNOWN_ISSUER / "Warning: Potential Security Risk Ahead" என்ற செய்தி தோன்றும். இது எதிர்பார்க்கப்படும் ஒன்றே; இது ஊடுருவல் அல்ல. Webmin நிறுவலின் போது ஒரு self-signed சான்றிதழை உருவாக்கியது (/etc/webmin/miniserv.pem), மேலும் எந்த certificate authority இதற்காக உத்தரவாதம் அளிக்காததால், உலாவி அதை நிமிரத்தான் நம்ப மறுக்கிறது. இணைப்பு இன்னும் குறியாக்கப்பட்டிருக்கிறது; அது உத்தரவாதம் பெற்றதாக மட்டுமே இல்லை. தற்போதைக்கு தொடர்ந்து செல்லுங்கள் (Advanced, பிறகு Proceed) — இந்த சான்றிதழை கீழே சரியாக மாற்றுவோம்.

root அல்லது உங்கள் sudo பயனர் மற்றும் அதன் Unix கடவுச்சொல்லைக் கொண்டு உள்நுழைந்தால், System Information டாஷ்போர்டில் வந்து சேருவீர்கள். இங்கே ஒரு பொதுவான தவறு என்னவென்றால், https:// க்கு பதிலாக http:// என தட்டச்சு செய்வது. miniserv அந்த போர்ட்டில் plain HTTP மூலம் "This web server is running in SSL mode. Try the URL https://..." என்ற சரியான உரையுடன் பதிலளிக்கிறது — தீர்வு என்பது முகவரி பட்டியில் httphttps ஆக மாற்றுவது மட்டுமே.

பாதுகாப்பு முடிவு: Webmin-ஐ நீங்கள் எப்படி அணுகப் போகிறீர்கள்?

இப்போது முக்கியமான பகுதி. root-க்கு சமமான ஒரு பேனல் பொது இணையத்தில் வைந்து, உலகம் முழுவதும் உள்ள ஒவ்வொரு ஸ்கேனரிடம் இருந்தும் வரும் உள்நுழைவு முயற்சிகளுக்கும் பதிலளிக்கக் கூடாது. நீங்கள் விரும்பும் வரிசைப்படி, நியாயப்படுத்தக்கூடிய இரண்டு விருப்பங்கள் உள்ளன.

விருப்பம் B-இல் உள்ள SSH tunnel சிறந்தது, ஏனெனில் அது எதையும் வெளிப்படுத்தாது. விருப்பம் A-இல் உள்ள IP allowlist ஏற்புடையது, உங்கள் முகவரி நிலையானதாக இருந்தால். இரண்டையும் செய்யாமல் விடுவது, இந்த முழு வழிகாட்டியும் தடுக்க விரும்பும் தவறு தான். இவற்றில் எதற்கும் பதிலாக நீங்கள் தனியார் நெட்வொர்க் வழியாக Webmin-ஐ அணுக விரும்பினால், பெட்டியை ஒரு சுய-ஹோஸ்ட் செய்த WireGuard VPN-க்குப் பின்னால் வைத்து, Webmin-ஐ பொது முகவரிக்கு பதிலாக tunnel முகவரியுடன் பிணைக்கவும்.

விருப்பம் A: Webmin-ஐ உங்கள் IP-க்கு மட்டும் கட்டுப்படுத்தவும்

பேனலில், Webmin, பிறகு Webmin Configuration, பிறகு IP Access Control பகுதியைத் திறக்கவும். "Only allow from listed addresses" என்பதைத் தேர்ந்தெடுத்து, உங்கள் பொது IP-ஐ உள்ளிடவும்; இதை உங்கள் மடிக்கணினியில் curl ifconfig.me கட்டளையை இயக்கிக் கண்டறியலாம். சேமிக்கவும். Webmin இந்தத் தகவலை /etc/webmin/miniserv.conf கோப்பில் உள்ள allow= வரியில் எழுதி, தன்னைத் தானே மறுதொடக்கம் செய்துகொள்ளும்.

சிக்கல்: உங்கள் வீட்டு IP மாறும் வகையில் இருந்தால் அது மாறினாலோ, முகவரியைத் தவறாக உள்ளிட்டாலோ, நீங்கள் வெளியே பூட்டப்படுவீர்கள். உலாவி அப்போது "Access denied for <your IP>" எனக் காட்டும்; உள்நுழைவுப் படிவம் வராது; மீண்டும் உள்ளே செல்ல வலை வழி இருக்காது. இதை SSH வழியாகவோ உங்கள் வழங்குநரின் VNC வழியாகவோ சேவையகக் கன்சோலில் இருந்து நீங்கள் சரிசெய்ய வேண்டும்:

sudo nano /etc/webmin/miniserv.conf
# find the line that begins  allow=
# correct your IP, or delete the whole line to allow all again
sudo systemctl restart webmin

allow= வரியை நீக்கினால் முழு அணுகலும் மீண்டும் திறக்கப்படும். எனவே இதை மீட்பதற்காக மட்டுமே செய்யவும்; பிறகு உடனே சரியான மதிப்பை அமைக்கவும்.

விருப்பம் B: localhost-இல் bind செய்து SSH வழியே tunnel செய்க (பரிந்துரைக்கப்படுகிறது)

allowlist-ஐ விடச் சிறந்தது, பொது இடைமுகத்திலேயே கேட்காமல் இருப்பது தான். miniserv-ஐ loopback-இல் மட்டும் bind செய்யச் சொல்லுங்கள். பிறகு, நீங்கள் ஏற்கெனவே நம்பும் மறையாக்கப்பட்ட SSH tunnel வழியாக அதை அணுகுங்கள்.

/etc/webmin/miniserv.conf-ஐத் திருத்தி ஒரு வரியைச் சேர்க்கவும் அல்லது மாற்றவும்:

bind=127.0.0.1

sudo systemctl restart webmin உடன் மறுதொடக்கம் செய்யவும். இப்போது Webmin இணையத்திலிருந்து அணுக முடியாது — 10000-ஐ port scan செய்தால் எதுவும் கிடைக்காது, மேலும் முன்பு இருந்த ss சரிபார்ப்பு இப்போது அது 127.0.0.1:10000-இல் bind செய்யப்பட்டிருப்பதைக் காட்டும். உங்கள் மடிக்கணினியிலிருந்து ஒரு tunnel திறக்கவும்:

ssh -L 10000:localhost:10000 youruser@YOUR_SERVER_IP

அந்த அமர்வைத் திறந்தே விடுங்கள், பிறகு https://localhost:10000-க்குச் செல்லவும். போக்குவரத்து SSH-க்குள் நடக்கிறது. அது ஏற்கெனவே உங்கள் key மூலம் அங்கீகரிக்கப்பட்டு மறையாக்கப்பட்டிருப்பதால், இங்கே self-signed certificate-ஐ நீங்கள் பாதுகாப்பாக ஏற்கலாம் — உண்மையான பாதுகாப்பை SSH அடுக்கு தான் வழங்குகிறது. SSH அமர்வை மூடினால் Webmin மறைந்துவிடும். allowlist செய்ய ஒன்றுமில்லை, வெளிப்படுத்த ஒன்றுமில்லை, பாதுகாப்பதற்கு கூடுதல் சேவை ஒன்றுமில்லை.

நீங்கள் bind=127.0.0.1 என அமைத்துவிட்டு tunnel-ஐ மறந்தால், தொலைநிலை அணுகல் நின்றுவிடும் — இது ஒரு குறை அல்ல, அம்சம் சரியாக வேலை செய்வது தான். விருப்பம் A-போலவே மீட்கவும்: console-இலிருந்து, bind வரியை நீக்கவும் அல்லது bind=0.0.0.0 என அமைக்கவும், பிறகு மறுதொடக்கம் செய்யவும். இது tmux-இல் Claude Code இயங்கும் தொலைநிலை உருவாக்க இயந்திரத்தை அணுக நீங்கள் பயன்படுத்தும் அதே tunnelling வழக்கம் தான் — ஒரு SSH அமர்வு, எல்லாம் தனிப்பட்டது, பொது இடைமுகத்தில் கூடுதலாக எதுவும் கேட்பதில்லை.

சுய-கையொப்பமிட்ட சான்றிதழை உண்மையான சான்றிதழால் மாற்றவும்

விருப்பம் A-ன் கீழ் ஒரு hostname-இல் Webmin-ஐ வெளிப்படுத்தினால், உண்மையான Let's Encrypt சான்றிதழைப் பயன்படுத்தி உலாவி எச்சரிக்கையை நீக்கவும். உங்களுக்கு ஒரு DNS பெயர் தேவை — உதாரணமாக panel.example.com — அதற்கு சேவையகத்தை சுட்டிக்காட்டும் ஒரு A record வேண்டும். மேலும், சரிபார்ப்பின் போது port-80 HTTP challenge-க்கு பதிலளிக்க ஏதேனும் ஒன்று தேவை.

Webmin-ல் இது உள்ளமைக்கப்பட்டுள்ளது: Webmin, பிறகு Webmin Configuration, பிறகு SSL Encryption, பிறகு Let's Encrypt tab. Hostname-ஐ உள்ளிடவும். "website root directory"-ஐ அந்த domain-ல் port 80-இல் வழங்கப்படும் ஒரு பாதையை நோக்கி சுட்டிக்காட்டவும். பிறகு கோரவும். Webmin சான்றிதழைப் பெறுகிறது. miniserv.conf கோப்பில் உள்ள certfile= மற்றும் keyfile= வரிகளை உங்களுக்காக புதுப்பிக்கிறது. காலவதியாவதற்கு முன் அதை தானாகவே புதுப்பிக்கிறது. பக்கத்தை மீண்டும் ஏற்றவும். பூட்டு சின்னம் சரியாக காட்டப்படும்.

இதில் ஒரு உண்மையான தடை உள்ளது: Webmin-ன் சொந்த சேவையகம் 10000-ல் இயங்குகிறது, 80-ல் அல்ல. எனவே http-01 challenge-க்கு ஒரு உண்மையான web சேவையகம் — Apache அல்லது nginx — panel.example.com-க்கு port 80-இல் பதிலளிக்க வேண்டும். இல்லையெனில் DNS அடிப்படையிலான சரிபார்ப்பு தேவை. port 80-ல் எதுவும் இல்லாத Webmin-மட்டும் கொண்ட சேவையகத்தில், Let's Encrypt-க்கு challenge கோப்பை அணுக வழி கொடுக்கும் வரை கோரிக்கை சரிபார்ப்பு பிழையுடன் தோல்வியடையும். இயக்க முறைகள் — DNS records, port-80 challenge, மற்றும் புதுப்பித்தல் — எந்த ஒரு website-க்கும் சான்றிதழ் வழங்குவதைப் போலவே உள்ளன. அந்த பின்னணி விவரங்கள் தேவைப்பட்டால், Certbot மற்றும் nginx உடன் Let's Encrypt TLS சான்றிதழ்கள் வழிகாட்டி சரிபார்ப்பு ஓட்டம் மற்றும் DNS அமைப்பை விரிவாக விளக்குகிறது. நீங்கள் SSH-tunnel வழியைப் பயன்படுத்தினால் இந்த பிரிவை முற்றிலும் தவிர்க்கலாம்: SSH-க்கு பின்னால் சுய-கையொப்பமிட்ட சான்றிதழ் போதுமானது. panel.example.com-க்கு வழங்கப்பட்ட உண்மையான சான்றிதழ், நீங்கள் https://localhost:10000-ஐ பார்க்கும் போது பெயர்-பொருத்தமின்மை எச்சரிக்கையை மட்டுமே உருவாக்கும்.

இரு-காரணி அங்கீகாரத்தை இயக்கவும்

root பேனலுக்கு கடவுச்சொல் மட்டும் போதுமான பாதுகாப்பு அல்ல. எனவே இரண்டாவது காரணியைச் சேர்க்கவும். Webmin, பின்னர் Webmin Configuration, பின்னர் Two-Factor Authentication என்பதைத் திறக்கவும். Google Authenticator வழங்குநரைத் தேர்ந்தெடுக்கவும் — இது நிலையான TOTP ஆகும், எனவே Authy, 1Password அல்லது எந்த ஒரு authenticator செயலியுடனும் இது செயல்படும் — மற்றும் சேமிக்கவும். Webmin தேவையான சிறிய Perl தொகுதியை நிறுவுகிறது (Authen::OATH மற்றும் ஒரு QR உருவாக்கி) மற்றும் இந்த அம்சத்தை இயக்குகிறது; இந்தப் படி மட்டும் எந்தக் கணக்கையும் இன்னும் பாதுகாக்காது.

பின்னர் ஒவ்வொரு கணக்கும் தனது சொந்த சாதனத்தைப் பதிவு செய்கிறது. 2FA இயக்கப்பட்ட நிலையில், Webmin, பின்னர் Webmin Users என்பதைத் திறக்கவும், கணக்கைத் தேர்ந்தெடுக்கவும், Enable Two-Factor For User என்பதைத் தேர்ந்தெடுக்கவும்; Webmin ஒரு QR குறியீட்டைக் காட்டும்; செயலியால் அதை ஸ்கேன் செய்து உறுதிப்படுத்த ஒரு உருவாக்கப்பட்ட குறியீட்டை உள்ளிடவும். அதன் பிறகு, உள்நுழைவு கடவுச்சொல்லுக்குப் பிறகு ஆறு இலக்க டோக்கனைக் கேட்கும். நீங்கள் வெளியேறுவதற்கு முன்பு பதிவு செய்துகொள்ளுங்கள் — 2FA தேவைப்படும் நிலையில் உங்கள் கணக்கு ஒருபோதும் குறியீட்டை ஸ்கேன் செய்யவில்லை என்றால், கன்சோலில் இருந்து இந்தத் தேவையை நீக்க முடியும், ஆனால் முதலில் பதிவு செய்துகொள்வது மிகவும் எளிதானது.

பல-முறை உள்நுழைவு முயற்சிகளைத் தடுக்க Fail2ban ஐச் சேர்க்கவும்

கட்டுப்படுத்தப்பட்ட உள்நுழைவு முனையம் கூட தொடர்ச்சியான தோல்விகளைத் தண்டிக்க வேண்டும். Webmin தோல்வியுற்ற உள்நுழைவுகளை syslog இல் webmin[12345]: Invalid login as root from 10.0.0.9 வடிவில் அறிவிக்கிறது. Unix கணக்கு இல்லாத பயனர்பெயருக்கு Non-existent login as ... என அறிவிக்கிறது. Ubuntu 24.04 இல் இந்த வரிகள் systemd journal இல் சேரும். ஏனெனில் இயல்பு படிமத்தில் /var/log/auth.log கிடையாது. Fail2ban இல் இந்த இரண்டு வரிகளுக்கும் சரியாகப் பொருந்தும் ஒரு உள்ளமை webmin-auth வடிகட்டி உள்ளது. கீழே உள்ள jail ஆனது backend = systemd ஐத் தானாகவே அமைக்கிறது. எனவே இதற்குத் தனிப்பயன் regex அல்லது log பாதை தேவையில்லை.

/etc/fail2ban/jail.d/webmin.local ஐ உருவாக்கவும்:

[webmin-auth]
enabled  = true
port     = 10000
filter   = webmin-auth
backend  = systemd
maxretry = 4
bantime  = 1h

sudo systemctl restart fail2ban உடன் மீண்டும் ஏற்றவும். பிறகு jail இயங்குகிறதா என உறுதிப்படுத்தவும்:

sudo fail2ban-client status webmin-auth

தொடக்கத்தில் தடுப்பு எண்ணிக்கை பூச்சியமாக jail பட்டியலிடப்பட்டிருப்பதை நீங்கள் காண்பீர்கள். journal backend இல் File list: வரி இருக்காது. இணைப்பை முழுமையாகச் சோதிக்க, வேறு பிணையத்திலிருந்து வேண்டுமென்றே சில முறை உள்நுழைவதில் தோல்வியடையவும். பிறகு status கட்டளையை மீண்டும் இயக்கி Currently banned உயர்வதைக் கவனிக்கவும். அது ஒருபோதும் உயரவில்லை என்றால், நீங்கள் Fail2ban இன் ignoreip இல் உள்ள முகவரியிலிருந்து சோதிக்கவில்லை என உறுதிப்படுத்திக் கொள்ளவும். Invalid login வரிகள் உண்மையில் எழுதப்படுகின்றனவா என உறுதிப்படுத்த சேவையகத்தில் journalctl SYSLOG_IDENTIFIER=webmin ஐ இயக்கவும். Fail2ban இன்னும் இந்தச் சேவையகத்தில் நிறுவப்படவில்லை என்றால், SSH க்கான Ubuntu 24.04 இல் Fail2ban வழிகாட்டி நிறுவலையும் இதனுடன் சேர்த்து நீங்கள் இயக்க வேண்டிய SSH jail ஐயும் விளக்குகிறது.

ஒவ்வொரு Webmin பயனரும் எதைத் தொடலாம் என்பதை வரையறுத்தல்

பேனல் தேவைப்படும் அனைவருக்கும் அனைத்திற்கும் root அணுகல் தேவையில்லை. Webmin, பிறகு Webmin Users பகுதியின் கீழ், கூடுதல் Webmin உள்நுழைவுகளை உருவாக்கவும். ஒவ்வொரு பயனருக்கும் அவருக்குத் தேவையான தொகுதிகளை மட்டும் வழங்கவும் — உதாரணமாக, ஒரு backup இயக்குநருக்கு cron மற்றும் filesystem தொகுதிகள் மட்டும் தெரியும். ஒரு பயனரைத் திருத்தும்போது, ஒவ்வொரு தொகுதியின் தேர்வுப் பட்டியல் காட்டப்படும். ஒன்றைத் தேர்வு நீக்கம் செய்தால், அது அந்தப் பயனரின் மெனுவிலிருந்து நீக்கப்படும். அதன் அடிப்படையிலான URLகளும் தடுக்கப்படும். இது ஆழமான பாதுகாப்பு ஆகும். Users தொகுதி பட்டியலில் இல்லாதபோது, திருடப்பட்ட குறைந்த-அனுமதி Webmin அமர்வால் கூட /etc/shadow-ஐ மாற்ற முடியாது.

Webmin-ஐ புதுப்பித்த நிலையில் வைத்திருத்தல்

நீங்கள் apt repository-இலிருந்து நிறுவியுள்ளதால், sudo apt update && sudo apt upgrade மற்ற மென்பொருள் தொகுப்புகளுடன் சேர்த்து புதிய Webmin வெளியீடுகளையும் எடுத்துக்கொள்ளும். உடனடியாக இணைப்புகளைப் பயன்படுத்துங்கள் — கட்டுப்பாட்டு பலகம் எளிதில் தாக்கப்படும் இலக்காகும். Webmin தன்னைத்தானேயும் புதுப்பித்துக்கொள்ள முடியும்: Webmin, பிறகு Webmin Configuration, பிறகு Upgrade Webmin என்ற பாதையைப் பின்பற்றவும். ஆனால் Ubuntu-வில் apt பாதை சிறந்தது, ஏனெனில் இது உங்கள் மற்ற தொகுப்பு மேலாண்மையுடன் பதிப்புகளை ஒத்திசைவாக வைத்திருக்கும். இதை விருப்பப்பட்டதாக நினைத்து விடாதீர்கள்: கடந்த காலத்தில் பல Webmin CVE-கள் தொலைநிலை குறியீடு இயக்க (remote-code-execution) பிழைகளாக இருந்தன. "இணைப்பு பயன்படுத்தப்பட்டது" மற்றும் "சேதமடைந்தது" ஆகியவற்றுக்கு இடையே உள்ள ஒரே வித்தியாசம், நிர்வாகி எவ்வளவு வேகமாக மேம்படுத்தலை இயக்கினார் என்பதுதான்.

பிழை நிலைகள், நீங்கள் காணும் சரங்களுடன்

"Your connection is not private" / NET::ERR_CERT_AUTHORITY_INVALID. முதல் ஏற்றத்தின் போதே காட்டப்படுகிறது. காரணம்: நிறுவலின் போது Webmin உருவாக்கிய self-signed certificate-க்கு நம்பகமான வழங்குநர் இல்லை. இது தாக்குதல் அல்ல. இணைப்பு மறையாக்கப்பட்டுள்ளது, ஆனால் உறுதிப்படுத்தப்படவில்லை. தீர்வு: இப்போதைக்கு எச்சரிக்கையை மீறி முன்னேறவும். பின்னர் உண்மையான Let's Encrypt certificate பெறவும். அல்லது நீங்கள் SSH tunnel வழியாக Webmin-ஐ அணுகினால், இதை நிரந்தரமாக ஏற்றுக்கொள்ளவும்.

"This web server is running in SSL mode. Try the URL https://..." நீங்கள் http://server:10000 என தட்டச்சு செய்தீர்கள். miniserv அந்த port-ல் TLS மட்டுமே பேசுகிறது. அது இதை வெளிப்படையாக உங்களுக்குத் தெரிவிக்கிறது. தீர்வு: முகவரி பட்டியில் http-ஐ https ஆக மாற்றவும்.

பக்கம் நேரம் முடிந்து விடுகிறது — ERR_CONNECTION_TIMED_OUT / "This site can't be reached". கோரிக்கை Webmin-ஐ வந்தடைவதே இல்லை. Ubuntu-வில் இது பெரும்பாலும் ufw port 10000-ஐ நிராகரிப்பதால் நிகழ்கிறது. sudo ufw status கொண்டு உறுதிப்படுத்தவும். 10000 பட்டியலிடப்படவில்லை என்றால், sudo ufw allow 10000/tcp கொண்டு அதைத் திறக்கவும். அல்லது அதை மூடியே விட்டு, Option B-ல் உள்ள SSH tunnel-ஐ பயன்படுத்துவது சிறந்தது. வேறுபாட்டை கவனிக்கவும்: timeout என்பது firewall மௌனமாக packets-ஐ நிராகரிக்கிறது என்பதைக் குறிக்கிறது. ஆனால் ERR_CONNECTION_REFUSED என்பது port அணுகக்கூடியது ஆனால் Webmin இயங்கவில்லை என்பதைக் குறிக்கிறது — sudo systemctl status webmin சரிபார்க்கவும்.

"Access denied for <your IP>." நீங்கள் Option A-ன் கீழ் IP Access Control அமைத்துள்ளீர்கள். உங்கள் தற்போதைய முகவரி allow பட்டியலில் இல்லை — மாறும் IP மாறிவிட்டது, அல்லது தட்டச்சுப் பிழை. உலாவி வழியாக மீண்டும் உள்ளே செல்ல வழி இல்லை. console-லிருந்து தீர்வு: /etc/webmin/miniserv.conf கோப்பில் allow= வரியைத் திருத்தவும், சரிசெய்யவும் அல்லது நீக்கவும். பின்னர் sudo systemctl restart webmin இயக்கவும்.

"Login failed. Please try again." ஆனால் சரியான நற்சான்றுகளை நீங்கள் அறிந்திருக்கிறீர்கள். கணக்கிற்கு Unix password இல்லை. இது key-only cloud images-ல் வழக்கமானது. Webmin அங்கீகாரத்திற்கு PAM மூலம் Unix password-ஐ சரிபார்க்கிறது. அப்பயனருக்கு அந்த password இல்லை. தீர்வு: சேவையகத்தில் sudo passwd youruser இயக்கவும், பின்னர் உள்நுழையவும். /var/webmin/miniserv.log ஆனது Non-existent login as ... எனக் காட்டினால், நீங்கள் தட்டச்சு செய்யும் பயனர்பெயர் Unix கணக்கே அல்ல.

இரண்டுக்கும் மேற்பட்ட சேவையகங்களுக்கு, ஒவ்வொரு சேவையகத்திலும் control panel வைப்பதை விட automation சிறந்த அளவிடலைத் தருகிறது: உங்கள் முதல் Ansible playbook அங்குதான் தொடங்குகிறது.

FAQ

Webmin-ஐ பொது இணையத்தில் வெளிப்படுத்துவது பாதுகாப்பானதா?

இணையத்துடன் இணைக்கப்பட்ட Webmin-ஐ உள்நுழைவுப் பக்கம் கொண்ட root shell ஆகக் கருதுங்கள். ஏனெனில் அது அப்படித்தான் இருக்கிறது. இது பல அடுக்குகளில் மட்டுமே போதுமான அளவுக்குப் பாதுகாப்பானது: ஒரு உண்மையான சான்றிதழ், இரண்டு-காரணி அங்கீகாரம், Fail2ban, மற்றும் கடுமையான IP allowlist அல்லது பொது வெளிப்பாடே இல்லாதிருப்பது சிறந்தது. ஆபத்து மிகக் குறைந்த அமைப்பு Webmin-ஐ 127.0.0.1 உடன் இணைத்து SSH tunnel வழியாக அணுகுகிறது. எனவே port 10000 திறந்த இணையத்தில் யாருக்கும் பதிலளிக்காது.

Webmin சான்றிதழ் எச்சரிக்கையை நான் எப்படி நீக்குவது?

இந்த எச்சரிக்கை (NET::ERR_CERT_AUTHORITY_INVALID) தோன்றுவதற்குக் காரணம், Webmin ஒரு self-signed சான்றிதழை வழங்குவதாகும். Webmin, Webmin Configuration, SSL Encryption, Let's Encrypt வழியாக ஒரு உண்மையான சான்றிதழை உருவாக்குங்கள். இதற்கு சேவையகத்தை நோக்கி சுட்டும் ஒரு DNS பெயர் தேவை. மேலும் சரிபார்ப்புக்காக port-80 challenge-க்கு பதிலளிக்க ஒரு சேவை தேவை. நீங்கள் Webmin-ஐ localhost க்கான SSH tunnel வழியாக மட்டுமே அணுகினால், இந்த எச்சரிக்கை பாதப்படுத்தாது. SSH ஏற்கனவே இணைப்பை மறைகுறியாக்கி அங்கீகரிக்கிறது. எனவே நீங்கள் self-signed சான்றிதழை பாதுகாப்பாக ஏற்றுக்கொள்ளலாம்.

Webmin-ஐ எனது IP முகவரிக்கு மட்டும் எப்படி கட்டுப்படுத்துவது?

Webmin, Webmin Configuration, IP Access Control க்குச் செல்லுங்கள். "Only allow from listed addresses" என்பதைத் தேர்ந்தெடுத்து, curl ifconfig.me இலிருந்து உங்கள் பொது IP-ஐ உள்ளிடவும். Webmin இதை /etc/webmin/miniserv.conf இன் allow= வரியில் சேமிக்கிறது. மாறும் வீட்டு IP-ஐப் பற்றி கவனமாக இருங்கள்: அது மாறினால் நீங்கள் பூட்டப்படுவீர்கள். சேவையக console இலிருந்து allow= வரியை நீங்கள் பழுதுபார்க்க வேண்டும். எனவே நிலையான முகவரி அல்லது SSH-tunnel முறை நடைமுறையில் நம்பகமானது.

சரியான கடவுச்சொல் இருந்தாலும் எனது உள்நுழைவு ஏன் தோல்வியடைகிறது?

Webmin உங்கள் Unix கடவுச்சொல்லுக்கு எதிராக PAM வழியாக அங்கீகரிக்கிறது. மேகக் கணிப்புப் படிமங்கள் பொதுவாக விசை-மட்டும் கொண்டவையாக இருக்கும். இயல்புநிலைக் கணக்கில் கடவுச்சொல் எதுவும் அமைக்கப்பட்டிருக்காது. எனவே PAM ஒப்பிட எதுவும் இல்லாததால் உள்நுழைவு நிராகரிக்கப்படுகிறது. ஒன்றை அமைக்க சேவையகத்தில் sudo passwd youruser ஐ இயக்கவும், பிறகு உள்நுழையவும். /var/webmin/miniserv.log இல் உள்ள Non-existent login as ... வரி அதற்கு பதிலாக பயனர்பெயர் ஒரு உண்மையான Unix கணக்கு அல்ல என்பதைக் குறிக்கிறது.

வெறும் SSH உடன் ஒப்பிடும்போது Webmin எதற்குப் பயன்படுகிறது?

Webmin ஒரு கண்டுபிடிப்பு மற்றும் வசதி அடுக்கு. இது log கோப்புகளை உலாவுவதற்கு, பயனர்கள் மற்றும் cron-ஐ நிர்வகிப்பதற்கு, firewall விதிகளைத் திருத்துவதற்கு, மற்றும் ஒவ்வொரு கட்டளையையும் மனப்பாடம் செய்யாமல் வட்டு மற்றும் சேவை நிலையைப் பார்ப்பதற்கு உண்மையில் பயனுள்ளதாக இருக்கிறது. இது அவ்வப்போது நிர்வகிக்கும் நிர்வாகிகள் அல்லது கலப்பு திறன் கொண்ட குழுக்களுக்கு உதவியாக இருக்கிறது. வெறும் SSH வேகமானது, script செய்யக்கூடியது, மேலும் வழக்கமான வேலைகளுக்கு மிகக் குறைவான தாக்குதல் பரப்பை வெளிப்படுத்துகிறது. பல நிர்வாகிகள் இரண்டையும் இயக்குகிறார்கள்: தினசரி பயன்பாட்டுக்கு SSH, மற்றும் அவ்வப்போது சுட்டி கிளிக் வேலைகளுக்கு tunnel பின்னால் localhost உடன் இணைக்கப்பட்ட Webmin.