Voor systeembeheerders is Webmin een uitkomst. Het is een webgebaseerd controlepaneel waarmee een Linux-machine op afstand kan worden beheerd via een moderne webinterface. Webmin kan verschillende systeemconfiguraties direct aanpassen, waaronder webservers en databases. Het kan ook gebruikers, groepen en softwarepakketten beheren.
In deze handleiding leiden we je door de stappen voor het installeren en configureren van Webmin op Ubuntu 18.04.
Webmin op Ubuntu
Hoewel Webmin een populaire tool is voor systeembeheerders, is het niet beschikbaar in de officiële Ubuntu repositories. Gelukkig heeft Webmin een speciale PPA for Ubuntu. Deze zorgt ervoor dat de software up-to-date blijft. Dit zijn de vereisten die je nodig hebt voordat we beginnen:
- Je hebt een Ubuntu-server nodig met een sudo non-root gebruiker en een firewall. Bekijk hoe je hier je Ubuntu-server installeert, en hoe je hier je sudo-gebruiker instelt.
- Vanwege de aard van Webmin is het belangrijk om de toegang te beschermen tegen ongewenste handen. Standaard is Webmin voorzien van een aantal beveiligingsfuncties. In deze handleiding wordt Webmin echter beveiligd met Let’s Encrypt en Apache. Volg deze handleiding om je Apache-server te installeren.
- Voor de volgende handleiding moet je ook een FQDN hebben met een DNS-record dat naar het IP-adres van de server verwijst.
- Je hebt ook Certbot nodig, waarvan je de installatie kunt volgen in stap 1 van onze handleiding Apache beveiligen met Let’s Encrypt op Ubuntu 18.04. Je gebruikt Certbot om het TLS/SSL-certificaat voor Webmin aan te maken.
Laten we nu beginnen!
Webmin installeren op Ubuntu
Om Webmin te installeren, moeten we de Webmin PPA toevoegen. Zorg er eerst voor dat het systeem alle benodigde afhankelijkheden bevat:
|
1 |
sudo apt update && sudo apt install software-properties-common apt-transport-https wget |
Importeer vervolgens de Webmin PGP-sleutel:
|
1 |
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - |
Voeg ten slotte de Webmin-repository toe:
|
1 |
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib" |
APT kan nu de Webmin PPA herkennen. Werk de APT-cache bij:
|
1 |
sudo apt update |
Installeer ten slotte Webmin:
|
1 |
sudo apt install webmin |
Zodra de installatie is voltooid, wordt er iets als dit weergegeven, wat aangeeft dat Webmin rechtstreeks toegankelijk is via de volgende link. In dit voorbeeld wordt de hostnaam van mijn systeem gebruikt:
|
1 |
https://localhost:10000 |
Er staat dat om volledige controle over het systeem te hebben met Webmin, de gebruiker het root-wachtwoord moet kennen. Dat is echter niet voldoende om iets dat zo gevoelig is als Webmin te beveiligen. We gaan het achter de Apache-webserver plaatsen met een geldig TLS/SSL-certificaat, zoals we eerder al zeiden.
Webmin beveiligen
Om toegang te krijgen tot Webmin is de standaardmethode om de poort 10000 open te hebben. In ons geval is dit niet optimaal. Om dit probleem op te lossen, gaan we een Apache virtual host configureren als proxy naar de server van Webmin die draait op poort 10000. Vervolgens wordt de virtual host beveiligd met een TLS/SSL-certificaat verkregen van Let’s Encrypt. Deze procedure vereist dat je de Apache-webserver en Certbot hebt geïnstalleerd en correct hebt geconfigureerd.
- Een nieuwe Apache Virtual Host maken
De nieuwe virtual host wordt gedefinieerd door het bijbehorende configuratiebestand. Open het configuratiebestand in de teksteditor van je keuze:
|
1 |
sudo vim /etc/apache2/sites-available/my_domain.conf |
Voeg de volgende regels toe aan het bestand:
|
1 2 3 4 5 6 |
<VirtualHost *:80> ServerAdmin <email> ServerName <domain> ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost> |
Dit vertelt Apache om verzoeken die binnenkomen op de virtual host door te sturen naar de Webmin-server op de volgende locatie. Het zorgt er ook voor dat door Webmin gegenereerde interne links via Apache worden doorgegeven.
- Webmin TLS/SSL uitschakelen
Omdat we Apache gaan configureren met TLS/SSL, is het niet nodig dat Webmin zijn eigen TLS/SSL heeft. Het wordt aanbevolen om deze functie in Webmin uit te schakelen. Open vervolgens het Webmin-configuratiebestand in de teksteditor van uw keuze:
|
1 |
sudo vim /etc/webmin/miniserv.conf |
Zoek vervolgens naar de volgende regel:
|
1 |
ssl=1 |
Hier geeft de waarde “1” aan dat Webmin SSL heeft ingeschakeld. Stel vervolgens de waarde in op “0” om Webmin SSL uit te schakelen.
- Het domein toevoegen aan Webmin
Standaard staat Webmin niet toe dat ons domein er toegang toe heeft. Dit komt omdat dergelijke toegang deel kan uitmaken van een kwaadaardige aanval, bijvoorbeeld een Cross-Site Scripting (XSS)-aanval.
Om ervoor te zorgen dat Webmin ons domein toestaat, moet dit worden gedeclareerd in de Webmin-configuratie. Open het configuratiebestand met uw favoriete teksteditor:
|
1 |
sudo vim /etc/webmin/config |
Voeg onderaan de tekst de volgende regel toe:
|
1 |
referers=<domain> |
Sla daarna de tekst op, sluit de editor en start de Webmin-service opnieuw op om alle wijzigingen door te voeren:
|
1 |
sudo systemctl restart webmin |
- Apache configureren
We hebben de proxy_http-module van Apache nodig. Het volgende commando zal deze inschakelen:
|
1 |
sudo a2enmod proxy_http |
Er wordt voorgesteld om Apache opnieuw op te starten. U moet echter eerst de nieuwe virtual host inschakelen:
|
1 |
sudo a2ensite <domain> |
Start ten slotte Apache opnieuw op. Hiermee worden de module en de virtual host ingeschakeld:
|
1 |
sudo systemctl restart apache2 |
Het volgende commando configureert de firewall om inkomend verkeer toe te staan op poorten 80 en 443 (standaardpoorten van Apache voor HTTP/HTTPS-verkeer):
|
1 |
sudo ufw allow in "Apache Full" |
Om te controleren of de configuratie is geslaagd, gaat u naar uw domein. Dit zou de inlogpagina van Webmin moeten openen. Log echter NIET in op Webmin. Omdat TLS/SSL nog niet is geïmplementeerd, zal het communiceren via HTTP, waarbij alle gegevens in onversleutelde tekstindeling worden verzonden:
|
1 |
http://<domain> |
- TLS/SSL configureren
We hebben een certificaat voor ons domein nodig zodat de verbinding is versleuteld. Hiervoor gebruiken we Let’s Encrypt. Het is een gratis, geautomatiseerde en open certificaatautoriteit (CA). Het is er ten behoeve van het publiek, aangeboden door de Internet Security Research Group (ISRG).
Om het certificaat te genereren, is certbot de tool die u in de shell gebruikt. Voer het volgende certbot-commando uit om een TLS/SSL-certificaat voor uw domein te genereren en Apache te configureren om het verkeer om te leiden naar de beveiligde site:
|
1 |
sudo certbot --apache --email <email> -d <domain> --agree-tos --redirect --noninteractive |
De uitvoer zal er als volgt uitzien:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Opslaan debug log naar /var/log/letsencrypt/letsencrypt.log Plug-ins geselecteerd: Authenticator apache, Installer apache Verkrijgen een nieuw certificaat Uitvoeren van de volgende uitdagingen: http-01 uitdaging voor <domein> Ingeschakeld Apache rewrite module Wachten voor verificatie... Opruimen op uitdagingen Gemaakt een SSL vhost op /etc/apache2/sites-beschikbaar/<domein>-le-ssl.conf Ingeschakeld Apache socache_shmcb module Ingeschakeld Apache ssl module Implementeren Certificaat naar VirtualHost /etc/apache2/sites-beschikbaar/<domein>-le-ssl.conf Inschakelen beschikbare site: /etc/apache2/sites-beschikbaar/<domein>-le-ssl.conf Ingeschakeld Apache rewrite module Omleiden vhost in /etc/apache2/sites-ingeschakeld/<domein>.conf naar ssl vhost in /etc/apache2/sites-beschikbaar/<domein>-le-ssl.conf ------------------------------------------------------------------------------- Gefeliciteerd! Je hebt met succes ingeschakeld https://<domain> Je zou testen je configuratie op: https://www.ssllabs.com/ssltest/analyze.html?d=<domain> ------------------------------------------------------------------------------- |
Dit geeft aan dat de certificaatinstallatie succesvol was en dat Apache met succes is geconfigureerd om verzoeken om te leiden van http://<domain> naar https://<domain>.
Webmin gebruiken
Ten slotte zijn we klaar om het systeem te beheren met Webmin. Open het Webmin-domein in een webbrowser en log in als de root-gebruiker (of een andere gebruiker met sudo-rechten).
- Gebruikers en groepen beheren
Laten we eerst eens kijken hoe we gebruikers en groepen kunnen beheren met Webmin. Ga in het linkerpaneel naar System >> Users and Groups:

