Zoeken op website

Hoe Apache gratis te beveiligen Laten we het SSL-certificaat coderen op Ubuntu en Debian


U heeft een nieuw geregistreerde domeinnaam en uw webserver werkt met een SSL zelfondertekend certificaat dat door u is uitgegeven, wat uw klanten hoofdpijn bezorgt terwijl ze het domein bezoeken vanwege door het certificaat gegenereerde fouten? U heeft een beperkt budget en u kunt het zich niet veroorloven een certificaat te kopen dat is uitgegeven door een vertrouwde CA? Dit is het moment waarop de Let's Encrypt-software in beeld komt en de redding brengt.

Als u Let's Encrypt voor Apache of Nginx op RHEL, CentOS wilt installeren, Fedora of Ubuntu en Debian, volg onderstaande handleidingen:

Stel Let's Encrypt in om Apache te beveiligen op RHEL en CentOS 7/6

Installatie Laten we coderen om Nginx te beveiligen op Ubuntu en Debian

Let's Encrypt is een Certificaatautoriteit (CA) die u helpt bij het verkrijgen van gratis SSL/TLS-certificaten die nodig zijn voor uw server veilig te laten werken, waardoor uw gebruikers een soepele browse-ervaring krijgen, zonder fouten.

Voorbeeldomgeving testen

Alle stappen die nodig zijn om een certificaat te genereren zijn grotendeels geautomatiseerd voor de Apache webserver. Ondanks uw webserversoftware moeten sommige stappen echter handmatig worden uitgevoerd en moeten de certificaten handmatig worden geïnstalleerd, vooral als de inhoud van uw website wordt aangeboden door de Nginx daemon.

In deze tutorial leert u hoe u de Let's Encrypt-software op Ubuntu of Debian kunt installeren, een gratis certificaat voor uw domein kunt genereren en verkrijgen en hoe u kunt het certificaat handmatig installeren in Apache- en Nginx-webservers.

Vereisten

  1. Een publiek geregistreerde domeinnaam met geldige A-records die verwijzen naar het externe IP-adres van uw server. Als uw server zich achter een firewall bevindt, neem dan de nodige maatregelen om ervoor te zorgen dat uw server wereldwijd toegankelijk is vanaf internet door port forward-regels toe te voegen aan de routerzijde.
  2. Apache-webserver geïnstalleerd met ingeschakelde SSL-module en ingeschakelde virtuele hosting, voor het geval u meerdere domeinen of subdomeinen host.

Stap 1: Installeer Apache en schakel SSL-module in

1. Als u nog geen Apache-webserver op uw computer hebt geïnstalleerd, voert u de volgende opdracht uit om Apache Daemon te installeren.

sudo apt-get install apache2

2. Activering van de SSL-module voor Apache-webserver op Ubuntu of Debian is vrij eenvoudig. Schakel de SSL-module in en activeer de apache standaard SSL virtuele host door de onderstaande opdrachten uit te voeren:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

Bezoekers hebben nu toegang tot uw domeinnaam via het HTTPS-protocol. Omdat het zelfondertekende certificaat van uw server echter niet is uitgegeven door een vertrouwde certificeringsinstantie, wordt er in hun browsers een foutmelding weergegeven, zoals weergegeven in de onderstaande afbeelding.

https://yourdomain.com

Stap 2: Installeer de gratis Let's Encrypt Client

3. Om de Let's Encrypt-software op uw server te installeren, moet u het git-pakket op uw systeem hebben geïnstalleerd. Geef het volgende commando om git software te installeren:

sudo apt-get -y install git

4. Kies vervolgens een map uit uw systeemhiërarchie waar u de Let's Encrypt git-repository wilt klonen. In deze tutorial gebruiken we de map /usr/local/ als installatiepad voor Let's Encrypt.

Ga naar de map /usr/local en installeer deletsencrypt-client door de volgende opdrachten te geven:

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

Stap 4: Genereer een SSL-certificaat voor Apache

5. Het proces voor het verkrijgen van een SSL-certificaat voor Apache is geautomatiseerd dankzij de Apache-plug-in. Genereer het certificaat door de volgende opdracht uit te voeren voor uw domeinnaam. Geef uw domeinnaam op als parameter voor de vlag -d.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

Als u het certificaat bijvoorbeeld nodig heeft om op meerdere domeinen of subdomeinen te werken, kunt u ze allemaal toevoegen met de vlag -d voor elke extra geldige DNS-record na de basisdomeinnaam.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. Ga akkoord met de licentie, voer een e-mailadres in voor herstel en kies of klanten door uw domein kunnen bladeren met behulp van beide HTTP-protocollen (beveiligd en onveilig) of alle niet-beveiligde verzoeken kunnen omleiden naar HTTPS.

7. Nadat het installatieproces succesvol is afgerond, wordt er een felicitatiebericht weergegeven op uw console waarin u wordt geïnformeerd over de vervaldatum en hoe u de configuratie kunt testen, zoals geïllustreerd in de onderstaande schermafbeeldingen.

Nu zou u uw certificaatbestanden moeten kunnen vinden in de map /etc/letsencrypt/live met een eenvoudige directorylijst.

sudo ls /etc/letsencrypt/live

8. Om ten slotte de status van uw SSL-certificaat te verifiëren, bezoekt u de volgende link. Vervang de domeinnaam dienovereenkomstig.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

Bovendien hebben bezoekers nu toegang tot uw domeinnaam via het HTTPS-protocol zonder dat er een fout in hun webbrowser verschijnt.

Stap 4: Automatisch verlengen Hiermee worden certificaten gecodeerd

9. Certificaten uitgegeven door de autoriteit Let's Encrypt zijn standaard 90 dagen geldig. Om het certificaat vóór de vervaldatum te vernieuwen, moet u de client handmatig opnieuw uitvoeren met de exacte vlaggen en parameters als eerder.

sudo ./letsencrypt-auto --apache -d your_domain.tld

Of bij meerdere subdomeinen:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Het certificaatvernieuwingsproces kan worden geautomatiseerd zodat het binnen 30 dagen vóór de vervaldatum wordt uitgevoerd door gebruik te maken van Linux Schedule Cron Daemon.

sudo crontab -e

Voeg de volgende opdracht toe aan het einde van het crontabbestand met slechts één regel:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Details over uw verlengingsdomeinconfiguratiebestand voor Let's Encrypt-software kunt u vinden in de map /etc/letsencrypt/renewal/.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

U moet ook het bestand /etc/letsencrypt/options-ssl-apache.conf controleren om het nieuwe SSL-configuratiebestand voor de Apache-webserver te bekijken.

12. Bovendien wijzigt de Let's Encrypt Apache-plug-in enkele bestanden in uw webserverconfiguratie. Om te controleren welke bestanden zijn gewijzigd, vermeldt u de inhoud van de map /etc/apache2/sites-enabled.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

Dat is het voor nu! In de volgende reeks tutorials wordt besproken hoe u een Let's Encrypt-certificaat kunt verkrijgen en installeren voor de Nginx-webserver op Ubuntu en Debian< en ook op CentOS.