Zo installeer je een Let's Encrypt SSL-certificaat op je MikroTik router (RouterOS 7)
Wil je je MikroTik router beveiligen met een geldig SSL-certificaat? In deze handleiding toon ik stap voor stap hoe je een Let's Encrypt-certificaat op je MikroTik router installeert. Zo vermijd je browserwaarschuwingen en zorg je voor een veilige verbinding via HTTPS.
Waarom deze blogpost over Let's Encrypt?
Veel MikroTik gebruikers werken nog met zelf ondertekende certificaten om hun router te beveiligen. Maar wist je dat je ook eenvoudig een gratis en automatisch vertrouwd SSL-certificaat kunt installeren via Let’s Encrypt? In deze blogpost ontdek je waarom een Let’s Encrypt certificaat een beter alternatief is en hoe je dit op jouw MikroTik router (met RouterOS 7) implementeert. In tegenstelling tot zelf ondertekende certificaten, worden Let’s Encrypt-certificaten standaard vertrouwd door browsers. Dit voorkomt vervelende beveiligingswaarschuwingen en zorgt voor een veilige, professionele gebruikerservaring vooral belangrijk als je jouw router op afstand beheert. Stap voor stap leer je in dit artikel hoe je een Let’s Encrypt SSL-certificaat installeert op je MikroTik apparaat. Naast een betere beveiliging, opent dit ook de deur naar andere toepassingen waarbij een geldig certificaat vereist is. Kortom: een kleine aanpassing, met grote impact op de veiligheid van je netwerk.
Een Let's Encrypt certificaat verhoogt het vertrouwen en de beveiliging van je MikroTik hotspot infrastructuur.
Het implementeren van een Let's Encrypt certificaat op je MikroTik router draagt niet alleen bij aan een veilige verbinding, maar versterkt ook aanzienlijk de betrouwbaarheid van je hotspot infrastructuur. Door versleutelde communicatie tussen de gebruiker en de router wordt de gegevensoverdracht effectief beschermd tegen afluisteren of manipulatie. Wat vooral van belang is: Let's Encrypt certificaten worden automatisch vertrouwd door alle gangbare webbrowsers. Dit voorkomt storende beveiligingswaarschuwingen wanneer gebruikers verbinding maken met je hotspot. Daardoor ervaren zij de omgeving als veilig én professioneel, wat het vertrouwen in je infrastructuur vergroot. Vooral in situaties waarin gebruikers gevoelige informatie verzenden of ontvangen via de hotspot, is deze extra laag van beveiliging en vertrouwen essentieel. Een Let's Encrypt certificaat draagt zo niet alleen bij aan technische veiligheid, maar ook aan een positieve gebruikerservaring en een hogere integriteit van je netwerk.
Voordelen van een Let's Encrypt Certificaat
Let’s Encrypt: professionele beveiliging zonder prijskaartje
Het klinkt bijna ongelooflijk in deze tijd, maar Let's Encrypt-certificaten zijn volledig gratis te gebruiken. De achterliggende organisatie, Let's Encrypt, heeft als doel om het internet veiliger te maken door het aanbieden van kosteloze SSL/TLS certificaten aan iedereen. Hiermee stimuleert ze het gebruik van versleutelde communicatie en draagt ze actief bij aan een wereldwijd veiliger internet. Door gratis certificaten beschikbaar te stellen, verlaagt Let's Encrypt de drempel voor HTTPS implementatie. Dit bevordert de privacy van gebruikers en beschermt gevoelige gegevens tijdens het verzenden via websites of netwerkinfrastructuren zoals MikroTik routers. De missie is duidelijk: encryptie moet de norm worden toegankelijk, eenvoudig en voor iedereen beschikbaar. Wil je zelf aan de slag met het beveiligen van je MikroTik router via Let's Encrypt? Lees dan zeker verder in deze blogpost en ontdek hoe je stap voor stap een geldig certificaat installeert op RouterOS.
Wat zijn de vereisten om Let's Encrypt certificaten te gebruiken op een MikroTik router?
Om een Let's Encrypt certificaat succesvol te implementeren op je MikroTik-router, moet aan een aantal voorwaarden worden voldaan. De belangrijkste vereisten zijn:
Heb je geen vast IP-adres, dan zijn er omwegen mogelijk, zoals dynamische DNS oplossingen (DDNS). Zelf heb ik geprobeerd de MikroTik IP Cloud DDNS functie (mynetname.net) te gebruiken, maar kreeg daarbij een foutmelding wegens een te hoog aantal aanvragen. Dit toont aan dat deze gratis dienst onder hoge belasting kan staan, wat een beperking vormt bij veelvuldig gebruik. Ik heb hierover contact opgenomen met MikroTik en wacht op verdere toelichting. Wil je een stabiele en betrouwbare implementatie van Let's Encrypt, dan is een eigen domeinnaam in combinatie met een vast IP-adres sterk aanbevolen.
Controleer de systeemtijd vóór je een Let's Encrypt-certificaat installeert
Voor je begint met het implementeren van een Let's Encrypt certificaat op je MikroTik router, is het cruciaal om eerst de systeemtijd van het toestel te controleren. Een verkeerd ingestelde klok kan ertoe leiden dat het certificaat als ongeldig of zelfs al verlopen wordt beschouwd op het moment van installatie. De routerklok kun je synchroniseren via de ingebouwde NTP-client of via de IP Cloud-functie van MikroTik. Standaard is IP Cloud ingeschakeld, waardoor de tijd automatisch wordt gesynchroniseerd bij het opstarten. Toch is een manuele controle aanbevolen, vooral als je in een netwerk zonder internettoegang of met beperkte tijdsynchronisatie werkt. Een correcte tijdsinstelling voorkomt fouten bij certificaatvalidatie en zorgt voor een vlekkeloze installatie van het Let's Encrypt certificaat.
NTP-client instellen op je MikroTik router
Om ervoor te zorgen dat je router de juiste tijd gebruikt bij het aanvragen van een Let's Encrypt certificaat, activeer je best de NTP-client. Dit doe je eenvoudig via Winbox:
- 1In Winbox ga naar system,
- 2Vervolgens klik op NTP Client.
- 1Vink ‘Enabled’ aan om de NTP-client te activeren.
- 2Voer een NTP-server in, zoals pool.ntp.org om tijdsynchronisatie met een betrouwbare externe bron te garanderen.
- 3Klik op ‘OK’ om de instellingen op te slaan.
Zodra alles correct is ingesteld, zal de router synchroniseren met een externe tijdsserver. De status onderaan toont of de verbinding succesvol is (bijvoorbeeld: Status: synchronized). Dit voorkomt fouten bij certificaat installatie en zorgt ervoor dat de routertijd altijd up-to-date blijft.
Veelvoorkomende NTP problemen en oplossingen
Statusmelding | Betekenis | Oplossing |
---|---|---|
unsynchronized | De router heeft geen tijd kunnen synchroniseren | Controleer of de NTP-server bereikbaar is en het internet actief is |
timeout | Geen antwoord van de NTP-server ontvangen | Gebruik een andere NTP-server zoals pool.ntp.org of controlleer de firewall |
invalid stratum | De server heeft een foutieve hiërarchie | Kies een andere server, zoals een publieke NTP-pool |
server not reachable | De router kan de server niet bereiken | Controleer DNS, routing en firewallregels op je MikroTik |
synchronized | De klok is correct gesynchroniseerd | Alles werkt zoals verwacht |
Poorten 80 en 443 doorsturen voor Let's Encrypt en HTTPS toegang
Om een Let's Encrypt certificaat aan te vragen via je MikroTik router, is het noodzakelijk dat poort 80 (HTTP) openstaat. Deze poort wordt gebruikt voor de automatische domein validatie procedure van Let's Encrypt. Bevindt je MikroTik router zich achter een modem of router van je internetprovider (NAT-situatie), dan moet je poort 80 expliciet forwarden naar je router. Daarnaast is het aanbevolen om ook poort 443 (HTTPS) door te sturen, zodat je je router nadien veilig via een versleutelde verbinding kunt beheren.
Let op:
Het permanent openlaten van poort 80 vormt een potentieel beveiligingsrisico. Sluit deze poort onmiddellijk nadat het certificaat succesvol is geïnstalleerd. Poort 443 mag desgewenst open blijven om beveiligde toegang tot je router (bijvoorbeeld via WebFig of externe API’s) te behouden. Lees meer over de beveiliging van MikroTik routers in een andere blogpost.
- 1Ga hiervoor naar IP.
- 2Vervolgens Firewall.
- 1Ga verder naar het tabblad NAT, je ziet al een NAT regel staan. De bestaande NAT regel moet later als derde regel worden geplaatst.
- 2Klik op het blauwe plusteken (aanmaken).
- 1Chain: kies dstnat (destination NAT).
- 2Protocol: selecteer TCP.
- 3Dst. Port: voer 80 in.
- 4In. Interface: kies de interface die met het internet is verbonden kies de interface die met het internet is verbonden (bijvoorbeeld ether1_wan).
- 5Klik verder door naar het tabblad "Action".
- 1Als action: kies dstnat (destination NAT).Hiermee geef je aan dat inkomend verkeer moet worden doorgestuurd.
- 2To Addresses: vul het interne IP adres van je router in, (bijvoorbeeld 192.168.88.1).
- 3To Ports: geef opnieuw poort 80 in.
- 4Klik daarna op Apply en copy om de regel op te slaan.
Poort 443 forwarden
- 1Wijzig de poort van To Ports naar 443 op de kopie van de eerste port forwarding regel.
- 2Klik verder op het tabblad General.
- 1Wijzig de poort van Dst Port naar 443.
- 2Ga naar Apply (3) en OK om de NAT rules af te sluiten.
Zorg voor correcte volgorde van NAT-regels
Zoals je ziet in de derde afbeelding, moeten je NAT regels voor poort 80 en 443 boven de masquerade regel staan. MikroTik werkt NAT regels van boven naar beneden af. Om de volgorde aan te passen: Selecteer de regels en sleep deze naar boven toe. Sluit het firewall gedeelte af.
Veiligheidstips
Het permanent openlaten van poort 80 vormt een potentieel beveiligingsrisico. Sluit deze poort onmiddellijk nadat het certificaat succesvol is geïnstalleerd. Poort 443 mag desgewenst open blijven om beveiligde toegang tot je router (bijvoorbeeld via WebFig of externe API’s) te behouden. Lees meer over de beveiliging van MikroTik routers in een andere blogpost.
Hoe werkt port forwarding naar je MikroTik router?
Deze port forwarding werkt als volgt: wanneer een externe gebruiker via het internet verbinding probeert te maken met poort 80 op het WAN adres van je internet service provider, wordt dat verkeer doorgestuurd naar de poort 80 van je MikroTik router (meestal via het interne IP-adres zoals 192.168.88.1 bijvoorbeeld). Dit doorsturen moet ingesteld worden op de router of modem van je internetprovider, tenzij je gebruikmaakt van een modem-only aansluiting waarbij je MikroTik router rechtstreeks het publieke IP-adres van je provider krijgt. In dat geval is extra port forwarding niet nodig. Wil je meer leren over hoe je je MikroTik router vervolgens beschermt via firewall regels? Lees dan zeker ook deze blogpost over MikroTik firewall configuratie.
Let's Encrypt-certificaten verlopen na 90 dagen
Een belangrijk aandachtspunt bij Let's Encrypt is dat elk certificaat een geldigheidsduur van 90 dagen heeft. Hoewel deze korte looptijd vragen kan oproepen, vormt dit in de praktijk geen probleem.Dankzij de mogelijkheden van RouterOS kun je via een combinatie van een script en een scheduler de automatische vernieuwing van het certificaat eenvoudig instellen. Zo blijft je MikroTik router continu voorzien van een geldig en up to date SSL/TLS certificaat, zonder handmatige tussenkomst. Deze automatisering zorgt ervoor dat je verbinding veilig blijft en dat je je geen zorgen hoeft te maken over vervallen certificaten. Overweeg je een MikroTik router aan te schaffen? Lees dan ook deze blogpost over het kiezen van het juiste MikroTik-toestelideaal voor zowel beginners als gevorderden.
Poort 80 tijdelijk openen voor certificaatvernieuwing
Het openen van poort 80 kan begrijpelijkerwijs tot bezorgdheid leiden, aangezien deze poort vaak wordt geassocieerd met beveiligingsrisico’s. Toch is het in het geval van Let's Encrypt certificaat vernieuwing tijdelijk noodzakelijk om deze poort toegankelijk te maken. Om dit risico te minimaliseren, heb ik in het automatische vernieuwing script een logica geïntegreerd die poort 80 uitsluitend opent tijdens de vernieuwing en daarna automatisch weer sluit. Zo blijft je router optimaal beveiligd, zonder handmatige tussenkomst.
Tijdelijk poort 80 openen via een firewallregel
Tijdens de automatische vernieuwing van een Let's Encrypt-certificaat is het noodzakelijk om tijdelijk poort 80 te openen. Dit gebeurt veilig en gecontroleerd via een firewallregel in de input chain, die je na de vernieuwing weer automatisch kunt uitschakelen met behulp van een script. Gebruik onderstaande stappen (zoals geïllustreerd op de screenshots) om de regel correct in te stellen:
- 1Chain: kies input.
- 2Protocol: stel in opstel in op tcp.
- 3Dst. Port: vul 80 in.
- 4In. Interface: selecteer je WAN-interface. Klik verder door naar Action.
- 1Bij Action.
- 2Selecteer accept.
- 3Geef een herkenbare naam in, zoals "open_port80". Deze comment wordt later door het script gebruikt om de regel automatisch te verwijderen of te deactiveren.
- 4Bevestig met OK.
Plaats deze regel bovenaan de firewall-filter regels, zodat hij wordt toegepast vóór eventuele drop regels. Enkel zo werkt de automatische poortopenstelling correct tijdens het vernieuwen van je certificaat.
Automatisch Let's Encrypt-certificaat vernieuwen via script
/ip service enable www; /ip firewall filter enable [find comment=open_port80]; /log info "Let's Encrypt certificate renewal started"; ;delay 5 /certificate enable-ssl-certificate dns-name=test.wirelessinfo.be; ;delay 60 /ip service disable www; /ip firewall filter disable [find comment=open_port80]; /log info "Let's Encrypt certificate renewal completed";
/system scheduler add name=renew_lets_encrypt interval=85d on-event=lets_encrypt comment="Automatische hernieuwing Let's Encrypt-certificaat"
Probleem | Mogelijke oorzaak | Oplossing |
---|---|---|
Foutmelding: failed to update ssl certificate. | Poort 80 niet bereikbaar van buitenaf. | Controleer of poort 80 via NAT én firewall tijdelijk openstaat. |
Domeinnaam wordt niet gevalideerd. | DNS-record wijst niet naar je publieke IP. | Pas je A-record aan naar het correcte WAN IP en controleer met dnschecker.org. |
Certificaat wordt niet aangemaakt | Je gebruikt een IP-adres in plaats van een domeinnaam. | Gebruik een geldig domein zoals router.jouwdomein.be, geen IP. |
Let's Encrypt slaagt niet in verbinding. | Je MikroTik router beantwoordt geen verzoeken op poort 80. | Activeer tijdelijk de www service én firewallregel. |
Tijd op de router is fout. | Systeemtijd loopt niet synchroon met NTP-server. | Stel NTP correct in en controleer dat Status: synchronized verschijnt. |
Poort 80 blijft permanent open | Script sluit poort 80 niet correct na vernieuwing. | Controleer of firewallregel correct wordt gedeactiveerd in script. |
Je router is achter dubbele NAT of CGNAT. | Let's Encrypt bereikt je router niet via publiek IP. | Gebruik port forwarding op je modem/router of overweeg DDNS met VPN |
Je gebruikt RouterOS v6 of te oude versie v7. | Let's Encrypt functionaliteit niet aanwezig of beperkt. | Upgrade naar minstens RouterOS 7.7 of hoger. |