SSL aanvraag procedure

1.1 Aanmaken WHMCS-order, Private Key en Certificate Signing Request

  1. Zodra je aan de werkzaamheden begint, voer een order in in WHMCS voor een SSL certificaat.
  2. Als je een Let's encrypt-certificaat wilt aanvragen ga dan meteen verder naar paragraaf 1.4 of 1.5, zoniet ga dan naar de volgende stap.
  3. Vraag bij Denit een dedicated IP adres aan voor het domein waar je het certificaat voor aanvraagt. Vergeet er niet bij te vermelden op welke server dit domein staat.
  4. Als dit een nieuwe aanvraag is, ga dan naar de DNS manager en zet de TTL voor het domein en de www host op 300.
  5. Log in op ssl.movenext.nl (username en wachtwoord staan in WHMCS). (ssh <username>@ssl.movenext.nl in terminal)
  6. Ga naar de directory ssl (cd ssl/).
  7. Maak de volgende directory aan: <domeinnaam>/<jaar van aanvraag>, b.v.: mkdir -p example.net/2016
  8. cd naar de directory die je net aangemaakt hebt.
  9. voer het volgende commando uit: ../../csr.sh <domeinnaam>
  10. Beantwoord de vragen met de informatie van de aanvrager. Voor Common Name geef je de domeinnaam op (zonder www).
  11. Controleer of je nu twee bestanden hebt genaamd <domeinnaam>.key en <domeinnaam>.csr.

1.2 Aanvraag OpenProvider (normaal bij RealTime)

  1. Log in bij Openprovider en ga in de menubalk aan de linkerkant naar 'SSL-certificaten->Bestel SSL-certificaat'.
  2. Kies bij 'Domain Validation' certificaten voor 'Positive SSL'.
  3. In de volgende pagina zet de 'Webserver software' op Linux en paste je in het CSR veld de inhoud van het .csr bestand dat je in stap 8 & 9 hebt aangemaakt. De looptijd laat je op 1 jaar staan.
  4. Zet in de volgende pagina de 'Organisatie (aanvrager)' op naam van de klant, dit zou hetzelfde moeten zijn als wat je net bij het aanmaken van het CSR hebt ingevuld.
  5. Check welke email-adressen er in de dropdown 'E-mailadres approver' staan. Communiceer met de klant welke van deze hij wil gebruiken. Let op, communiceer duidelijk dat alleen deze adressen gebruikt kunnen worden. Het kan zijn dat je het aanvraagproces hier tijdelijk moet afbreken tot de klant een e-mail adres aan je gecommuniceerd heeft. Aan de andere kant, als hier een adres in staat dat onder ons beheer is, kies dat dan, dan hoef je de klant niet in deze stap te betrekken.
  6. Kies het adres dat de klant aan je doorgegeven heeft of dat je zelf uitgekozen hebt, en ga door naar de controlestap.
  7. Bevestig de bestelling. Laat de klant weten dat de bevestigingsmail onderweg is, of als hij naar een adres van ons gestuurd is, lees hem dan zelf en volg de instructies op in de mail.
  8. Nadat de aanvraag bevestigd is wordt het certificaat bij Openprovider aangemaakt. Dit duurt 5-10 minuten vanaf het moment van bevestigen. Openprovider mailt naar info@movenext.nl zodra het certifcaat klaarstaat.
  9. Download het certificaat bij Openprovider en sla het op in de directory die je bij stap 5 hebt aangemaakt, bij de .key en .csr bestanden, als <dommeinnaam>.crt.

