Installeer Wildcard Certs From Lets Encrypt in Nginx op Ubuntu 19.04

In maart 2018 heeft Let's Encrypt ondersteuning toegevoegd voor jokertekens. Met jokertekencertificaten kunt u alle subdomeinen van het eerste niveau van een domein beveiligen met één certificaat. Wildcard-certificaten zijn alleen verkrijgbaar via ACMEv2, een bijgewerkte versie van het ACME-protocol. Om ACMEv2 te gebruiken voor jokertekens of niet-jokertekens, heeft u een client nodig die is bijgewerkt om ACMEv2 te ondersteunen. Een dergelijke client is acme.sh, een ACME / ACMEv2-protocolclient die puur in de taal van Shell (Unix-shell) is geschreven zonder enige afhankelijkheden. Bovendien moeten wildcard-domeinen worden gevalideerd met het DNS-01 challenge-type. Dat betekent dat u DNS TXT-records moet wijzigen om de controle over een domein te bewijzen om een ​​jokertekencertificaat te verkrijgen.

In deze handleiding leggen we uit hoe u gratis jokertekencertificaten van Let's Encrypt op Ubuntu 19.04 kunt verkrijgen en implementeren met behulp van de acme.shclient, Lexicon- tool voor automatische manipulatie van DNS-records door de Vultr API te gebruiken en certs te implementeren op de Nginx-webserver.

Vereisten

  • Vers geïmplementeerde Ubuntu 19.04 Vultr-cloud-server.
  • Je hebt een geregistreerde domeinnaam. Deze gids gebruikt example.comals voorbeelddomein.
  • Zorg ervoor dat u A / AAAA- en CNAME DNS-records heeft ingesteld voor uw Fully Qualified Domain Name (FQDN). U kunt de Introductie tot Vultr DNS-zelfstudie raadplegen als u vertrouwd moet raken met DNS-concepten.
  • Vultr API-toegang ingeschakeld in het configuratiescherm van uw Vultr-account.

Voordat je begint

Controleer de Ubuntu-versie.

lsb_release -ds
# Ubuntu 19.04

Maak een nieuw gebruikersaccount aan met sudotoegang en uw favoriete gebruikersnaam en schakel ernaar. We gebruiken johndoe.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

OPMERKING : vervang johndoedoor uw gebruikersnaam.

Stel de tijdzone in.

sudo dpkg-reconfigure tzdata

Zorg ervoor dat uw Ubuntu-systeem up-to-date is.

sudo apt update && sudo apt upgrade -y

Installeer de benodigde pakketten.

sudo apt install -y git wget curl socat

Installeer Nginx

Installeer de Nginx-webserver.

sudo apt install -y nginx

Controleer de versie.

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

Installeer Python en Lexicon

Als eerste stap in het proces van het verkrijgen van jokertekencertificaten van Let's Encrypt met acme.sh en Vultr API, moet je Python en Lexicon installeren . Lexicon is een Python-pakket dat een manier biedt om DNS-records op meerdere DNS-providers op een gestandaardiseerde manier te manipuleren.

Installeer Python als dit nog niet op uw systeem is geïnstalleerd.

sudo apt install -y python3

Bevestig de installatie door de versie te verifiëren.

python3 --version
# Python 3.7.3

Installeer de Lexicon-tool. Een lexicon is een Python-tool waarmee je op een gestandaardiseerde manier DNS-records van verschillende DNS-providers kunt manipuleren.

sudo apt install -y lexicon

Controleer de Lexicon-versie.

lexicon --version
# lexicon 3.0.8

acme.shClient installeren

Acme.shis een ACME-protocolclient die puur in de taal van Shell (Unix-shell) is geschreven en die het proces van het verkrijgen van een ondertekend certificaat via Let's Encrypt automatiseert. Het ondersteunt ACME v1 en ACME v2, en bovenal ondersteunt het ACME v2 wildcard certs. In deze sectie installeren we een Acme.sh-script.

LET OP: Het is aanbevolen om gebruik rootgebruiker te installeren acme.sh, hoewel het niet nodig root/ sudotoegang.

Schakel over naar rootgebruiker van de gewone gebruiker als u deze hebt gemaakt.

sudo su - root

Download en installeer acme.sh.

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "[email protected]"
source ~/.bashrc
cd

Controleer de versie.

acme.sh --version
# v2.8.2

Verkrijg wildcard-certificaten van Let's Encrypt

