SSD Nodes Learn
मार्गदर्शक Matt Connorद्वारे Matt Connor · अपडेटेड 2026-07-24

Ubuntu 24.04 वर Webmin कसे इन्स्टॉल करावे?

Ubuntu 24.04 वर Webmin इन्स्टॉल करा आणि port 10000 सुरक्षित करण्यासाठी Let's Encrypt, 2FA आणि Fail2ban चा वापर करून सर्व्हर सुरक्षित करा.

तुम्ही काय तयार करत आहात

Webmin हे एक वेब कंट्रोल पॅनेल आहे जे संपूर्ण Linux सर्व्हरसाठी ब्राउझर फ्रंट एंड प्रदान करते — यामध्ये users, packages, cron jobs, firewall, Apache, BIND, disks आणि इतर 100 मॉड्यूल्स समाविष्ट आहेत. हे port 10000 वर HTTPS द्वारे वापरता येते. याची installation प्रक्रिया केवळ तीन commands मध्ये पूर्ण होते आणि त्यासाठी सुमारे एक मिनिट लागतो. या मार्गदर्शिकेचा मोठा भाग दुसऱ्या भागात असल्याने याचे मुख्य कारण असे की, Webmin root म्हणून log in होते आणि root कडील सर्व अधिकार याला असतात. जर Webmin मध्ये authentication नसेल, तर तो केवळ "व्यवस्थापित करायचा धोका" (risk to manage) नसून, तो पूर्ण सर्व्हर कॉम्प्रोमाइज होण्यासारखे आहे. त्यामुळे, ते 10 मिनिटांत install करा आणि त्यानंतर उर्वरित वेळ फक्त तुम्हालाच ते एक्सेस करता येईल याची खात्री करण्यासाठी वापरा.

पूर्वअटी आणि एक महत्त्वाची चेतावणी

root किंवा sudo युजर असलेला नवीन Ubuntu 24.04 KVM VPS. Webmin हे Perl वर आधारित आणि हलके आहे — 1 GB RAM पुरेसे आहे आणि आयडल (idle) असताना ते 1/4 GB पेक्षा कमी जागा वापरते. ते Apache किंवा nginx ऐवजी स्वतःच्या bundled web server (miniserv.pl) द्वारे TCP 10000 वर चालते, त्यामुळे आधी इतर काहीही इन्स्टॉल करण्याची गरज नाही.

सुरुवात करण्यापूर्वी दोन गोष्टी ठरवणे आवश्यक आहे. पहिली, तुम्ही ज्या खात्याने (account) लॉग इन करणार आहात: Webmin हे PAM द्वारे Unix accounts द्वारे प्रमाणीकरण (authenticate) करते, त्यामुळे तुम्ही root किंवा sudo ग्रुपमधील युजर म्हणून त्या खात्याचा Unix password वापरून लॉग इन करू शकता. Cloud images मध्ये सहसा पासवर्ड सेट नसतो आणि फक्त key-based access असतो; Webmin पासवर्ड नसलेल्या खात्यात लॉग इन करू शकत नाही. प्रथम sudo passwd youruser वापरून पासवर्ड सेट करा, अन्यथा तुम्ही काहीही टाईप केले तरी लॉग इन अयशस्वी होईल.

दुसरी गोष्ट, आणि ही चेतावणी आहे: पोर्ट 10000 थेट इंटरनेटसाठी उघडा आणि काम सोडून देऊ नका. तुम्ही Webmin कडे SSH tunnel द्वारे प्रवेश करणार (शिफारस केलेले, काहीही एक्सपोज न होता) की फक्त तुमच्या स्वतःच्या IP ला मर्यादित करणार, हे आताच ठरवा. या एका निर्णयामुळे पुढील सर्व पायऱ्या ठरतात, म्हणून firewall मध्ये बदल करण्यापूर्वी दोन्ही पर्याय काळजीपूर्वक वाचा.

अधिकृत repository मधून Webmin install करा

Webmin एक signed apt repository प्रदान करते. setup script ही repo आणि तिची GPG signing key समाविष्ट करते, ज्यामुळे भविष्यातील apt upgrade runs मध्ये Webmin इतर कोणत्याही package प्रमाणेच pull होईल. यामुळे तुम्हाला authenticated updates मिळतात, ज्यामुळे .deb प्रमाणे स्वतःहून patch न होणारे downloads टाळता येतात.

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