1.3 Aanvraag RealTime

  1. Log in bij RealTime.
  2. Klik in de menubalk aan de linkerkant op 'Contacts'en zoek de klant voor wie je een certificaat wilt aanmaken. Onthou de 'Handle' om die bij stap 7 in te voeren. Als de klant niet in de lijst staat, voer die dan in. Gebruik dezelfde gegevens als bij het genereren van het CSR-bestand.
  3. Ga in de menubalk aan de linkerkant naar 'SSL Certificates'.
  4. Klik rechtsbovenin op 'Create certificate'.
  5. Kies het 'Positive SSL'-certificaat en klik op 'Next'.
  6. Paste in het CSR veld de inhoud van het .csr bestand dat je in stap 8 & 9 hebt aangemaakt. Zet 'serverSoftware' op Apache/ModSSL. Klik op 'Next' voor de volgende pagina.
  7. Voor de looptijd zet je 'Period' op 1 jaar,
    onder 'Contact' voer je de 'Handle' in uit stap 2,
    zet 'Validation method' op 'Email based verification'
    en 'dcvEmailAddress' op het emailadres van de klant of op het emailadres waar je toegang tot hebt.
    Check welke email-adressen er in de dropdown 'dcvEmailAddress' staan. Communiceer met de klant welke van deze hij wil gebruiken. Let op, communiceer duidelijk dat alleen deze adressen gebruikt kunnen worden. Het kan zijn dat je het aanvraagproces hier tijdelijk moet afbreken tot de klant een e-mail adres aan je gecommuniceerd heeft. Aan de andere kant, als hier een adres in staat dat onder ons beheer is, kies dat dan, dan hoef je de klant niet in deze stap te betrekken.
  8. Klik op 'Next' om door te gaan naar de controlestap.
  9. Bevestig de bestelling. Laat de klant weten dat de bevestigingsmail onderweg is, of als hij naar een adres van ons gestuurd is, lees hem dan zelf en volg de instructies op in de mail.
  10. Nadat de aanvraag bevestigd is wordt het certificaat bij RealTime aangemaakt. Dit duurt 5-10 minuten vanaf het moment van bevestigen. 
  11. Download het zip-bestand met certificaten bij RealTime. Het certificaat vind je in het bestand met de naam <domein>_<tld>.crt. De drie andere bestanden in de zip vormen samen het CA-certificaat. Voeg deze 3 delen samen en sla het nieuwe bestand op als <dommeinnaam>-ca.crt.
  12. Sla het certificaat en het CA-certificaat op in de directory die je bij stap 5 hebt aangemaakt, bij de .key en .csr bestanden.

1.4 Aanvraag met de Let's Encrypt-plugin in Plesk

  1. Log in in Plesk voor het domein waar je een Let's encrypt certificaat voor wilt aanvragen. De Plesk-module voor Let's encrypt moet zijn geinstalleerd. Als deze plugin niet is geinstalleerd kan alleen een Let's encrypt-certificaat worden aangevraagd met de Let's encrypt-client, zie paragraaf 1.5.
  2. Ga naar het betreffende domein, de Let's encrypt-plugin vind je tussen de icoontjes waarmee je de instellingen voor het domein kunt instellen. De klant kan dit makkelijk ook zelf.
  3. Klik op de plugin en volg de instructies. Klaar.
  4. Bedenk dat een Let's encrypt-certificaat een looptijd heeft van 3 maanden. Verlenging gaat automatisch door een cron-job.

 1.5 Aanvraag met Let's Encrypt-client

  1. .
  2. .
  3. .
  4. .
  5. .

 2 Plaatsen op Plesk

  1. Zoek het domein op in Plesk.
  2. Ga naar 'Websites & Domains'.
  3. Vouw het tabblad 'Show More' onder het domein uit.
  4. Kies voor 'Secure Your Sites'.
  5. Op de volgende pagina, kies voor 'Add SSL Certificate'.
  6. Op de volgende pagina, zet 'Certificate name' op <domeinnaam>-<jaar van aanvraag>, b.v.: example.net-2016
  7. Paste in de velden onder 'Upload the certificate as text' de benodigde text uit de bestanden die je bij de aanvraag hebt aangemaakt en gekregen. Voor onze standaard PositiveSSL certificaten gebruik je het chain certificaat PositiveSSL2-sha2-chain.crt als CA certificaat.
  8. Ga terug naar 'Websites & Domains' en kies naast de domeinnaam de optie 'Hosting Settings'.
  9. Zet het vinkje 'SSL support' onder 'Security' aan, en kies uit de 'Certificate' dropdown het certificaat dat je net hebt aangemaakt. Sluit de tab of window waar in je werkt nog niet!
  10. Ga in WHMCS naar de DNS manager, en wijzig het IP adres voor het domein naar het dedicated IP adres dat je bij Denit hebt aangevraagd.
  11. Ga terug naar Plesk; klik op het tabblad 'General' bij het domein; kies daar voor 'Change Hosting Settings'.
  12. Kies bij de dropdown 'IP address' voor het dedicated IP dat je net in de DNS hebt gezet.
  13. Als je bij de aanvraag de TTL in de DNS had veranderd, dan kun je hem nu weer terug zetten naar 3600.

3 Test het certificaat

Bezoek https://www.ssllabs.com/ssltest/ en test het domein om te zien of het OK is.

4 Eventueel: Toevoeging aan .htaccess-file voor automatische redirect naar https i.p.v. http

Het .htaccess-bestandje vind je in Plesk onder 'Files' in de root van de website (/httpdocs).

Onderstaande regels komen zo hoog mogelijk in het .htaccess-bestand, idealiter direct onder de regel 'RewriteEngine on'. Als die regel ontbreekt voeg 'm dan toe en vervolgens onderstaande regels. Vervang 'example.com' door het betreffende domein.

# Redirect all "not correct" domain to www with https
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

# Redirect all non-ssl to ssl.
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]