Για τους διαχειριστές συστημάτων, Webmin είναι μια πραγματική ευλογία. Είναι ένας πίνακας ελέγχου που βασίζεται στο web και επιτρέπει την απομακρυσμένη διαχείριση ενός μηχανήματος Linux, χρησιμοποιώντας μια σύγχρονη διεπαφή web. Το Webmin μπορεί να αλλάξει διάφορες ρυθμίσεις του συστήματος άμεσα, συμπεριλαμβανομένων των διακομιστών web και των βάσεων δεδομένων. Μπορεί επίσης να διαχειριστεί χρήστες, ομάδες και πακέτα λογισμικού.
Σε αυτόν τον οδηγό, θα σας καθοδηγήσουμε στα βήματα εγκατάστασης και παραμετροποίησης του Webmin στο Ubuntu 18.04.
Webmin στο Ubuntu
Αν και το Webmin είναι ένα δημοφιλές εργαλείο για τους διαχειριστές συστημάτων, δεν είναι διαθέσιμο από τα επίσημα Ubuntu αποθετήρια. Ευτυχώς, το Webmin διαθέτει ένα αποκλειστικό PPA για το Ubuntu. Φροντίζει για τη διατήρηση του λογισμικού ενημερωμένου. Εδώ είναι οι προϋποθέσεις που θα χρειαστείτε πριν ξεκινήσουμε:
- Θα χρειαστείτε έναν διακομιστή Ubuntu με μη-root χρήστη με δικαιώματα sudo και ένα τείχος προστασίας. Δείτε πώς να εγκαταστήσετε τον διακομιστή Ubuntu σας εδώ, και πώς να ρυθμίσετε τον sudo χρήστη σας εδώ.
- Λόγω της φύσης του Webmin, είναι σημαντικό να προστατεύσετε την πρόσβαση από ανεπιθύμητα χέρια. Από προεπιλογή, το Webmin συνοδεύεται από μερικές λειτουργίες ασφαλείας. Σε αυτόν τον οδηγό, ωστόσο, το Webmin θα ασφαλιστεί χρησιμοποιώντας Let’s Encrypt και Apache. Ακολουθήστε αυτό το σεμινάριο για να εγκαταστήσετε τον διακομιστή Apache σας.
- Για το ακόλουθο σεμινάριο, πρέπει επίσης να έχετε ένα FQDN με μια εγγραφή DNS που να δείχνει προς τη διεύθυνση IP του διακομιστή.
- Θα χρειαστείτε επίσης το Certbot, το οποίο μπορείτε να δείτε πώς να εγκαταστήσετε από το Βήμα 1 του οδηγού μας για την Ασφάλιση του Apache με το Let’s Encrypt στο Ubuntu 18.04. Θα χρησιμοποιήσετε το Certbot για να δημιουργήσετε το πιστοποιητικό TLS/SSL για το Webmin.
Τώρα, ας ξεκινήσουμε!
Εγκατάσταση του Webmin στο Ubuntu
Για να εγκαταστήσουμε το Webmin, πρέπει να προσθέσουμε το Webmin PPA. Αρχικά, βεβαιωθείτε ότι το σύστημα περιέχει όλες τις απαραίτητες εξαρτήσεις:
|
1 |
sudo apt update && sudo apt install software-properties-common apt-transport-https wget |
Στη συνέχεια, εισαγάγετε το κλειδί PGP του Webmin:
|
1 |
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - |
Τέλος, προσθέστε το αποθετήριο του Webmin:
|
1 |
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib" |
Το APT μπορεί τώρα να αναγνωρίσει το Webmin PPA. Ενημερώστε την προσωρινή μνήμη (cache) του APT:
|
1 |
sudo apt update |
Τέλος, εγκαταστήστε το Webmin:
|
1 |
sudo apt install webmin |
Μόλις ολοκληρωθεί η εγκατάσταση, θα εμφανιστεί κάτι σαν αυτό, υποδεικνύοντας ότι η πρόσβαση στο Webmin μπορεί να γίνει απευθείας μέσω του ακόλουθου συνδέσμου. Σε αυτό το παράδειγμα, χρησιμοποιεί το όνομα κεντρικού υπολογιστή (hostname) του συστήματός μου:
|
1 |
https://localhost:10000 |
Αναφέρει ότι για να έχει ο χρήστης πλήρη έλεγχο του συστήματος χρησιμοποιώντας το Webmin, πρέπει να γνωρίζει τον κωδικό πρόσβασης root. Ωστόσο, αυτό δεν αρκεί για την ασφάλεια κάτι τόσο ευαίσθητου όσο το Webmin. Θα το τοποθετήσουμε πίσω από τον διακομιστή web Apache με ένα έγκυρο πιστοποιητικό TLS/SSL, όπως αναφέραμε προηγουμένως.
Ασφάλιση του Webmin
Για την πρόσβαση στο Webmin, η προεπιλεγμένη μέθοδος είναι να είναι η θύρα 10000 ανοιχτή. Στη δική μας περίπτωση, αυτό δεν είναι βέλτιστο. Για να λύσουμε το πρόβλημα, θα διαμορφώσουμε έναν εικονικό κεντρικό υπολογιστή Apache ως διαμεσολαβητή (proxy) στον διακομιστή του Webmin που εκτελείται στη θύρα 10000. Στη συνέχεια, ο εικονικός κεντρικός υπολογιστής θα ασφαλιστεί χρησιμοποιώντας ένα πιστοποιητικό TLS/SSL που λαμβάνεται από το Let’s Encrypt. Αυτή η διαδικασία απαιτεί να έχετε εγκαταστήσει και ρυθμίσει σωστά τον διακομιστή web Apache και το Certbot.
- Δημιουργία νέου εικονικού κεντρικού υπολογιστή Apache
Ο νέος εικονικός κεντρικός υπολογιστής θα οριστεί από το αρχείο ρυθμίσεών του. Ανοίξτε το αρχείο ρυθμίσεων στο πρόγραμμα επεξεργασίας κειμένου της επιλογής σας:
|
1 |
sudo vim /etc/apache2/sites-available/my_domain.conf |
Στο αρχείο, προσθέστε τις ακόλουθες γραμμές:
|
1 2 3 4 5 6 |
<VirtualHost *:80> ServerAdmin <email> ServerName <domain> ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost> |
Λέει στον Apache να προωθεί τα αιτήματα που φτάνουν στον εικονικό διακομιστή (virtual host) στον διακομιστή Webmin στην ακόλουθη τοποθεσία. Επίσης, διασφαλίζει ότι οι εσωτερικοί σύνδεσμοι που δημιουργούνται από το Webmin θα περνούν μέσα από τον Apache.
- Απενεργοποίηση του Webmin TLS/SSL
Επειδή πρόκειται να ρυθμίσουμε τον Apache με TLS/SSL, δεν χρειάζεται το Webmin να έχει το δικό του TLS/SSL. Συνιστάται να απενεργοποιήσετε αυτήν τη δυνατότητα από το Webmin. Στη συνέχεια, ανοίξτε το αρχείο ρυθμίσεων του Webmin στο πρόγραμμα επεξεργασίας κειμένου της επιλογής σας:
|
1 |
sudo vim /etc/webmin/miniserv.conf |
Στη συνέχεια, αναζητήστε την ακόλουθη γραμμή:
|
1 |
ssl=1 |
Εδώ, η τιμή «1» υποδηλώνει ότι το Webmin έχει ενεργοποιημένο το SSL. Στη συνέχεια, ορίστε την τιμή σε «0» για να απενεργοποιήσετε το SSL του Webmin.
- Προσθήκη του Domain στο Webmin
Από προεπιλογή, το Webmin δεν θα επέτρεπε στο domain μας να έχει πρόσβαση σε αυτό. Αυτό συμβαίνει επειδή μια τέτοια πρόσβαση μπορεί να είναι μέρος μιας κακόβουλης επίθεσης, για παράδειγμα, μιας επίθεσης Cross-Site Scripting (XSS).
Για να διασφαλιστεί ότι το Webmin επιτρέπει το domain μας, αυτό πρέπει να δηλωθεί στις ρυθμίσεις του Webmin. Ανοίξτε το αρχείο ρυθμίσεων με το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου:
|
1 |
sudo vim /etc/webmin/config |
Στο κάτω μέρος του κειμένου, προσθέστε την ακόλουθη γραμμή:
|
1 |
referers=<domain> |
Μετά από αυτό, αποθηκεύστε το κείμενο, βγείτε από το πρόγραμμα επεξεργασίας και επανεκκινήστε την υπηρεσία Webmin για να εφαρμοστούν όλες οι αλλαγές:
|
1 |
sudo systemctl restart webmin |
- Ρύθμιση του Apache
Χρειαζόμαστε το πρόσθετο proxy_http του Apache. Η ακόλουθη εντολή θα το ενεργοποιήσει:
|
1 |
sudo a2enmod proxy_http |
Προτείνει την επανεκκίνηση του Apache. Ωστόσο, πρέπει πρώτα να ενεργοποιήσετε τον νέο εικονικό διακομιστή (virtual host):
|
1 |
sudo a2ensite <domain> |
Τέλος, επανεκκινήστε τον Apache. Θα ενεργοποιήσει το πρόσθετο και τον εικονικό διακομιστή:
|
1 |
sudo systemctl restart apache2 |
Η ακόλουθη εντολή θα ρυθμίσει το τείχος προστασίας (firewall) ώστε να επιτρέπει την εισερχόμενη κίνηση στις θύρες 80 και 443 (προεπιλεγμένες θύρες του Apache για κίνηση HTTP/HTTPS):
|
1 |
sudo ufw allow in "Apache Full" |
Για να επαληθεύσετε ότι η ρύθμιση λειτούργησε με επιτυχία, μεταβείτε στο domain σας. Θα πρέπει να εμφανιστεί η σελίδα σύνδεσης του Webmin. Ωστόσο, ΜΗΝ συνδεθείτε στο Webmin. Καθώς το TLS/SSL δεν έχει εφαρμοστεί ακόμα, θα επικοινωνήσει μέσω HTTP, στέλνοντας όλα τα δεδομένα σε μορφή απλού κειμένου:
|
1 |
http://<domain> |
- Ρύθμιση TLS/SSL
Χρειαζόμαστε ένα πιστοποιητικό για το domain μας ώστε η σύνδεση να είναι κρυπτογραφημένη. Για να το κάνουμε αυτό, θα χρησιμοποιήσουμε το Let’s Encrypt. Είναι μια δωρεάν, αυτοματοποιημένη και ανοιχτή αρχή έκδοσης πιστοποιητικών (CA). Λειτουργεί προς όφελος του κοινού και παρέχεται από την Internet Security Research Group (ISRG).
Για τη δημιουργία του πιστοποιητικού, το certbot είναι το εργαλείο που πρέπει να χρησιμοποιήσετε στο τερματικό. Εκτελέστε την ακόλουθη εντολή certbot για να δημιουργήσετε ένα πιστοποιητικό TLS/SSL για το domain σας και να ρυθμίσετε τον Apache ώστε να ανακατευθύνει την κίνηση στον ασφαλή ιστότοπο:
|
1 |
sudo certbot --apache --email <email> -d <domain> --agree-tos --redirect --noninteractive |
Το αποτέλεσμα θα μοιάζει κάπως έτσι:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Αποθήκευση debug log στο /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Λήψη ενός νέου πιστοποιητικού Εκτέλεση των ακόλουθων δοκιμασιών: http-01 challenge για <domain> Ενεργοποιήθηκε Apache rewrite module Αναμονή για επαλήθευση... Καθαρισμός up δοκιμασιών Δημιουργήθηκε ένα SSL vhost στο /etc/apache2/sites-available/<domain>-le-ssl.conf Ενεργοποιήθηκε Apache socache_shmcb module Ενεργοποιήθηκε Apache ssl module Εγκατάσταση Πιστοποιητικού στο VirtualHost /etc/apache2/sites-available/<domain>-le-ssl.conf Ενεργοποίηση διαθέσιμου ιστότοπου: /etc/apache2/sites-available/<domain>-le-ssl.conf Ενεργοποιήθηκε Apache rewrite module Ανακατεύθυνση vhost στο /etc/apache2/sites-enabled/<domain>.conf προς ssl vhost στο /etc/apache2/sites-available/<domain>-le-ssl.conf ------------------------------------------------------------------------------- Συγχαρητήρια! Έχετε have επιτυχώς ενεργοποιήσει https://<domain> Θα πρέπει να δοκιμάσετε τη ρύθμισή σας στο: https://www.ssllabs.com/ssltest/analyze.html?d=<domain> ------------------------------------------------------------------------------- |
Υποδεικνύει ότι η εγκατάσταση του πιστοποιητικού ήταν επιτυχής και ο Apache ρυθμίστηκε με επιτυχία για την ανακατεύθυνση αιτημάτων από http://<domain> σε https://<domain>.
Χρήση του Webmin
Τέλος, είμαστε έτοιμοι να διαχειριστούμε το σύστημα χρησιμοποιώντας το Webmin. Ανοίξτε το domain του Webmin από ένα πρόγραμμα περιήγησης ιστού και συνδεθείτε ως χρήστης root (ή οποιοσδήποτε άλλος χρήστης με δικαιώματα sudo).
- Διαχείριση Χρηστών και Ομάδων
Αρχικά, ας δούμε πώς να διαχειριστείτε χρήστες και ομάδες χρησιμοποιώντας το Webmin. Από το αριστερό πλαίσιο, μεταβείτε στο System >> Users and Groups:

