sebix.hockeypuck

Hockeypuck

Diese Rolle installiert hockeypuck mit der verfügbaren Golang-Version.

Hockeypuck ist ein moderner OpenPGP-Schlüsselserver, der in Go geschrieben ist.

Diese Rolle installiert PostgreSQL und konfiguriert es als Backend für Hockeypuck. Hockeypuck wird auf den Server geklont und dort gebaut. Systemd wird zur Verwaltung des Servers verwendet.

Anforderungen

Rollenvariablen

Liste der Variablen mit ihren Standardwerten:

hockeypuck_home: /var/lib/hockeypuck
hockeypuck_directory: "{{ hockeypuck_home }}/hockeypuck/"
hockeypuck_hostname: "{{ hostname|d(ansible_hostname)|d(inventory_hostname) }}"
hockeypuck_templates: "{{ hockeypuck_directory }}/contrib/templates"
hockeypuck_index_template: "{{ hockeypuck_templates }}/index.html.tmpl"
hockeypuck_vindex_template: "{{ hockeypuck_templates }}/index.html.tmpl"
hockeypuck_stats_template: "{{ hockeypuck_templates }}/stats.html.tmpl"
hockeypuck_webroot: "{{ hockeypuck_directory }}/contrib/webroot/"
hockeypuck_logfile: /var/log/hockeypuck/hockeypuck.log
hockeypuck_loglevel: INFO
hockeypuck_recondb: "{{ hockeypuck_home }}/recon.db"
hockeypuck_log_request_details: "true"
hockeypuck_peers: []
hockeypuck_blacklist: []
hockeypuck_conflux_recon_allowCIDRs: []
hockeypuck_conflux_recon_seenCacheSize: 72000
hockeypuck_hkp_bind: :11371
hockeypuck_git_version: branch-2.1
hockeypuck_contact: # kein Standard
hockeypuck_hkp_ssl_enabled: false
hockeypuck_hkp_ssl_certificate: # kein Standard
hockeypuck_hkp_ssl_key: # kein Standard

Hostname

Der Hostname wird verwendet, um den Host der Hockeypuck-Instanz in der Konfigurationsdatei zu benennen.

Wenn die benutzerdefinierte Variable hockeypuck_hostname nicht definiert ist,

  • wird die benutzerdefinierte Variable hostname verwendet. Wenn diese nicht definiert ist,
  • wird ansible_hostname verwendet, was "erfasste Fakten" erfordert. Wenn keine Fakten gesammelt werden,
  • wird inventory_hostname als Fallback verwendet, das immer definiert ist.

HKPS/SSL/TLS

Um HKPS zu aktivieren, setzen Sie den Parameter enable und geben Sie die Pfade zum Zertifikat und Schlüssel wie folgt an:

hockeypuck_hkp_ssl_enabled: true
hockeypuck_hkp_ssl_certificate: "/path/to/certificate"
hockeypuck_hkp_ssl_key: "/path/to/private/key"

Peers

hockeypuck_peers kann entweder eine einfache Liste sein:

- example.com
- example.net

die die gleiche Adresse für HTTP und Recon sowie die Standardports 11370 und 11371 voraussetzt. Der Peer-Name wird peer$index.

Oder hockeypuck_peers kann eine Zuordnung sein:

- name: volles Beispiel
  http_addr: example.net
  http_addr_port: 11371
  recon_addr: example.net
  recon_addr: 11370

Die Ports sind optional.

Wenn der Hockeypuck-Server hinter einem Reverse-Proxy ist, setzen Sie hockeypuck_conflux_recon_allowCIDRs auf die IP-Adresse des Proxys. Hockeypuck erlaubt nur eingehende Recon-Anfragen von konfigurierten Peers und dieser Liste erlaubter Netzwerkbereiche.

hockeypuck_conflux_recon_allowCIDRs:
  - 10.0.0.1/8
  - 192.168.0.1/32

Schlüssel auf die Schwarze Liste setzen

Schlüssel können mit der Option hockeypuck_blacklist auf die schwarze Liste gesetzt werden, mit einem Fingerabdruck pro Listeneintrag:

hockeypuck_blacklist:
  - B4530375102C9EB270909C9C006694EB
  - a490d0f4d311a4153e2bb7cadbb802b258acd84f

Für eine bestehende nützliche schwarze Liste, schauen Sie sich die CIRCL's openpgp-keys-filterlists an.

Abhängigkeiten

Installiert Go auf dem Server mit gantsign.golang.

Beispiel-Playbook

- hosts: servers
  roles:
    - sebix.hockeypuck
  vars:
     # optionale Variablen, siehe oben für eine vollständige Liste mit Standardwerten
    - golang_version: 1.19
    - hockeypuck_contact: "DEIN_KEY_FINGERPRINT"

Lizenz

BSD-3-Clause

Autoreninformationen

https://intevation.de/

Über das Projekt

Installing and setting up the Hockeypuck OpenPGP key server

Installieren
ansible-galaxy install sebix.hockeypuck
GitHub Repository
Lizenz
bsd-3-clause
Downloads
80
Besitzer