Seite wählen

How to: Icinga 2 – CA Proxy

von | Nov 9, 2017 | Icinga, Linux

Die in Kürze erscheinende Icinga-Version 2.8 erweckt den CA-Proxy zum Leben. Mit diesem Blogpost möchte ich nun zeigen, wie man dieses Feature verwendet und wozu es nützlich ist.
Was bringt der CA-Proxy?
Am besten ist dies anhand eines Beispiels zu erklären. Man nehme an, das Setup besteht aus einem Master, einem Satellite und mehreren Clients. Während der Einrichtung dieses Setups muss man bisher für jeden Client ein Ticket auf dem Master erstellen und eine direkte Verbindung zum Master haben, was nicht in allen Setups immer möglich oder einfach ist.
Der CA-Proxy ermöglicht es nun, Certificate-Signing-Requests nicht direkt an den Master, sondern an einen Satellite zu senden. Der Satellite leitet den Request dann an den Master weiter.
Mit Version 2.8 kommt zudem die Möglichkeit hinzu, ein Certificate-Signing-Request an den Master zu senden, ohne vorher ein Ticket zu erstellen. Diese Requests können danach am Master manuell beantwortet bzw. das Zertifikat signiert werden.
Durch die Kombination dieser beiden Features, muss weder der Master, noch ein Ticket im Node-Wizard angegeben werden. Firewalls, die den Master abschirmen, stellen hier auch kein Problem mehr da, solange der Client den Satellite erreichen kann.

Einrichtung eines Clients
Auf dem Client muss nun der Node-Wizard ausgeführt werden. Hier kann, wie vorher erwähnt, das Ticket einfach leer gelassen werden:

root@icinga-agent-1:~# icinga2 node wizard
Welcome to the Icinga 2 Setup Wizard!
We will guide you through all required configuration details.
Please specify if this is a satellite/client setup ('n' installs a master setup) [Y/n]: y
Starting the Client/Satellite setup routine...
Please specify the common name (CN) [icinga-agent-1]: [ENTER]
Please specify the parent endpoint(s) (master or satellite) where this node should connect to:
Master/Satellite Common Name (CN from your master/satellite node): icinga-satellite-1
Do you want to establish a connection to the parent node from this node? [Y/n]: y
Please specify the master/satellite connection information:
Master/Satellite endpoint host (IP address or FQDN): 10.211.55.23
Master/Satellite endpoint port [5665]: [ENTER]
Add more master/satellite endpoints? [y/N]: n
Parent certificate information:
Subject: CN = icinga-satellite-1
 Issuer: CN = icinga-satellite-1
 Valid From: Nov 8 11:37:56 2017 GMT
 Valid Until: Nov 4 11:37:56 2032 GMT
 Fingerprint: BA 1F 61 BE 26 8E CB 4E 8B 4D 20 3F 10 5B D5 0C C4 BF 91 00
Is this information correct? [y/N]: y
Please specify the request ticket generated on your Icinga 2 master (optional).
 (Hint: # icinga2 pki ticket --cn 'icinga-agent-1'): [ENTER]
No ticket was specified. Please approve the certificate signing request manually
on the master (see 'icinga2 ca list' and 'icinga2 ca sign --help' for details).
Please specify the API bind host/port (optional):
Bind Host []: [ENTER]
Bind Port []: [ENTER]
Accept config from parent node? [y/N]: y
Accept commands from parent node? [y/N]: y
Reconfiguring Icinga...
Done.
Now restart your Icinga 2 daemon to finish the installation!
root@icinga-agent-1:~# systemctl restart icinga2

 
Danach können wir auf dem Master über “icinga2 ca list” alle Requests anzeigen lassen:

root@icinga-master-1:~# icinga2 ca list
Fingerprint        | Timestamp                | Signed | Subject
-------------------|--------------------------|--------|--------
92a2e5bbb9b374f... | Nov  8 11:43:06 2017 GMT |        | CN = icinga-agent-1

 
Und mit “icinga2 ca sign <fingerprint>” signieren:

root@icinga-master-1:~# icinga2 ca sign 92a2e5bbb9b374f...
information/cli: Signed certificate for 'CN = icinga-agent-1'.

Nach einigen Minuten sollten die signierten Zertifikate auf den Clients landen. Hierfür ist kein Neustart nötig.

Noah Hilverling
Noah Hilverling
Developer

Nachdem Noah bei einer vierjährigen Exkursion nach Belgien seine Liebe zum Programmieren entdeckte, holte der gebürtige Euskirchener innerhalb kürzester Zeit gleich zwei Schulabschlüsse nach. Danach verließ Noah sogar den schönen Chiemsee, um sich ab September 2016 im Rahmen der Ausbildung zum Fachinformatiker für Anwendungsentwicklung bei NETWAYS voll und ganz dem Programmieren hinzugeben und viele unterschiedliche Erfahrungen zu sammeln. Wenn er mal nicht am Programmieren und Zocken ist, brettert er mit seinem Snowboard die Pisten runter,...
Mehr Beiträge zum Thema Icinga | Linux

Pimp your DNS!

Bei einem Consultingkunden hatte ich eine interessante Aufgabenstellung zu lösen: "Jedes Mal wenn die Domänencontroller geplant nacheinander durchgestartet werden führt das dazu, dass die Hosts im Monitoring (Icinga) kurzzeitig nicht erreichbar sind". Auf die Frage...

Administrators Toolbox: Die Zsh

Einfuehrung Zu jeder stereotypischen Hacking-Szene in einem Film oder einer Serie gehoert das Terminal in dem kryptische Ausdruecke, Befehle oder Programmcode ueber den Bildschirm huschen. Je nach Ausfuehrung ist das unterschiedlich laecherlich, aber nichtsdestotrotz...

Icinga2 und Influx2: So bringen wir beide zum reden

Auch wenn die Überschrift es vermuten lässt. Das hier ist kein Clickbait sondern eine Kurzanleitung zum Thema. Das Problem: Seitdem die time series database influxdb in der Version 2.0 erschienen es kann man das icinga2 influx feature nicht mehr ohne weiteres nutzen....

Icinga for Windows – Hyper-V und Cluster Plugins Preview

Am heutigen Montag möchten wir mal unsere Icinga Kollegen zu Wort kommen lassen. Es gibt einiges an Neuerungen im Bereich Icinga for Windows! Seit letztem Mittwoch haben wir großartige Neuigkeiten für alle, die Icinga zur Überwachung von Hyper-V und Windows Cluster...

Veranstaltungen

Mrz 02

Icinga 2 Fundamentals Training | Online

März 2 @ 09:00 - März 5 @ 17:00
Mrz 09

Ansible Fundamentals Training | Online

März 9 @ 09:00 - März 11 @ 17:00
Mrz 12

Ansible AWX (Tower) Training | Online

März 12 @ 09:00 - 17:00
Mrz 23

GitLab Advanced Training | Online

März 23 @ 08:00 - März 25 @ 17:00
Mrz 23

Ansible Advanced Training | Online

März 23 @ 09:00 - März 24 @ 17:00