Script काय प्रक्रिया करणार आहे ते प्रिंट करते आणि Setup repository? (y/N) विचारते — y उत्तर द्या. प्रक्रिया पूर्ण झाल्यावर, package install करा. --install-recommends flag सामान्य Perl आणि SSL module dependencies pull करतो, जेणेकरून नंतर individual modules मध्ये missing-library errors येणार नाहीत.

sudo apt-get install --install-recommends webmin

Webmin ने या script चे नाव आधी बदलले आहे — जुन्या guides मध्ये setup-repos.sh चा संदर्भ आहे — त्यामुळे जर raw URL 404 error देत असेल, तर ठराविक नाव शोधण्याऐवजी webmin.com/download वरून थेट current one-liner मिळवा. यशस्वी installation Webmin install complete. You can now login to https://your-host:10000/ as root सारख्या line ने संपते. Service enabled आणि running असते, config /etc/webmin मध्ये असते, requests /var/webmin/miniserv.log मध्ये log होतात, आणि failed logins syslog मध्ये जातात — Ubuntu 24.04 वर, ते systemd journal मध्ये जातात.

Browser उघडण्यापूर्वी service चालू आहे आणि listening मोडमध्ये आहे याची खात्री करा:

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

तुम्हाला active (running) status आणि 0.0.0.0:10000 ला bound असलेली miniserv.pl दर्शवणारी line मिळणे आवश्यक आहे — खालील tunnel route वापरल्यानंतर तो address 127.0.0.1:10000 मध्ये बदलतो. जर ss मध्ये 10000 port वर काहीच दिसत नसेल, तर Webmin सुरू झाले नाही; पुढे जाण्यापूर्वी journalctl -u webmin -n 50 वाचा.

पहिले लॉगिन आणि प्रमाणपत्र (certificate) चे चेतावणी

तुमच्या ब्राउझरमध्ये https://YOUR_SERVER_IP:10000 उघडा. नवीन इन्स्टॉलेशनमध्ये दोन गोष्टी घडतात.

जर ufw सक्रिय (active) असेल — Ubuntu च्या मूळ सर्व्हर इमेजमध्ये ते निष्क्रिय असते, परंतु अनेक प्रोव्हायडर्स ते आधीच सुरू ठेवतात — तर पेज लोड होणार नाही; याची माहिती खालील 'failure modes' मध्ये दिली आहे. जर पोर्ट उघडा (open) असेल, तर तुमचा ब्राउझर पूर्ण पेज ब्लॉक करेल: Chrome मध्ये NET::ERR_CERT_AUTHORITY_INVALID कोडसह "Your connection is not private" किंवा Firefox मध्ये SEC_ERROR_UNKNOWN_ISSUER / "Warning: Potential Security Risk Ahead". ही अपेक्षित प्रक्रिया आहे आणि कोणताही हल्ला झालेला नाही. Webmin ने इन्स्टॉलेशन दरम्यान स्वतःचे self-signed certificate (/etc/webmin/miniserv.pem) तयार केले आहे. कोणत्याही certificate authority ने याला प्रमाणित केलेले नसल्यामुळे, ब्राउझर यावर विश्वास ठेवण्यास नकार देतो. कनेक्शन अजूनही encrypted आहे; फक्त ते प्रमाणित केलेले नाही. सध्यासाठी (Advanced, नंतर Proceed) वर क्लिक करा — आपण पुढे जाऊन हे प्रमाणपत्र योग्यरित्या बदलू.

root किंवा तुमचा sudo युजर आणि त्याचा Unix पासवर्ड वापरून लॉगिन करा, त्यानंतर तुम्ही System Information डॅशबोर्डवर पोहोचाल. येथे एक सामान्य चूक म्हणजे https:// ऐवजी http:// टाईप करणे. त्या पोर्टवर miniserv साध्या HTTP वर "This web server is running in SSL mode. Try the URL https://..." असा मजकूर देतो — याचे निराकरण करण्यासाठी ॲड्रेस बारमध्ये http ऐवजी https करणे आवश्यक आहे.