Klik om een nieuwe gebruiker aan te maken op Een nieuwe gebruiker aanmaken:

Vul daarna de vereiste informatie voor de nieuwe gebruiker in. Klik op Aanmaken om de procedure te voltooien:

- Pakketupdates
Webmin kan ook controleren op beschikbare pakketupdates. Klik in het linkerpaneel op het Dashboard -pictogram:

Het Dashboard geeft een kort overzicht van de systeemstatistieken. Zoek onder de System Information sectie naar het Package updates -label. Hier wordt gemeld of er updates beschikbaar zijn voor pakketten.
Als alternatief ga je in het linkerpaneel naar System >> Software Package Updates. Onder het Package Updates tabblad meldt Webmin alle pakketten waarvoor updates beschikbaar zijn:

Onder het Scheduled Upgrades tabblad biedt Webmin de optie om de installatie van pakketupdates te automatiseren:

Vervolgens biedt Webmin onder het Package Repositories tabblad een eenvoudige manier om alle in het systeem geconfigureerde pakketbronnen te beheren:
- Aangepaste opdrachten uitvoeren
Hoewel Webmin tal van opties en aanpassingen biedt, zijn er nog steeds dingen die handmatig moeten worden gedaan. Webmin kan elke shell-opdracht uitvoeren. Om een opdracht uit te voeren, ga je in het linkerpaneel naar Tools >> Command Shell:

Voer vervolgens de gewenste opdracht in en klik op Execute command om deze uit te voeren:

Voer je bepaalde opdrachten regelmatig uit? Overweeg dan om ze te markeren in Webmin. Ga in het linkerpaneel naar Tools >> Custom Commands. Het is niet meer nodig om die opdrachten handmatig te typen:

- Apache beheren
Bovendien, als er een server-engine is geïnstalleerd, kan Webmin deze beheren. Voor dit voorbeeld hebben we Apache gebruikt. Om Apache via Webmin te beheren, ga naar Servers >> Apache:

Laatste overwegingen
Webmin is een zeer nuttige tool voor het beheren van je hele systeem. Het biedt een comfortabele manier om dingen te doen die normaal gesproken saaie interactie met het consolescherm zouden vereisen. Bovendien helpt het je om je systeem nauwkeurig te organiseren. Deze gids toont de meest nuttige toepassingen van Webmin. Voel je vrij om je weg te vinden in de officiële Webmin-wiki om meer te leren over hoe je de tool optimaal kunt benutten.
Veel computerplezier!



Reacties
Nog geen reacties. Wees de eerste.