Om een ​​jokertekencertificaat te verkrijgen, kunnen we alleen de DNS-validatiemethode gebruiken. We gebruiken Lexicon en Vultr DNS API om TXT DNS-records te manipuleren.

Verkrijg RSA- en ECC-jokertekencertificaten voor uw domein.

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="[email protected]"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

OPMERKING : vergeet niet te vervangen example.comdoor uw domeinnaam en vervang de Vultr API-tijdelijke aanduidingwaarden door uw eigen.

Na het uitvoeren van de voorgaande opdrachten, zijn uw certificaten en sleutels in:

  • Voor RSA: ~/.acme.sh/example.comdirectory.
  • Voor ECC / ECDSA: ~/.acme.sh/example.com_eccdirectory.

OPMERKING : u mag de cert-bestanden in de ~/.acme.sh/map niet gebruiken , ze zijn alleen voor intern gebruik, de mapstructuur kan in de toekomst veranderen.

Om uw certificaten te vermelden, kunt u het volgende uitvoeren:

acme.sh --list

Maak een map om uw certificaten in productie op te slaan. We gebruiken /etc/letsencryptdirectory.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installeer / kopieer certificaten voor productiegebruik op uw server.

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

Nu we met succes jokertekens van Let's Encrypt hebben verkregen, moeten we de Nginx-webserver configureren. Alle certificaten worden elke 60 dagen automatisch verlengd.

Nadat u certificaten hebt verkregen en geïnstalleerd op de locatie van uw voorkeur, kunt u zich afmelden van rootgebruiker tot een gewone sudogebruiker en uw server blijven beheren met behulp van sudoindien nodig.

exit

Configureer de Nginx-webserver

Voer sudo vim /etc/nginx/sites-available/example.com.confhet bestand uit en vul het met de volgende inhoud. Vervang alle instanties van example.comdoor uw eigen domeinnaam.

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

Activeer de nieuwe example.com.confconfiguratie door het bestand aan de sites-enableddirectory te koppelen .

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Test Nginx-configuratie.

sudo nginx -t

Herlaad Nginx.

sudo systemctl reload nginx.service

Dat is het. We hebben wildcard-certificaten geïmplementeerd bij Nginx, met behulp van acme.sh, Lexicon en Vultr API. Wildcard-certificaten kunnen handig zijn wanneer u meerdere dynamisch gegenereerde subdomeinen van het eerste niveau wilt beveiligen.



Leave a Comment

Hoe Blacklistd op FreeBSD 11.1 te installeren

Hoe Blacklistd op FreeBSD 11.1 te installeren

Inleiding Elke service die is verbonden met internet is een potentieel doelwit voor brute-force-aanvallen of ongerechtvaardigde toegang. Er zijn tools zoals fail2ba

Een Chroot opzetten op Debian

Een Chroot opzetten op Debian

Dit artikel leert u hoe u een chroot-gevangenis op Debian instelt. Ik neem aan dat u Debian 7.x gebruikt. Als u Debian 6 of 8 gebruikt, kan dit werken, bu

Hoe te installeren Laat SSL versleutelen op CentOS 7 met Apache Web Server

Hoe te installeren Laat SSL versleutelen op CentOS 7 met Apache Web Server

Inleiding In deze zelfstudie leert u de procedure voor het installeren van het TLS / SSL-certificaat op de Apache-webserver. Als je klaar bent, alle traffi

MongoDB beveiligen

MongoDB beveiligen

MongoDB is standaard niet veilig. Als u MongoDB installeert en start zonder het voor authenticatie te configureren, zult u een slechte tijd hebben

Hoe rkhunter op Ubuntu te installeren

Hoe rkhunter op Ubuntu te installeren

Rkhunter is software die rootkits vindt op een Linux-server. Rootkits worden door hackers geïnstalleerd zodat ze altijd toegang hebben tot de server. In dit document zul je b

Installeer en stel CentOS 7 in om LVM op afstand te ontgrendelen op LUKS-schijfversleuteling met SSH

Installeer en stel CentOS 7 in om LVM op afstand te ontgrendelen op LUKS-schijfversleuteling met SSH

LUKS (Linux Unified Key Setup) is een van de verschillende schijfversleutelingsindelingen die beschikbaar zijn voor Linux en platformonafhankelijk is. Deze tutorial geeft je humor

Mod_evasive inschakelen op Apache

Mod_evasive inschakelen op Apache

Mod_evasive is een module voor Apache die automatisch actie onderneemt wanneer een HTTP DoS-aanval of brute force-aanval wordt gedetecteerd. Mod_evasive kan een loggen