सुरक्षा निर्णय: तुम्ही Webmin कशा प्रकारे एक्सेस करणार?

आता महत्त्वाचा भाग. root-equivalent पॅनेल इंटरनेटवर उघड्यावर ठेवू नये, जेणेकरून जगातील कोणत्याही स्कॅनरकडून लॉगिनचे प्रयत्न स्वीकारले जाणार नाहीत. तुमच्याकडे पसंतीनुसार दोन सुरक्षित पर्याय आहेत.

पर्याय B मधील SSH tunnel हा सर्वोत्तम पर्याय आहे, कारण तो काहीही उघड (expose) करत नाही. जर तुमचा IP पत्ता static असेल, तर पर्याय A मधील IP allowlist स्वीकारार्ह आहे. या दोन्हीपैकी एकही पर्याय न वापरणे ही मोठी चूक ठरू शकते, जी टाळण्यासाठी हा संपूर्ण मार्गदर्शक तयार केला आहे. जर तुम्हाला वरील पर्यायांपेक्षा खाजगी नेटवर्कद्वारे Webmin एक्सेस करायला आवडत असेल, तर सर्व्हरला self-hosted WireGuard VPN च्या मागे ठेवा आणि Webmin ला सार्वजनिक IP ऐवजी tunnel address वर bind करा.

Option A: Webmin फक्त तुमच्या IP साठी मर्यादित करा

पॅनेलमध्ये, Webmin, त्यानंतर Webmin Configuration, आणि त्यानंतर IP Access Control उघडा. "Only allow from listed addresses" निवडा आणि तुमचा public IP प्रविष्ट करा. तुमचा public IP शोधण्यासाठी तुमच्या लॅपटॉपवर curl ifconfig.me चालवा. Save करा. Webmin ही माहिती /etc/webmin/miniserv.conf मधील allow= ओळीत लिहिते आणि स्वतःला restart करते.

धोका: जर तुमचा home IP dynamic असेल आणि बदलला, किंवा तुम्ही पत्ता चुकीचा टाईप केला, तर तुम्ही स्वतःला लॉक कराल. त्यानंतर ब्राउझरमध्ये "Access denied for <your IP>" असे दिसेल आणि लॉगिन फॉर्म दिसणार नाही; पुन्हा प्रवेश करण्यासाठी कोणताही web path उपलब्ध नसेल. तुम्ही हे SSH किंवा तुमच्या provider च्या VNC द्वारे server console मधून दुरुस्त करू शकता:

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= ओळ हटवल्यास पूर्णपणे open access पुन्हा प्राप्त होतो, त्यामुळे फक्त रिकव्हरीसाठीच याचा वापर करा आणि त्यानंतर लगेच योग्य value सेट करा.

Option B: localhost ला bind करा आणि SSH द्वारे tunnel करा (शिफारस केलेले)

कोणत्याही allowlist पेक्षा, public interface वर listen न करणे केव्हाही चांगले. miniserv ला फक्त loopback वर bind करण्यासाठी सांगा, आणि नंतर आधीपासून विश्वासातील असलेल्या encrypted SSH tunnel द्वारे त्याला एक्सेस करा.

/etc/webmin/miniserv.conf एडिट करा आणि एक ओळ जोडा किंवा बदला:

bind=127.0.0.1

sudo systemctl restart webmin ने restart करा. Webmin आता इंटरनेटवरून unreachable आहे — 10000 पोर्टचा port scan केल्यास काहीही सापडणार नाही, आणि आधी केलेली ss check आता 127.0.0.1:10000 वर bound असल्याचे दर्शवेल. तुमच्या laptop वरून, tunnel उघडा:

ssh -L 10000:localhost:10000 youruser@YOUR_SERVER_IP

ती session उघडी ठेवा आणि https://localhost:10000 वर ब्राउझ करा. सर्व traffic SSH च्या आतून जातो, जो तुमच्या key द्वारे आधीच authenticated आणि encrypted आहे, त्यामुळे तुम्ही येथे self-signed certificate सुरक्षितपणे स्वीकारू शकता — SSH layer कडून प्रत्यक्ष संरक्षण दिले जाते. SSH session बंद केल्यावर Webmin उपलब्ध नसेल. काहीही allowlist करण्याची गरज नाही, काहीही exposed नाही, आणि harden करण्यासाठी कोणतीही अतिरिक्त service नाही.

