Sådan opsættes et mellemliggende kompatibelt SSL-websted med LetsEncrypt-certifikat

Sådan opsættes et mellemliggende kompatibelt SSL-websted med LetsEncrypt-certifikat

Lad os kryptere er en gratis, automatiseret og åben certifikatmyndighed (CA), der løber for offentligheden.

Nøgleprincipperne bag Lad os kryptere er:

  • Gratis: Enhver, der ejer et domænenavn, kan bruge Let's Encrypt til at opnå et pålideligt certifikat til nulpris.
  • Automatisk: Software, der kører på en webserver, kan interagere med Lad os kryptere for smertefrit at få et certifikat, konfigurere det sikkert til brug og automatisk tage sig af fornyelse.
  • Sikker: Lad os kryptere vil fungere som en platform for at fremme TLS-sikkerhedens bedste praksis, både på CA-siden og ved at hjælpe webstedsoperatører korrekt at sikre deres servere.
  • Gennemsigtig: Alle certifikater udstedt eller tilbagekaldt vil blive offentligt registreret og tilgængeligt for alle at inspicere.
  • Åben: Den automatiske udstedelses- og fornyelsesprotokol vil blive offentliggjort som en åben standard, som andre kan vedtage.
  • Samarbejdsvillig: Ligesom de underliggende internetprotokoller selv, er Let's Encrypt en fælles indsats for at gavne samfundet, uden kontrol over en enkelt organisation.

(kilde: https://letsencrypt.org/about/)

Intro:

For det første skal vi nævne nogle mørke sider af Let's Encrypt service. Men godt ideen om fri offentlig og åben certifikat myndighed er, det bringer også mange problemer for os. Udviklere har forsøgt at gøre systemet med at opnå certifikater så enkelt som muligt, men det kræver stadig en højere færdighed i server administration. Derfor er mange af udviklere som den fra ISPConfig (http://www.ispconfig.org/) har implementeret denne løsning direkte i deres. Dette bringer folk mere effektiv implementering og overvågning over hele systemet meget lettere og fleksibelt.

Virkelig komplikation:

Mange har besluttet at implementere Lad os kryptere ind i deres produktionssteder. Jeg finder det stadig en meget dårlig idé at gøre uden at være meget (men virkelig meget) forsigtig. Lad os kryptere giver dig frihed, men begrænser dig også til at bruge certifikatet med SHA-256 RSA-kryptering. Støtten til SHA-2 er forbedret i løbet af de sidste par år. De fleste browsere, platforme, mailklienter og mobile enheder understøtter allerede SHA-2. Nogle ældre operativsystemer som Windows XP pre-SP3 understøtter imidlertid ikke SHA-2-kryptering. Mange organisationer vil kunne konvertere til SHA-2 uden at løbe ind i problemer med brugeroplevelse, og mange vil muligvis opfordre brugere, der kører ældre, mindre sikre systemer til at opgradere.

I denne vejledning skal vi håndtere denne uforenelighed på en simpel, men stadig uhyggelig måde.

Forudsætninger:

  • Apache version 2.4 og højere
  • OpenSSL version 1.0.1e og højere
  • Apache mod_rewrite aktiveret

Hele ideen:

Som tidligere nævnt er der stadig enheder, som ikke er kompatible med SHA-256-signaturen på internettet. Da jeg blev tvunget til at distribuere en SSL til nogle websteder, måtte jeg beslutte mig af to muligheder:

  1. Brug Let's Encrypt at have det gratis, men ikke for alle
  2. Køb et certifikat med 128 bit underskrift

Nå, stadig mulighed nr. 1 var den eneste måde, som det blev lovet kunden for længe siden (:

Ikke mere teori:

Jeg håber jeg har forklaret de nødvendige, og nu kan vi håndtere de ikke understøttede seere på vores hjemmeside. Der er mange mennesker, der bruger Windows XP-maskiner med SP2 og lavere (Ja, der er stadig masser af dem). Så vi skal filtrere disse mennesker.

I din "/etc/apache2/sites-available/your_domain.com.conf" tilføj følgende i slutningen af ​​filen:

RewriteEngine på RewriteCond% {HTTP_USER_AGENT}! (NT 5) [NC] RewriteRule ^ (. *) Https: // din_domæne.com [R]

RewriteCond får en streng fra http-overskriften til den gæst, der får adgang til din side. Du kan bare tjekke din og finde flere oplysninger her: http://www.useragentstring.com/

Den betingelse vi brugte fortæller os noget om "hvis strengen ikke indeholder 'NT 5'", så RewriteRule udfører / anvender reglen om omdirigering af [R] til https-variant af dit domæne. NT 5 er en OS-versionstreng til Windows XP-enheder .

Hvis du ikke bruger denne omdirigering, vil inkompatible brugere ikke kunne få adgang til din https hjemmeside.

Jeg er nødt til at advare dig, denne løsning er ikke 100% perfekt, da nogle gæster ikke behøver at give dig relevant eller reel information. Jeg har arbejdet med AWstats for at finde ud af, hvilken grad af ukendte systemer der kommer til min side, og det handler om 1.3%, så ret få forespørgsler. Hvis du vil håndtere ukendte operativsystemer for at sikre deres kompatibilitet, kan du også tilføje ukendt i tilstanden (RewriteCond% {HTTP_USER_AGENT}! (NT 5 | unknown) [NC]).

Awstats:

Awstats grafisk.

Efter succesfuldt "ikke-omdirigerende" dine uforenelige besøgende (holde dem i http usikre verden) kan du fokusere på https side.

HTTPS-konfiguration:

Nu antager vi, at du allerede har tildelt certifikatet til din webserver og også aktiveret det.

I din vhost config fil igen, tilføj følgende:

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA 
SSLProtocol All -SSLv2 -SSLv3 
SSLCompression off 
SSLHonorCipherOrder On

Den CipherSuite, der bruges her, er lidt længere end normalt. Det er for bedre kompatibilitet. Du kan få din egen fra: https://cipherli.st/ or https://mozilla.github.io/server-side-tls/ssl-config-generator/

Jeg må igen nævne, du vil aldrig få en perfekt konfiguration til at opfylde den høje sikkerhedspolitik og også kompatibilitet. Du skal finde et kompromis.

Når du har brugt disse indstillinger, kan du teste din serverkonfiguration og kompatibilitet på: https://www.ssllabs.com/ssltest/index.html

Du vil finde en lang liste over kompatible enheder og de inkompatible enheder, også nogle flere oplysninger, der peger på din egen "perfekte" løsning.

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.