Twee-factor-authenticatie (2FA) instellen voor SSH op CentOS 6 met Google Authenticator

Twee-factor-authenticatie (2FA) instellen voor SSH op CentOS 6 met Google Authenticator

Na het wijzigen van uw SSH-poort, het configureren van poortkloppen en het maken van andere aanpassingen voor SSH-beveiliging, is er misschien nog een andere manier om u te beschermen

NGINX beveiligen tegen de Logjam-aanval op CentOS

NGINX beveiligen tegen de Logjam-aanval op CentOS

Welnu, er is nog een SSL-kwetsbaarheid in het wild. Technisch gezien is het niet echt een kwetsbaarheid, het is slechts een gat in het protocol dat we vertrouwen o

Hoe OpenVAS Vulnerability Scanner op Ubuntu 16.04 te installeren

Hoe OpenVAS Vulnerability Scanner op Ubuntu 16.04 te installeren

Inleiding OpenVAS is een open source suite die kan worden gebruikt voor het scannen van kwetsbaarheden en het beheer van kwetsbaarheden. Het staat voor Open Vulnerabilit

Hoe SELinux op CentOS 7 uit te schakelen

Hoe SELinux op CentOS 7 uit te schakelen

SELinux, een afkorting van Security-Enhanced Linux, is een beveiligingsverbetering voor het Linux-besturingssysteem. Het is een labelsysteem dat veel systemen blokkeert

Configureer Apache met zelfondertekend TLS / SSL-certificaat op Ubuntu 16.04

Configureer Apache met zelfondertekend TLS / SSL-certificaat op Ubuntu 16.04

SSL en de opvolger TLS (Secure Sockets Layer / Transport Layer Security) voegen een versleutelingslaag toe tussen de client en de server. Zonder thi

Configureer Uncomplicated Firewall (UFW) op Ubuntu 14.04

Configureer Uncomplicated Firewall (UFW) op Ubuntu 14.04

Beveiliging is cruciaal wanneer u uw eigen server gebruikt. U wilt zeker weten dat alleen geautoriseerde gebruikers toegang hebben tot uw server, configuratie en services. ik

Lets Encrypt gebruiken op OpenBSD 6.1

Lets Encrypt gebruiken op OpenBSD 6.1

Het is niet langer nodig dat iemand zijn eigen SSL-certificaten maakt, omdat u nu uw eigen gratis, geldige SSL-certificaat kunt krijgen van Let

Laten we versleutelen: migreren vanaf TLS-SNI-01

Laten we versleutelen: migreren vanaf TLS-SNI-01

Lets Encrypt is een gratis service die certificaten genereert om uw website te beveiligen. Het ondersteunt het genereren van verschillende soorten certificaten, waaronder

Hoe TLS 1.3 in Nginx op Debian 9 in te schakelen

Hoe TLS 1.3 in Nginx op Debian 9 in te schakelen

Gebruikt u een ander systeem? Inleiding TLS 1.3 is een versie van het Transport Layer Security (TLS) -protocol dat in 2018 is gepubliceerd als voorgestelde standaard in RF

Hoe OSSEC HIDS op een CentOS 7-server te installeren

Hoe OSSEC HIDS op een CentOS 7-server te installeren

Introductie OSSEC is een open source, host-gebaseerd inbraakdetectiesysteem (HIDS) dat loganalyse, integriteitscontrole, Windows-registratie uitvoert

Beveiliging voor FreeBSD verbeteren met IPFW en SSHGuard

Beveiliging voor FreeBSD verbeteren met IPFW en SSHGuard

VPS-servers worden vaak aangevallen door indringers. Een veelvoorkomend type aanval verschijnt in systeemlogboeken als honderden niet-geautoriseerde SSH-inlogpogingen. Opzetten

Hoe TLS 1.3 in Nginx op FreeBSD 12 in te schakelen

Hoe TLS 1.3 in Nginx op FreeBSD 12 in te schakelen

Gebruikt u een ander systeem? TLS 1.3 is een versie van het Transport Layer Security (TLS) -protocol dat in 2018 werd gepubliceerd als voorgestelde standaard in RFC 8446

Port Knocking op Debian

Port Knocking op Debian

Gebruikt u een ander systeem? Inmiddels heb je waarschijnlijk je standaard SSH-poort veranderd. Toch kunnen hackers gemakkelijk poortbereiken scannen om die poort te ontdekken, maar dan verstandig

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.