जर तुम्ही bind=127.0.0.1 सेट केली आणि tunnel विसरलात, तर remote access थांबेल — ही एक feature आहे, fault नाही. Option A प्रमाणेच रिकव्हर करा: console मधून, bind ओळ काढून टाका किंवा bind=0.0.0.0 सेट करा, आणि नंतर restart करा. ही तीच tunnelling पद्धत आहे जी तुम्ही tmux मध्ये Claude Code चालवणाऱ्या remote development box ला एक्सेस करण्यासाठी वापरता — एक SSH session, सर्व काही private, आणि public interface वर काहीही अतिरिक्त listening नाही.

self-signed certificate च्या जागी real certificate वापरा

जर तुम्ही Option A अंतर्गत hostname वर Webmin वापरत असाल, तर real Let's Encrypt certificate वापरून browser warning काढून टाका. तुम्हाला एक DNS name आवश्यक आहे — उदाहरणार्थ panel.example.com — ज्याचा A record server कडे निर्देशित असावा, आणि validation दरम्यान port-80 HTTP challenge ला प्रतिसाद देणारी यंत्रणा असावी.

Webmin मध्ये ही सुविधा इन-बिल्ट आहे: Webmin, मग Webmin Configuration, मग SSL Encryption, आणि मग Let's Encrypt tab. hostname प्रविष्ट करा, "website root directory" असा path निवडा जो त्या domain साठी port 80 वर उपलब्ध आहे, आणि request करा. Webmin certificate प्राप्त करते, miniserv.conf मधील certfile= आणि keyfile= lines आपोआप अपडेट करते, आणि expiry च्या आधी ते आपोआप renew करते. page reload करा आणि padlock व्यवस्थित दिसेल.

एक मुख्य अडचण: Webmin चा स्वतःचा server 10000 वर चालतो, 80 वर नाही, त्यामुळे http-01 challenge साठी एक real web server — Apache किंवा nginx — आवश्यक आहे जो port 80 वर panel.example.com साठी प्रतिसाद देईल, अन्यथा DNS-based validation वापरावे लागेल. जर port 80 वर काहीही नसेल आणि फक्त Webmin असलेला box असेल, तर Let's Encrypt ला challenge file पर्यंत पोहोचण्यासाठी मार्ग मिळेपर्यंत request validation error सह fail होईल. DNS records, port-80 challenge आणि renewal ही प्रक्रिया कोणत्याही website साठी certificate जारी करण्यासारखीच आहे. अधिक माहितीसाठी, Let's Encrypt TLS certificates with Certbot and nginx guide मध्ये validation flow आणि DNS setup सविस्तर दिले आहे. जर तुम्ही SSH-tunnel पद्धत वापरली असेल, तर तुम्ही हा section पूर्णपणे वगळू शकता: SSH च्या मागे self-signed certificate वापरणे सुरक्षित आहे, आणि panel.example.com साठी जारी केलेले real certificate तुम्ही https://localhost:10000 ला भेट देताना फक्त name-mismatch warning देईल.

Two-factor authentication सुरू करा

root panel साठी केवळ पासवर्ड पुरेसा नाही, म्हणून दुसरा घटक (second factor) जोडा. Webmin, मग Webmin Configuration, आणि नंतर Two-Factor Authentication उघडा. Google Authenticator निवडा — हा standard TOTP आहे, त्यामुळे तो Authy, 1Password किंवा कोणत्याही authenticator app सोबत काम करतो — आणि save करा. Webmin आवश्यक Perl module (Authen::OATH आणि QR generator) इंस्टॉल करतो आणि हे feature enable करतो; या पायरीमुळे अद्याप कोणतेही account सुरक्षित होत नाही.

