Puppet je populární nástroj pro automatizaci konfigurace, který umožňuje správce systému efektivně spravovat konfiguraci několika serverů z jednoho centrálního místa. Aby bylo možné zajistit bezpečnou komunikaci mezi Puppet masterem a klienty (agents), je nutné použít SSL (Secure Socket Layer) certifikáty. Tento článek poskytuje podrobný návod na nastavení bezpečné komunikace mezi Puppet masterem a klienty na operačním systému CentOS 7.
Příprava prostředí
Než začnete s nastavením SSL certifikátů, ujistěte se, že Puppet master a všechny Puppet klienty běží na CentOS 7 a mají nainstalovaný Puppet. Puppet můžete nainstalovat pomocí YUM repozitáře Puppet Labs. Pro instalaci Puppet mastera na serveru použijte příkaz:
sudo yum install puppetserver
Na klientech nainstalujte Puppet agenta příkazem:
sudo yum install puppet-agent
Generování a podepisování certifikátů
-
Inicializace Puppet Mastera
Nejdříve spusťte Puppet mastera, aby automaticky vygeneroval hlavní SSL certifikát a klíč. Tento krok také inicializuje certifikační autoritu (CA) na Puppet masteru.
sudo systemctl start puppetserver
sudo systemctl enable puppetserver
-
Generování certifikačních žádostí na klientech
Na každém Puppet klientovi spusťte Puppet agenta, který vygeneruje novou certifikační žádost (CSR) a pošle ji Puppet masterovi.
sudo puppet agent --test --waitforcert=60
Tento příkaz také konfiguruje agenta tak, aby čekal 60 sekund na podepsání certifikátu.
-
Podepisování certifikátů na Puppet Masteru
Po vygenerování CSR na klientech se přihlaste na Puppet mastera a použijte nástroj puppetserver
k zobrazení seznamu čekajících certifikačních žádostí:
sudo puppetserver ca list
Pro podepsání certifikátu pro konkrétní klienta použijte:
sudo puppetserver ca sign --certname client_hostname
Pokud chcete podepsat všechny čekající žádosti, můžete použít:
sudo puppetserver ca sign --all
Automatizace procesu podepisování certifikátů
Pro automatizaci podepisování certifikátů můžete nakonfigurovat Puppet master, aby automaticky podepisoval certifikační žádosti od známých klientů. Toto nastavení se provádí úpravou souboru autosign.conf
na Puppet masteru:
sudo nano /etc/puppetlabs/puppet/autosign.conf
V tomto souboru můžete specifikovat domény nebo konkrétní hostname klientů, jejichž certifikační žádosti budou automaticky podepisovány.
Zabezpečení komunikace
Po úspěšném podepsání a distribuci certifikátů mezi Puppet masterem a klienty je komunikace zabezpečena pomocí SSL. Toto zabezpečení zajišťuje, že všechny přenášené informace jsou šifrovány a nelze je snadno odposlechnout nebo zmanipulovat.
Použitím SSL certifikátů pro zabezpečení komunikace mezi Puppet masterem a klienty můžete výrazně zvýšit bezpečnost vaší infrastruktury. Výše uvedený návod poskytuje kroky pro generování, podepisování a distribuci SSL certifikátů, což je klíčové pro zabezpečenou a důvěryhodnou automatizaci konfigurace v Puppet prostředí.