PfSense + letsencrypt + haproxy

From HoerupWiki
Revision as of 18:21, 30 December 2016 by Torben (talk | contribs) (acme validering + haproxy)
Jump to: navigation, search

Installationen er lavet på en pfsense 2.3.2p1


acme client

Skrevet 2016-12-30 - justeringer kan være nødvendige iht ændringer i github fork'en osv.

Acme er protokollen bag letsencrypt, så der skal installeres noget software til at styre denne. Pt er den ikke officielt med i pfSense, men ligger som en PR på github så den skal lige bygges.

  • Lav en freebsd 10.3vm
  • pkg install git
  • git clone -b pfsense-acme-0.1 https://github.com/PiBa-NL/FreeBSD-ports
  • cd FreeBSD-ports/security/pfSense-pkg-acme/
  • vim ./files/usr/local/pkg/acme/acme.inc
    • gå til linie 516
    • efter linien $directory = $domain_info['webrootfolder']; tilføjes disse 2 linier
                   if ( isset($directory)==false || $directory == "")
                               $directory = "/usr/local/www/.well-known/acme-challenge/";
  • byg pakken med make package
  • kopier work/pkg/pfSense-pkg-acme-0.1.txz over på pfSense
  • installer med pkg install pfSense-pkg-acme-0.1.txz

acme validering + haproxy

letsencrypt/acme kan validere domain på flere måder (http/ftp/dns mm) og pfsense/acme indeholder metoder til dem alle(+ en håndfuld integrationer til dns validering), dog vil jeg mene at http valideringen er den enkleste.

  • Installer haproxy pakken på pfSense hvis den ikke allerede er der
  • tilføj en backend der peger på pfsense management interfacet
  • på port 80 frontend'en
    • tilføj en ACL:
      • Name: acme
      • Expression: Path starts with
      • Value: /.well-known
    • Tilføj en regel der knytter acme ACL'en sammen med pfsense backend'en
  • gem + reload osv.

Der er nu klar til at få lavet letsencrypt certs med http validering