त्यानंतर प्रत्येक account ला स्वतःचे device जोडावे लागते. 2FA enable केल्यानंतर, Webmin, मग Webmin Users उघडा, संबंधित account निवडा, Enable Two-Factor For User निवडा, आणि Webmin एक QR code दाखवेल; तो app ने scan करा आणि खात्री करण्यासाठी एक जनरेट केलेला code प्रविष्ट करा. त्यानंतर, login करताना पासवर्ड नंतर सहा अंकी token विचारला जाईल. लॉग आउट करण्यापूर्वी ही प्रक्रिया पूर्ण करा — जर 2FA आवश्यक असेल पण तुमच्या account ने कधीही code scan केला नसेल, तर तुम्ही console मधून ही आवश्यकता काढून टाकू शकता, परंतु आधी enrol करणे अधिक सोपे आहे.

brute-force logins रोखण्यासाठी Fail2ban जोडा

मर्यादित लॉगिन endpoint असतानाही, वारंवार होणारे लॉगिन failures रोखणे आवश्यक आहे. Webmin, अयशस्वी लॉगिनची माहिती syslog मध्ये webmin[12345]: Invalid login as root from 10.0.0.9 स्वरूपात नोंदवते, किंवा जर username Unix account नसेल तर Non-existent login as ... स्वरूपात नोंदवते. Ubuntu 24.04 मध्ये, stock image मध्ये /var/log/auth.log नसल्यामुळे या ओळी systemd journal मध्ये जातात. Fail2ban मध्ये एक stock webmin-auth filter असते जो या दोन ओळींशी तंतोतंत मॅच होतो. खालील jail स्वतः backend = systemd सेट करते, त्यामुळे त्याला कोणत्याही custom regex किंवा log path ची गरज नसते.

/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 वापरून reload करा, आणि त्यानंतर jail सक्रिय आहे की नाही ते तपासा:

sudo fail2ban-client status webmin-auth

सुरुवातीला तुम्हाला jail ची यादी zero ban counter सह दिसेल (journal backend मध्ये File list: ओळ नसते). संपूर्ण प्रक्रिया तपासण्यासाठी, दुसऱ्या नेटवर्कवरून जाणीवपूर्वक काही वेळा लॉगिन fail करा, त्यानंतर status command पुन्हा चालवा आणि Currently banned वाढत आहे की नाही ते पहा. जर ते वाढत नसेल, तर तुम्ही Fail2ban च्या ignoreip मध्ये असलेल्या address वरून टेस्ट करत नाही आहात याची खात्री करा, आणि Invalid login ओळी खरोखर लिहिल्या जात आहेत की नाही हे पाहण्यासाठी सर्व्हरवर journalctl SYSLOG_IDENTIFIER=webmin चालवा. जर या बॉक्सवर Fail2ban अद्याप इंस्टॉल नसेल, तर Fail2ban on Ubuntu 24.04 for SSH guide मध्ये installation आणि यासोबतच चालवावे लागणारे SSH jail बद्दल माहिती दिली आहे.

Webmin वापरकर्त्यांच्या परवानग्या मर्यादित करा

पॅनेल वापरणाऱ्या प्रत्येक व्यक्तीला सर्व गोष्टींसाठी root परवानग्यांची गरज नसते. Webmin, then Webmin Users मध्ये जाऊन नवीन Webmin लॉगिन तयार करा आणि प्रत्येक वापरकर्त्याला फक्त आवश्यक तेवढेच modules द्या — उदाहरणार्थ, ज्याला फक्त cron आणि filesystem modules हवे आहेत, असा backups operator. वापरकर्त्याचे (user) संपादन करताना सर्व modules ची यादी दिसते; एखादा module अनचेक केल्यास तो त्या वापरकर्त्याच्या मेनू मधून निघून जातो आणि त्याशी संबंधित URLs ब्लॉक होतात. ही 'defence in depth' पद्धत आहे: जर Users module यादीत नसेल, तर कमी परवानग्या असलेला Webmin session चोरीला गेला तरी तो /etc/shadow बदलू शकत नाही.

Webmin अपडेटेड ठेवणे