Για να δημιουργήσετε έναν νέο χρήστη, κάντε κλικ στο Create a new user:

Μετά από αυτό, συμπληρώστε τις απαιτούμενες πληροφορίες για τον νέο χρήστη. Κάντε κλικ στο Create για να ολοκληρώσετε τη διαδικασία:

- Ενημερώσεις Πακέτων
Το Webmin μπορεί επίσης να ελέγξει για διαθέσιμες ενημερώσεις πακέτων. Από το αριστερό πλαίσιο, κάντε κλικ στο εικονίδιο Dashboard :

Ο Dashboard θα παρουσιάσει μια γρήγορη σύνοψη των στατιστικών του συστήματος. Κάτω από την ενότητα System Information , εντοπίστε την ετικέτα Package updates . Θα αναφέρει εάν υπάρχει διαθέσιμη ενημέρωση για οποιοδήποτε πακέτο.
Εναλλακτικά, από το αριστερό πλαίσιο, μεταβείτε στο System >> Software Package Updates. Κάτω από την καρτέλα Package Updates , το Webmin θα αναφέρει όλα τα πακέτα που έχουν διαθέσιμες ενημερώσεις:

Κάτω από την καρτέλα Scheduled Upgrades , το Webmin προσφέρει την επιλογή αυτοματοποίησης της εγκατάστασης ενημερώσεων πακέτων:

Στη συνέχεια, κάτω από την καρτέλα Package Repositories , το Webmin προσφέρει έναν εύκολο τρόπο διαχείρισης όλων των αποθετηρίων πακέτων που έχουν ρυθμιστεί στο σύστημα:
- Εκτέλεση Προσαρμοσμένων Εντολών
Αν και το Webmin προσφέρει πληθώρα επιλογών και προσαρμογών, υπάρχουν ακόμα πράγματα που πρέπει να γίνουν χειροκίνητα. Το Webmin μπορεί να εκτελέσει οποιαδήποτε εντολή κελύφους (shell). Για να εκτελέσετε μια εντολή, από το αριστερό πλαίσιο, μεταβείτε στο Tools >> Command Shell:

Στη συνέχεια, εισαγάγετε την επιθυμητή εντολή και κάντε κλικ στο Execute command για να την εκτελέσετε:

Εκτελείτε συγκεκριμένες εντολές τακτικά; Σκεφτείτε να τις σημειώσετε στο Webmin. Από το αριστερό πλαίσιο, μεταβείτε στο Tools >> Custom Commands. Δεν χρειάζεται πλέον να πληκτρολογείτε αυτές τις εντολές χειροκίνητα:

- Διαχείριση του Apache
Επιπλέον, εάν υπάρχει εγκατεστημένη κάποια μηχανή διακομιστή, το Webmin μπορεί να τη διαχειριστεί. Για αυτό το παράδειγμα, χρησιμοποιήσαμε το Apache. Για να διαχειριστείτε το Apache μέσω του Webmin, μεταβείτε στο Διακομιστές >> Apache:

Τελικές σκέψεις
Το Webmin είναι ένα πολύ χρήσιμο εργαλείο για τη διαχείριση ολόκληρου του συστήματός σας. Προσφέρει έναν άνετο τρόπο για να κάνετε πράγματα που κανονικά θα απαιτούσαν βαρετή αλληλεπίδραση με την οθόνη της κονσόλας. Επιπλέον, σας βοηθά να οργανώσετε με ακρίβεια το σύστημά σας. Αυτός ο οδηγός παρουσιάζει τις πιο χρήσιμες εφαρμογές του Webmin. Μη διστάσετε να εξερευνήσετε το επίσημο wiki του Webmin για να μάθετε περισσότερα σχετικά με την αξιοποίηση του εργαλείου προς όφελός σας.
Καλή συνέχεια!



Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.