तुम्ही apt repository मधून इन्स्टॉल केले असल्यामुळे, sudo apt update && sudo apt upgrade इतर सिस्टम अपडेट्सप्रमाणेच Webmin चे नवीन releases देखील मिळवते. पॅचेस त्वरित इन्स्टॉल करा — control panel हे हॅकर्सचे मुख्य लक्ष्य असते. Webmin स्वतःला Webmin, then Webmin Configuration, then Upgrade Webmin या मार्गाने अपडेट करू शकते, परंतु Ubuntu वर apt मार्ग अधिक चांगला आहे कारण तो इतर package management सोबत आवृत्त्या (versions) सुसंगत ठेवतो. या प्रक्रियेकडे दुर्लक्ष करू नका: पूर्वीच्या अनेक Webmin CVEs मध्ये remote-code-execution बग्स होते, आणि "patched" आणि "compromised" यांच्यातील फरक केवळ ॲडमिनने upgrade किती वेगाने पूर्ण केला यावर अवलंबून होता.

Failure modes, with the strings you will see

"Your connection is not private" / NET::ERR_CERT_AUTHORITY_INVALID. हे पहिल्या वेळी लोड करताना दिसते. कारण: Webmin ने इन्स्टॉलेशन दरम्यान तयार केलेले self-signed certificate हे trusted issuer द्वारे प्रमाणित केलेले नसते. हा हल्ला नाही; चॅनेल एन्क्रिप्टेड आहे, फक्त ते सत्यापित केलेले नाही. उपाय: सध्या वॉर्निंगकडे दुर्लक्ष करून पुढे जा, त्यानंतर खरे Let's Encrypt certificate मिळवा, किंवा जर तुम्ही SSH tunnel द्वारे Webmin वापरत असाल, तर ते कायमस्वरूपी स्वीकारून घ्या.

"This web server is running in SSL mode. Try the URL https://..." तुम्ही http://server:10000 टाईप केले आहे. miniserv त्या पोर्टवर फक्त TLS वापरते आणि ते तुम्हाला स्पष्टपणे सांगत आहे. उपाय: address bar मध्ये http ऐवजी https करा.

Page times out — ERR_CONNECTION_TIMED_OUT / "This site can't be reached". विनंती (request) Webmin पर्यंत पोहोचत नाही. Ubuntu मध्ये याचे मुख्य कारण म्हणजे ufw द्वारे port 10000 ड्रॉप होणे. sudo ufw status वापरून याची खात्री करा; जर 10000 लिस्टमध्ये नसेल, तर sudo ufw allow 10000/tcp वापरून तो पोर्ट उघडा किंवा, अधिक चांगले म्हणजे, तो बंद ठेवून Option B मधील SSH tunnel वापरा. फरक लक्षात घ्या: timeout म्हणजे firewall पॅकेट्स गळती (drop) करत आहे, तर ERR_CONNECTION_REFUSED म्हणजे पोर्ट उपलब्ध आहे पण Webmin सुरू नाही — sudo systemctl status webmin तपासा.

"Access denied for <your IP>." तुम्ही Option A अंतर्गत IP Access Control सेट केले आहे आणि तुमचा सध्याचा IP पत्ता allow list मध्ये नाही — कदाचित तुमचा dynamic IP बदलला आहे किंवा टाईप करताना चूक झाली आहे. ब्राउझरद्वारे पुन्हा प्रवेश करण्याचा कोणताही मार्ग नाही. उपाय (console मधून): /etc/webmin/miniserv.conf मधील allow= ओळ एडिट करा, ती दुरुस्त करा किंवा काढून टाका, आणि sudo systemctl restart webmin रन करा.

"Login failed. Please try again." (तुम्हाला माहित असलेल्या योग्य credentials सह). त्या खात्याला Unix password नाही, जे की-ओन्ली (key-only) क्लाउड इमेजेसमध्ये सामान्य आहे. Webmin Unix password च्या आधारे PAM द्वारे ऑथेंटिकेशन करते, आणि त्या युजरसाठी तो पासवर्ड अस्तित्वात नाही. उपाय: सर्व्हरवर sudo passwd youruser रन करा, त्यानंतर लॉग इन करा. जर /var/webmin/miniserv.log मध्ये Non-existent login as ... दिसत असेल, तर तुम्ही असा युजरनेम टाईप करत आहात जो Unix account नाही.

अनेक सर्व्हर्ससाठी, प्रत्येक बॉक्सवर कंट्रोल पॅनेल वापरण्यापेक्षा ऑटोमेशन अधिक प्रभावी ठरते: your first Ansible playbook पासून याची सुरुवात करा.

FAQ

Webmin सार्वजनिक इंटरनेटवर (public internet) उघडणे सुरक्षित आहे का?

इंटरनेटवर उपलब्ध असलेला Webmin हा लॉगिन पेजसह असलेला root shell आहे असे समजावे. तो केवळ खालील सुरक्षा स्तरांमुळे (layers) सुरक्षित असू शकतो: वैध certificate, two-factor authentication, Fail2ban, आणि एक कडक IP allowlist किंवा अधिक चांगले म्हणजे, सार्वजनिक प्रवेश पूर्णपणे बंद ठेवणे. सर्वात कमी जोखमीची पद्धत म्हणजे Webmin ला 127.0.0.1 ला bind करणे आणि SSH tunnel द्वारे त्याचा वापर करणे, ज्यामुळे open internet वर port 10000 कोणालाही प्रतिसाद देत नाही.

Webmin certificate warning कशी घालवायची?

ही warning (NET::ERR_CERT_AUTHORITY_INVALID) Webmin मध्ये self-signed certificate असल्यामुळे येते. Webmin मध्ये, Webmin Configuration, SSL Encryption, Let's Encrypt वर जाऊन एक वैध certificate मिळवा. यासाठी असा DNS name वापरा जो validation साठी port-80 challenge हाताळणाऱ्या सर्व्हरकडे निर्देशित (point) करतो. जर तुम्ही Webmin कडे फक्त localhost च्या SSH tunnel द्वारे प्रवेश करत असाल, तर ही warning निरर्थक आहे — कारण SSH आधीच कनेक्शन encrypt आणि authenticate करते — आणि तुम्ही self-signed certificate सुरक्षितपणे स्वीकारू शकता.

Webmin फक्त माझ्या IP address पर्यंत मर्यादित कसा करायचा?

Webmin, Webmin Configuration, IP Access Control वर जा, "Only allow from listed addresses" निवडा, आणि curl ifconfig.me कडील तुमचा public IP प्रविष्ट करा. Webmin ही माहिती /etc/webmin/miniserv.conf च्या allow= ओळीत साठवते. डायनॅमिक होम IP कडे लक्ष द्या: जर तो बदलला तर तुम्ही लॉग-आउट व्हाल आणि तुम्हाला सर्व्हर console मधून allow= ओळ दुरुस्त करावी लागेल. त्यामुळे, प्रत्यक्ष वापरासाठी static address किंवा SSH-tunnel पद्धत अधिक विश्वसनीय आहे.

योग्य पासवर्ड असूनही लॉगिन का अयशस्वी होते?

Webmin तुमच्या Unix password च्या विरुद्ध PAM द्वारे authentication करते. क्लाउड images मध्ये सहसा default account साठी पासवर्ड सेट नसतो, फक्त key-only असते — त्यामुळे PAM ला मॅच करण्यासाठी काहीच नसते आणि लॉगिन नाकारले जाते. पासवर्ड सेट करण्यासाठी सर्व्हरवर sudo passwd youruser चालवा, त्यानंतर लॉगिन करा. जर /var/webmin/miniserv.log मध्ये Non-existent login as ... ओळ असेल, तर याचा अर्थ तो username स्वतः एक खरा Unix account नाही.

साध्या SSH च्या तुलनेत Webmin कशासाठी उपयुक्त आहे?

Webmin हा सुलभता आणि शोधण्यायोग्य (discoverability) असलेला एक layer आहे. log files पाहण्यासाठी, users आणि cron व्यवस्थापित करण्यासाठी, firewall rules संपादित करण्यासाठी, आणि प्रत्येक command लक्षात न ठेवता disk आणि service state पाहण्यासाठी तो खरोखर उपयुक्त आहे — हे अधूनमधून काम करणाऱ्या admins किंवा मिश्र कौशल्य असलेल्या टीमसाठी सोयीचे आहे. साधे SSH अधिक वेगवान आहे, scriptable आहे आणि दैनंदिन कामासाठी खूप कमी attack surface उघड करते. अनेक admins दोन्ही वापरतात: दैनंदिन कामासाठी SSH, आणि अधूनमधून क्लिक-आधारित कामांसाठी tunnel च्या मागे localhost ला bind केलेला Webmin.