{"id":35755,"date":"2025-12-03T14:40:48","date_gmt":"2025-12-03T11:40:48","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35755"},"modified":"2025-12-03T14:40:48","modified_gmt":"2025-12-03T11:40:48","slug":"puppet-4-sertifikalarini-yonetme-kilavuzu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/","title":{"rendered":"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu"},"content":{"rendered":"<p><body><\/p>\n<h2>Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu<\/h2>\n<p>Puppet, modern altyap\u0131 y\u00f6netiminde otomasyonun temel ta\u015flar\u0131ndan biridir. Sunucular\u0131n yap\u0131land\u0131rmas\u0131n\u0131 merkezi bir yerden y\u00f6neterek tutarl\u0131l\u0131k, \u00f6l\u00e7eklenebilirlik ve hata azaltma sa\u011flar. Ancak bu merkezi y\u00f6netim modelinin g\u00fcvenli\u011fi, sa\u011flam bir kimlik do\u011frulama ve yetkilendirme altyap\u0131s\u0131na dayan\u0131r. \u0130\u015fte bu noktada, Puppet sertifikalar\u0131 devreye girer. Puppet 4 ve sonraki s\u00fcr\u00fcmlerinde sertifika y\u00f6netimi, \u00f6nceki s\u00fcr\u00fcmlerden farkl\u0131la\u015fan \u00f6nemli de\u011fi\u015fiklikler i\u00e7erir ve bu makale, bu s\u00fcreci ba\u015ftan sona anlamak ve y\u00f6netmek i\u00e7in kapsaml\u0131 bir rehber sunmaktad\u0131r.<\/p>\n<p>Puppet ortam\u0131ndaki her bile\u015fen \u2013 Puppet Server (ana sunucu), Puppet Agent&#8217;lar (istemciler) ve di\u011fer yard\u0131mc\u0131 ara\u00e7lar \u2013 birbirleriyle g\u00fcvenli bir \u015fekilde ileti\u015fim kurmak zorundad\u0131r. Bu g\u00fcvenli ileti\u015fim, X.509 sertifikalar\u0131 ve genel anahtar altyap\u0131s\u0131 (PKI) kullan\u0131larak sa\u011flan\u0131r. Her agent, Puppet Server&#8217;a ba\u011flanmak istedi\u011finde, kimli\u011fini bir sertifika ile kan\u0131tlar ve Puppet Server da agent&#8217;\u0131n kimli\u011fini do\u011frulamak i\u00e7in kendi sertifika yetkilisi (CA) arac\u0131l\u0131\u011f\u0131yla bu sertifikay\u0131 imzalam\u0131\u015f olmal\u0131d\u0131r. Bu kar\u015f\u0131l\u0131kl\u0131 g\u00fcven modeli, yetkisiz eri\u015fimi engeller ve yap\u0131land\u0131rma de\u011fi\u015fikliklerinin yaln\u0131zca g\u00fcvenilir kaynaklardan gelmesini sa\u011flar.<\/p>\n<p>Bu makalede, Puppet 4 ve sonraki s\u00fcr\u00fcmlerinde sertifika mimarisi, sertifika ya\u015fam d\u00f6ng\u00fcs\u00fc (olu\u015fturma, imzalama, iptal etme, yenileme), yayg\u0131n y\u00f6netim komutlar\u0131 ve sorun giderme teknikleri detayl\u0131 bir \u015fekilde ele al\u0131nacakt\u0131r. Amac\u0131m\u0131z, Puppet ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fini ve i\u015fleyi\u015fini sa\u011flamak i\u00e7in sertifika y\u00f6netimini eksiksiz bir \u015fekilde anlaman\u0131z\u0131 ve uygulaman\u0131z\u0131 sa\u011flamakt\u0131r.<\/p>\n<h2>Puppet Sertifika Mimarisi: Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n<p>Puppet ortam\u0131ndaki sertifika mimarisi, bir merkezi sertifika yetkilisi (CA) etraf\u0131nda d\u00f6ner. Bu CA, Puppet Server \u00fczerinde \u00e7al\u0131\u015f\u0131r ve Puppet ortam\u0131ndaki t\u00fcm bile\u015fenler i\u00e7in g\u00fcvenin k\u00f6k\u00fcn\u00fc olu\u015fturur. Her bir Puppet Agent ve Puppet Server&#8217;\u0131n kendisi, bu CA taraf\u0131ndan imzalanm\u0131\u015f bir sertifikaya sahip olmal\u0131d\u0131r.<\/p>\n<h3>Puppet CA (Certificate Authority)<\/h3>\n<p>Puppet CA, Puppet Server&#8217;\u0131n bir bile\u015feni olarak \u00e7al\u0131\u015f\u0131r ve t\u00fcm sertifika imzalama, iptal etme ve CRL (Certificate Revocation List) olu\u015fturma i\u015flemlerinden sorumludur. Puppet CA, kendi \u00f6zel anahtar\u0131na ve sertifikas\u0131na sahiptir. Bu CA sertifikas\u0131, Puppet ortam\u0131ndaki t\u00fcm g\u00fcvenin ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Puppet Server ilk kez kuruldu\u011funda, Puppet CA otomatik olarak kendi k\u00f6k sertifikas\u0131n\u0131 ve \u00f6zel anahtar\u0131n\u0131 olu\u015fturur. Bu anahtar ve sertifika son derece hassast\u0131r ve g\u00fcvenli bir \u015fekilde saklanmal\u0131d\u0131r.<\/p>\n<h3>Puppet Server<\/h3>\n<p>Puppet Server&#8217;\u0131n kendisi de Puppet CA taraf\u0131ndan imzalanm\u0131\u015f bir sertifikaya sahiptir. Bu sertifika, agent&#8217;lar\u0131n Puppet Server&#8217;a ba\u011fland\u0131\u011f\u0131nda sunucunun kimli\u011fini do\u011frulamak i\u00e7in kullan\u0131l\u0131r. Puppet Server, agent&#8217;lardan gelen yap\u0131land\u0131rma taleplerini i\u015fler ve onlara uygun kataloglar\u0131 g\u00f6nderir. Bu ileti\u015fim s\u0131ras\u0131nda, hem agent hem de server kar\u015f\u0131l\u0131kl\u0131 olarak birbirlerinin sertifikalar\u0131n\u0131 do\u011frular.<\/p>\n<h3>Puppet Agent<\/h3>\n<p>Her bir Puppet Agent, Puppet Server ile ileti\u015fim kurmadan \u00f6nce bir sertifika talebi (CSR &#8211; Certificate Signing Request) olu\u015fturur ve bunu Puppet Server&#8217;a g\u00f6nderir. Bu CSR, agent&#8217;\u0131n kimli\u011fini (genellikle hostname) ve genel anahtar\u0131n\u0131 i\u00e7erir. Puppet Server \u00fczerindeki CA, bu talebi inceler, do\u011frular ve e\u011fer uygunsa, agent i\u00e7in bir sertifika imzalar. \u0130mzalanan sertifika agent&#8217;a geri g\u00f6nderilir ve agent bunu gelecekteki ileti\u015fimler i\u00e7in kullan\u0131r.<\/p>\n<h3>Sertifika Ya\u015fam D\u00f6ng\u00fcs\u00fc (Olu\u015fturma, \u0130mzalama, \u0130ptal, Yenileme)<\/h3>\n<p>Puppet sertifikalar\u0131n\u0131n ya\u015fam d\u00f6ng\u00fcs\u00fc \u015fu a\u015famalardan olu\u015fur:<\/p>\n<ol>\n<li><strong>Olu\u015fturma:<\/strong> Bir Puppet Agent ilk kez ba\u015flat\u0131ld\u0131\u011f\u0131nda, kendi \u00f6zel anahtar\u0131n\u0131 ve bir sertifika talebini (CSR) olu\u015fturur.<\/li>\n<li><strong>Talep:<\/strong> Agent, olu\u015fturdu\u011fu CSR&#8217;yi Puppet Server&#8217;a g\u00f6nderir.<\/li>\n<li><strong>\u0130mzalama:<\/strong> Puppet Server \u00fczerindeki CA, gelen CSR&#8217;yi inceler. Y\u00f6netici onay\u0131yla (veya otomatik imzalama kurallar\u0131 varsa otomatik olarak) sertifikay\u0131 imzalar ve agent&#8217;a geri g\u00f6nderir.<\/li>\n<li><strong>Kullan\u0131m:<\/strong> Agent, imzalanm\u0131\u015f sertifikay\u0131 ve kendi \u00f6zel anahtar\u0131n\u0131 kullanarak Puppet Server ile g\u00fcvenli bir TLS ba\u011flant\u0131s\u0131 kurar.<\/li>\n<li><strong>Yenileme:<\/strong> Sertifikalar\u0131n bir ge\u00e7erlilik s\u00fcresi vard\u0131r (varsay\u0131lan olarak 5 y\u0131l). S\u00fcresi dolmadan \u00f6nce yenilenmeleri gerekir. Bu i\u015flem genellikle otomatik olarak veya manuel m\u00fcdahale ile yap\u0131l\u0131r.<\/li>\n<li><strong>\u0130ptal:<\/strong> Bir agent&#8217;\u0131n g\u00fcvenli\u011fi ihlal edildi\u011finde, ortamdan kald\u0131r\u0131ld\u0131\u011f\u0131nda veya sertifikas\u0131yla ilgili bir sorun oldu\u011funda, sertifikas\u0131 iptal edilebilir. \u0130ptal edilen sertifikalar CRL&#8217;ye eklenir ve art\u0131k g\u00fcvenilmez kabul edilir.<\/li>\n<\/ol>\n<h2>Puppet 4 Sertifika Y\u00f6netim Temelleri<\/h2>\n<p>Puppet 4 ile birlikte sertifika y\u00f6netimi i\u00e7in kullan\u0131lan komut setinde \u00f6nemli de\u011fi\u015fiklikler yap\u0131lm\u0131\u015ft\u0131r. <code>puppet cert<\/code> komutu yerini <code>puppetserver ca<\/code> komutuna b\u0131rakm\u0131\u015ft\u0131r. Bu, CA y\u00f6netiminin Puppet Server s\u00fcrecine entegre edildi\u011fi ve daha g\u00fcvenli bir yap\u0131 sunuldu\u011fu anlam\u0131na gelir.<\/p>\n<h3>Varsay\u0131lan Sertifika Konumlar\u0131<\/h3>\n<p>Puppet sertifikalar\u0131 ve anahtarlar\u0131, i\u015fletim sistemine ba\u011fl\u0131 olarak belirli dizinlerde saklan\u0131r. Bu dizinler genellikle <code>ssldir<\/code> olarak adland\u0131r\u0131l\u0131r ve <code>puppet config print ssldir<\/code> komutu ile g\u00f6r\u00fcnt\u00fclenebilir. Tipik olarak:<\/p>\n<ul>\n<li><strong>Linux (root):<\/strong> <code>\/etc\/puppetlabs\/puppet\/ssl<\/code><\/li>\n<li><strong>Windows:<\/strong> <code>C:\\ProgramData\\PuppetLabs\\puppet\\ssl<\/code><\/li>\n<\/ul>\n<p>Bu <code>ssldir<\/code> alt\u0131nda, a\u015fa\u011f\u0131daki \u00f6nemli alt dizinler bulunur:<\/p>\n<ul>\n<li><code>certs\/<\/code>: \u0130mzalanm\u0131\u015f sertifikalar (agent ve CA sertifikas\u0131 dahil).<\/li>\n<li><code>private_keys\/<\/code>: \u00d6zel anahtarlar.<\/li>\n<li><code>public_keys\/<\/code>: Genel anahtarlar.<\/li>\n<li><code>certificate_requests\/<\/code>: Bekleyen sertifika talepleri (CSR&#8217;ler).<\/li>\n<li><code>ca\/<\/code>: CA&#8217;n\u0131n kendi sertifikas\u0131, \u00f6zel anahtar\u0131 ve CRL dosyas\u0131 (yaln\u0131zca Puppet CA sunucusunda bulunur).<\/li>\n<\/ul>\n<h3><code>puppet cert<\/code> Komutunun Kullan\u0131mdan Kalkmas\u0131 ve <code>puppetserver ca<\/code><\/h3>\n<p>Puppet 4 \u00f6ncesinde, Puppet Server&#8217;da sertifika y\u00f6netimi <code>puppet cert<\/code> komutu ile yap\u0131l\u0131rd\u0131. Ancak Puppet 4 ve sonraki s\u00fcr\u00fcmlerinde, bu komutun yerini <code>puppetserver ca<\/code> alt komutlar\u0131 alm\u0131\u015ft\u0131r. Bu de\u011fi\u015fiklik, CA y\u00f6netimini Puppet Server s\u00fcrecine daha s\u0131k\u0131 bir \u015fekilde entegre ederek g\u00fcvenlik ve tutarl\u0131l\u0131\u011f\u0131 art\u0131rmay\u0131 ama\u00e7lamaktad\u0131r. <code>puppetserver ca<\/code> komutu, Puppet Server&#8217;\u0131n JVM s\u00fcrecinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, komutun \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131 kullan\u0131c\u0131n\u0131n Puppet Server&#8217;\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 kullan\u0131c\u0131 ile ayn\u0131 yetkilere sahip olmas\u0131 veya <code>sudo<\/code> kullan\u0131lmas\u0131 gerekebilir.<\/p>\n<h3>Puppet CA Dizini Yap\u0131s\u0131<\/h3>\n<p>Puppet CA&#8217;n\u0131n ana dizini, Puppet Server&#8217;\u0131n <code>ssldir<\/code>&#8216;\u0131 alt\u0131nda bulunan <code>ca\/<\/code> dizinidir. Bu dizin, CA&#8217;n\u0131n t\u00fcm hassas bilgilerini i\u00e7erir:<\/p>\n<ul>\n<li><code>ca_crt.pem<\/code>: CA&#8217;n\u0131n kendi sertifikas\u0131.<\/li>\n<li><code>ca_key.pem<\/code>: CA&#8217;n\u0131n \u00f6zel anahtar\u0131 (son derece gizli tutulmal\u0131d\u0131r).<\/li>\n<li><code>ca_crl.pem<\/code>: Sertifika \u0130ptal Listesi (CRL).<\/li>\n<li><code>inventory.txt<\/code>: \u0130mzalanm\u0131\u015f t\u00fcm sertifikalar\u0131n bir envanteri.<\/li>\n<li><code>signed\/<\/code>: CA taraf\u0131ndan imzalanm\u0131\u015f t\u00fcm sertifikalar\u0131n kopyalar\u0131.<\/li>\n<li><code>requests\/<\/code>: Bekleyen sertifika talepleri.<\/li>\n<\/ul>\n<p>Bu dizinlerin ve i\u00e7indeki dosyalar\u0131n do\u011fru izinlere sahip olmas\u0131 ve sadece Puppet Server taraf\u0131ndan eri\u015filebilir olmas\u0131 kritik \u00f6neme sahiptir.<\/p>\n<h2>Sertifika \u0130mzalama \u0130\u015flemleri<\/h2>\n<p>Yeni bir Puppet Agent&#8217;\u0131 ortam\u0131n\u0131za dahil etmenin ilk ad\u0131m\u0131, agent&#8217;\u0131n sertifika talebini Puppet Server \u00fczerinde imzalamakt\u0131r. Bu i\u015flem, agent&#8217;\u0131n kimli\u011fini do\u011frular ve Puppet Server ile g\u00fcvenli ileti\u015fimi ba\u015flatmas\u0131na olanak tan\u0131r.<\/p>\n<h3>Yeni Bir Agent&#8217;tan Sertifika Talebi Alma<\/h3>\n<p>Bir Puppet Agent ilk kez ba\u015flat\u0131ld\u0131\u011f\u0131nda veya mevcut sertifikas\u0131 silindi\u011finde, Puppet Server&#8217;a bir sertifika talebi (CSR) g\u00f6nderir. Bu i\u015flem genellikle a\u015fa\u011f\u0131daki komutla ba\u015flat\u0131l\u0131r:<\/p>\n<pre><code class=\"language-bash\">puppet agent -t<\/code><\/pre>\n<p>Bu komut, agent&#8217;\u0131n kendi \u00f6zel anahtar\u0131n\u0131 ve CSR&#8217;sini olu\u015fturmas\u0131n\u0131, ard\u0131ndan CSR&#8217;yi Puppet Server&#8217;a g\u00f6ndermesini sa\u011flar. E\u011fer server&#8217;da otomatik imzalama etkin de\u011filse, bu talep beklemede kal\u0131r.<\/p>\n<h3>Sertifika Taleplerini Listeleme<\/h3>\n<p>Puppet Server \u00fczerinde bekleyen sertifika taleplerini g\u00f6rmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo puppetserver ca list<\/code><\/pre>\n<p>Bu komut, bekleyen t\u00fcm CSR&#8217;leri listeler ve her talebin hostname&#8217;ini g\u00f6sterir. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-bash\">Signed Certificates:\n    agent1.example.com          (SHA256)  AA:BB:CC:...\n    puppet.example.com          (SHA256)  DD:EE:FF:...\n    \nCertificate Requests:\n    newagent.example.com        (SHA256)  11:22:33:...<\/code><\/pre>\n<p>Burada <code>newagent.example.com<\/code> bekleyen bir taleptir.<\/p>\n<h3>Sertifika Talebini \u0130mzalama<\/h3>\n<p>Belirli bir agent&#8217;\u0131n sertifika talebini imzalamak i\u00e7in <code>sign<\/code> komutunu kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo puppetserver ca sign newagent.example.com<\/code><\/pre>\n<p>Ba\u015far\u0131l\u0131 bir imzalama i\u015fleminden sonra, agent bir sonraki <code>puppet agent -t<\/code> \u00e7al\u0131\u015ft\u0131rmas\u0131nda imzalanm\u0131\u015f sertifikay\u0131 alabilir ve Puppet Server ile ileti\u015fim kurmaya ba\u015flayabilir.<\/p>\n<h3>T\u00fcm Bekleyen Talepleri \u0130mzalama<\/h3>\n<p>Birden fazla bekleyen sertifika talebi varsa ve hepsini ayn\u0131 anda imzalamak istiyorsan\u0131z, <code>--all<\/code> bayra\u011f\u0131n\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo puppetserver ca sign --all<\/code><\/pre>\n<p>Bu komut, listedeki t\u00fcm bekleyen sertifika taleplerini otomatik olarak imzalar. Bu, genellikle yeni bir ortam kurulumunda veya toplu agent eklemelerinde zaman kazand\u0131rabilir, ancak her talebin do\u011frulu\u011fundan emin olmak \u00f6nemlidir.<\/p>\n<h3>Belirli Bir Sertifikay\u0131 G\u00f6r\u00fcnt\u00fcleme<\/h3>\n<p>\u0130mzalanm\u0131\u015f bir sertifikan\u0131n detaylar\u0131n\u0131 g\u00f6rmek i\u00e7in <code>print<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo puppetserver ca print newagent.example.com<\/code><\/pre>\n<p>Bu komut, sertifikan\u0131n ge\u00e7erlilik s\u00fcresi, parmak izi (fingerprint) ve di\u011fer X.509 detaylar\u0131 gibi bilgileri g\u00f6sterir. Bu, sertifikalar\u0131n do\u011fru \u015fekilde imzaland\u0131\u011f\u0131n\u0131 veya bir sorunu giderirken sertifika bilgilerini do\u011frulamak i\u00e7in faydal\u0131d\u0131r.<\/p>\n<h2>Sertifika \u0130ptal \u0130\u015flemleri (Revocation)<\/h2>\n<p>Bir sertifikan\u0131n iptal edilmesi, o sertifikan\u0131n art\u0131k g\u00fcvenilir olmad\u0131\u011f\u0131n\u0131 ve Puppet ortam\u0131nda kullan\u0131lamayaca\u011f\u0131n\u0131 belirtir. Bu, g\u00fcvenlik a\u00e7\u0131s\u0131ndan kritik bir i\u015flemdir.<\/p>\n<h3>Neden Sertifika \u0130ptali Gerekir?<\/h3>\n<p>Sertifika iptali gerektiren \u00e7e\u015fitli senaryolar vard\u0131r:<\/p>\n<ul>\n<li><strong>G\u00fcvenlik \u0130hlali:<\/strong> Bir agent&#8217;\u0131n \u00f6zel anahtar\u0131 ele ge\u00e7irildi\u011finde veya g\u00fcvenli\u011fi ihlal edildi\u011finde.<\/li>\n<li><strong>Sistemden Kald\u0131rma:<\/strong> Bir agent sunucusu Puppet ortam\u0131ndan kal\u0131c\u0131 olarak kald\u0131r\u0131ld\u0131\u011f\u0131nda.<\/li>\n<li><strong>Yeniden Kurulum:<\/strong> Bir agent sunucusunun yeniden kurulmas\u0131 ve yeni bir sertifika almas\u0131 gerekti\u011finde.<\/li>\n<li><strong>Yanl\u0131\u015f \u0130mzalanm\u0131\u015f Sertifika:<\/strong> Yanl\u0131\u015fl\u0131kla veya hatal\u0131 bilgilerle imzalanm\u0131\u015f bir sertifika oldu\u011funda.<\/li>\n<\/ul>\n<p>\u0130ptal edilmeyen g\u00fcvensiz sertifikalar, yetkisiz eri\u015fim veya yanl\u0131\u015f yap\u0131land\u0131rma riskleri yaratabilir.<\/p>\n<h3>Bir Sertifikay\u0131 \u0130ptal Etme<\/h3>\n<p>Bir sertifikay\u0131 iptal etmek i\u00e7in <code>revoke<\/code> komutunu kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo puppetserver ca revoke oldagent.example.com<\/code><\/pre>\n<p>Bu komut, belirtilen agent&#8217;\u0131n sertifikas\u0131n\u0131 iptal eder ve bu bilgiyi Sertifika \u0130ptal Listesi&#8217;ne (CRL) ekler. \u0130ptal i\u015fleminden sonra, ilgili agent art\u0131k Puppet Server ile g\u00fcvenli bir \u015fekilde ileti\u015fim kuramayacakt\u0131r.<\/p>\n<p>\u0130ptal i\u015fleminden sonra, agent&#8217;\u0131n kendi taraf\u0131ndaki sertifika ve anahtar dosyalar\u0131n\u0131 temizlemesi gerekir. Agent taraf\u0131nda a\u015fa\u011f\u0131daki komutlar kullan\u0131labilir:<\/p>\n<pre><code class=\"language-bash\">sudo puppet agent --disable # Agent'\u0131 durdur\nsudo rm -rf $(puppet config print ssldir) # SSL dizinini sil\nsudo puppet agent --enable # Agent'\u0131 tekrar etkinle\u015ftir<\/code><\/pre>\n<p>Ard\u0131ndan, agent yeni bir sertifika talebi olu\u015fturmak i\u00e7in <code>puppet agent -t<\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilir.<\/p>\n<h3>\u0130ptal Edilmi\u015f Sertifikalar\u0131 Listeleme (CRL)<\/h3>\n<p>\u0130ptal edilen sertifikalar, Puppet CA taraf\u0131ndan y\u00f6netilen bir Sertifika \u0130ptal Listesi&#8217;nde (CRL) tutulur. Puppet Server, agent&#8217;lardan gelen ba\u011flant\u0131lar\u0131 kabul etmeden \u00f6nce bu CRL&#8217;yi kontrol eder. CRL&#8217;yi do\u011frudan g\u00f6r\u00fcnt\u00fclemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo openssl crl -in $(puppet config print cacrl) -text -noout<\/code><\/pre>\n<p>Bu komut, CRL dosyas\u0131n\u0131n i\u00e7eri\u011fini okunabilir bir formatta g\u00f6sterir ve iptal edilen sertifikalar\u0131n seri numaralar\u0131n\u0131 listeler.<\/p>\n<h3>CRL&#8217;nin G\u00fcncellenmesi ve Da\u011f\u0131t\u0131m\u0131<\/h3>\n<p>Bir sertifika iptal edildi\u011finde, Puppet CA otomatik olarak CRL&#8217;yi g\u00fcnceller. Ancak, agent&#8217;lar\u0131n bu g\u00fcncellenmi\u015f CRL&#8217;ye eri\u015febilmesi \u00f6nemlidir. Puppet Agent&#8217;lar, her \u00e7al\u0131\u015ft\u0131klar\u0131nda Puppet Server&#8217;dan en g\u00fcncel CRL&#8217;yi al\u0131r. Bu sayede, iptal edilmi\u015f sertifikalara sahip agent&#8217;lar\u0131n server ile ileti\u015fim kurmas\u0131 engellenir. CRL&#8217;nin do\u011fru bir \u015fekilde da\u011f\u0131t\u0131ld\u0131\u011f\u0131ndan ve agent&#8217;lar taraf\u0131ndan g\u00fcncel bir kopyas\u0131n\u0131n al\u0131nd\u0131\u011f\u0131ndan emin olmak, Puppet ortam\u0131n\u0131n g\u00fcvenli\u011fi i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h2>Sertifika Yenileme \u0130\u015flemleri<\/h2>\n<p>Puppet sertifikalar\u0131n\u0131n bir ge\u00e7erlilik s\u00fcresi vard\u0131r (varsay\u0131lan olarak 5 y\u0131l). S\u00fcreleri dolmadan \u00f6nce yenilenmeleri gerekir. Bu i\u015flem hem otomatik hem de manuel olarak yap\u0131labilir.<\/p>\n<h3>Otomatik Yenileme Mekanizmalar\u0131<\/h3>\n<p>Puppet 6.0 ve sonraki s\u00fcr\u00fcmlerinde, sertifika yenileme s\u00fcreci b\u00fcy\u00fck \u00f6l\u00e7\u00fcde otomatikle\u015ftirilmi\u015ftir. Puppet Agent, sertifikas\u0131n\u0131n s\u00fcresi dolmaya yakla\u015ft\u0131\u011f\u0131nda (varsay\u0131lan olarak son 90 g\u00fcn i\u00e7inde), otomatik olarak yeni bir sertifika talebi (CSR) olu\u015fturur ve Puppet Server&#8217;a g\u00f6nderir. Puppet Server \u00fczerindeki CA, bu talebi eski sertifikay\u0131 do\u011frulamak i\u00e7in kullan\u0131r ve e\u011fer her \u015fey yolundaysa, yeni bir sertifika imzalar. Bu s\u00fcre\u00e7, Puppet Server&#8217;\u0131n <code>autosign.conf<\/code> veya <code>autosign.rb<\/code> kurallar\u0131na tabi olabilir.<\/p>\n<p>Otomatik yenileme, \u00f6zellikle b\u00fcy\u00fck ortamlarda y\u00f6netici y\u00fck\u00fcn\u00fc \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r ve sertifika s\u00fcrelerinin dolmas\u0131ndan kaynaklanan kesintileri \u00f6nler.<\/p>\n<h3>Manuel Sertifika Yenileme (Agent Taraf\u0131nda)<\/h3>\n<p>E\u011fer otomatik yenileme mekanizmas\u0131 devre d\u0131\u015f\u0131ysa veya bir sorun varsa, manuel olarak sertifika yenileme i\u015flemi gerekebilir. Agent taraf\u0131nda manuel yenileme, mevcut sertifikay\u0131 ve \u00f6zel anahtar\u0131 silip yeni bir talep g\u00f6ndermeyi i\u00e7erir. Bu, asl\u0131nda bir &#8220;yenileme&#8221;den ziyade &#8220;yeni bir sertifika alma&#8221; i\u015flemine daha yak\u0131nd\u0131r:<\/p>\n<ol>\n<li>Agent makinesinde Puppet servisini durdurun: <code>sudo systemctl stop puppet<\/code><\/li>\n<li>SSL dizinini temizleyin: <code>sudo rm -rf $(puppet config print ssldir)<\/code><\/li>\n<li>Puppet servisini ba\u015flat\u0131n: <code>sudo systemctl start puppet<\/code><\/li>\n<li>Yeni bir sertifika talebi g\u00f6nderin: <code>sudo puppet agent -t<\/code><\/li>\n<\/ol>\n<p>Bu ad\u0131mdan sonra, Puppet Server \u00fczerinde bu yeni talebin imzalanmas\u0131 gerekecektir: <code>sudo puppetserver ca sign <agent_hostname><\/code>.<\/p>\n<h3>Manuel Sertifika Yenileme (CA Taraf\u0131nda)<\/h3>\n<p>CA taraf\u0131nda do\u011frudan bir &#8220;yenileme&#8221; komutu yoktur. CA, agent&#8217;dan gelen yeni talebi her zaman yeni bir sertifika talebi olarak de\u011ferlendirir. E\u011fer bir agent&#8217;\u0131n sertifikas\u0131 s\u00fcre dolumu nedeniyle yenilenemiyorsa ve agent yeni bir talep g\u00f6nderemiyorsa, CA y\u00f6neticisinin eski sertifikay\u0131 iptal etmesi ve agent&#8217;\u0131n yeni bir talep g\u00f6ndermesini beklemesi gerekebilir. Bu, genellikle a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 i\u00e7erir:<\/p>\n<ol>\n<li>Puppet Server&#8217;da eski sertifikay\u0131 iptal edin: <code>sudo puppetserver ca revoke <agent_hostname><\/code><\/li>\n<li>Agent makinesinde SSL dizinini temizleyin (yukar\u0131daki ad\u0131mlara bak\u0131n).<\/li>\n<li>Agent makinesinden yeni bir sertifika talebi g\u00f6nderin: <code>sudo puppet agent -t<\/code><\/li>\n<li>Puppet Server&#8217;da yeni talebi imzalay\u0131n: <code>sudo puppetserver ca sign <agent_hostname><\/code><\/li>\n<\/ol>\n<p>Bu s\u00fcre\u00e7, sertifika yenileme sorunlar\u0131n\u0131 \u00e7\u00f6zmek i\u00e7in en g\u00fcvenli ve etkili yakla\u015f\u0131md\u0131r, \u00e7\u00fcnk\u00fc eski, potansiyel olarak sorunlu sertifikan\u0131n tamamen ortadan kald\u0131r\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Sertifika Sorun Giderme (Troubleshooting)<\/h2>\n<p>Puppet ortamlar\u0131nda sertifika sorunlar\u0131, ileti\u015fim hatalar\u0131n\u0131n en yayg\u0131n nedenlerinden biridir. \u0130\u015fte kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcm yollar\u0131:<\/p>\n<h3>&#8220;Certificate not authorized&#8221; Hatalar\u0131<\/h3>\n<p>Bu hata genellikle bir agent&#8217;\u0131n sertifikas\u0131n\u0131n Puppet Server taraf\u0131ndan imzalanmad\u0131\u011f\u0131 veya iptal edildi\u011fi anlam\u0131na gelir.<\/p>\n<pre><code class=\"language-bash\">Error: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate not authorized]<\/code><\/pre>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><\/p>\n<ol>\n<li>Puppet Server \u00fczerinde <code>sudo puppetserver ca list<\/code> komutuyla bekleyen talepleri kontrol edin. Agent&#8217;\u0131n talebi listede mi?<\/li>\n<li>E\u011fer listedeyse, <code>sudo puppetserver ca sign <agent_hostname><\/code> ile sertifikay\u0131 imzalay\u0131n.<\/li>\n<li>E\u011fer agent&#8217;\u0131n sertifikas\u0131 daha \u00f6nce imzalanm\u0131\u015fsa ama bu hatay\u0131 al\u0131yorsan\u0131z, sertifikan\u0131n iptal edilip edilmedi\u011fini kontrol edin (<code>sudo puppetserver ca print <agent_hostname><\/code> komutu \u00e7\u0131kt\u0131s\u0131nda &#8220;revoked&#8221; ibaresi olabilir). \u0130ptal edilmi\u015fse, iptal i\u015flemleri b\u00f6l\u00fcm\u00fcndeki ad\u0131mlar\u0131 izleyerek sertifikay\u0131 yeniden olu\u015fturun.<\/li>\n<li>Agent makinesinde sertifika dosyalar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun. Gerekirse agent&#8217;\u0131n SSL dizinini temizleyip yeni bir talep g\u00f6nderin.<\/li>\n<\/ol>\n<h3>&#8220;Hostname does not match&#8221; Hatalar\u0131<\/h3>\n<p>Bu hata, agent&#8217;\u0131n ba\u011fland\u0131\u011f\u0131 sunucunun sertifikas\u0131ndaki hostname ile agent&#8217;\u0131n bekledi\u011fi hostname&#8217;in e\u015fle\u015fmemesi durumunda ortaya \u00e7\u0131kar.<\/p>\n<pre><code class=\"language-bash\">Error: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: hostname \"puppet.example.com\" does not match the server's certificate<\/code><\/pre>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><\/p>\n<ol>\n<li>Agent&#8217;\u0131n <code>puppet.conf<\/code> dosyas\u0131nda <code>server<\/code> ayar\u0131n\u0131n do\u011fru Puppet Server hostname&#8217;ini g\u00f6sterdi\u011finden emin olun.<\/li>\n<li>Puppet Server&#8217;\u0131n sertifikas\u0131n\u0131n do\u011fru hostname&#8217;i i\u00e7erdi\u011finden emin olun. E\u011fer Puppet Server&#8217;\u0131n hostname&#8217;i de\u011fi\u015ftiyse veya yanl\u0131\u015f imzaland\u0131ysa, Puppet Server&#8217;\u0131n sertifikas\u0131n\u0131 yeniden olu\u015fturman\u0131z gerekebilir.<\/li>\n<li>DNS \u00e7\u00f6z\u00fcmlemesinin do\u011fru oldu\u011fundan emin olun. Agent&#8217;\u0131n Puppet Server hostname&#8217;ini do\u011fru IP adresine \u00e7\u00f6z\u00fcmledi\u011fini do\u011frulay\u0131n.<\/li>\n<\/ol>\n<h3>Sertifika Dosyalar\u0131n\u0131n Bozulmas\u0131 veya Kaybolmas\u0131<\/h3>\n<p>Bazen sertifika veya anahtar dosyalar\u0131 bozulabilir veya yanl\u0131\u015fl\u0131kla silinebilir. Bu durumda, en basit \u00e7\u00f6z\u00fcm ilgili agent&#8217;\u0131n SSL dizinini tamamen temizleyip yeni bir sertifika talebi g\u00f6ndermektir.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop puppet\nsudo rm -rf $(puppet config print ssldir)\nsudo systemctl start puppet\nsudo puppet agent -t<\/code><\/pre>\n<p>Ard\u0131ndan Puppet Server&#8217;da yeni talebi imzalay\u0131n.<\/p>\n<h3>CA Taraf\u0131nda Sertifika Yenileme Sorunlar\u0131<\/h3>\n<p>CA&#8217;n\u0131n kendi sertifikas\u0131 veya anahtar\u0131 ile ilgili sorunlar, t\u00fcm Puppet ortam\u0131n\u0131 etkileyebilir. CA&#8217;n\u0131n \u00f6zel anahtar\u0131n\u0131n kaybolmas\u0131 veya bozulmas\u0131 durumunda, Puppet ortam\u0131n\u0131 ba\u015ftan kurmaktan ba\u015fka \u00e7are kalmayabilir, bu nedenle CA yedeklemesi kritik \u00f6neme sahiptir.<\/p>\n<p>CA sertifikas\u0131n\u0131n s\u00fcresi dolarsa, yeni agent&#8217;lar imzalanm\u0131\u015f sertifikalar\u0131 do\u011frulayamaz. Bu durumda, CA sertifikas\u0131n\u0131n yenilenmesi gerekir. Puppet 6 ve \u00fczeri s\u00fcr\u00fcmlerde CA sertifikas\u0131 otomatik olarak yenilenir. Daha eski s\u00fcr\u00fcmlerde veya manuel bir yenileme gerekiyorsa, Puppetlabs dok\u00fcmantasyonundaki \u00f6zel ad\u0131mlar\u0131 takip etmek \u00f6nemlidir, \u00e7\u00fcnk\u00fc bu i\u015flem karma\u015f\u0131k olabilir ve dikkatli yap\u0131lmad\u0131\u011f\u0131nda t\u00fcm ortam\u0131 bozabilir.<\/p>\n<h3>Zaman Senkronizasyonu (NTP) \u00d6nemi<\/h3>\n<p>Sertifikalar\u0131n ge\u00e7erlilik s\u00fcreleri vard\u0131r ve bu s\u00fcreler, sertifikalar\u0131n imzaland\u0131\u011f\u0131 ve kullan\u0131ld\u0131\u011f\u0131 makinelerdeki sistem saatlerine g\u00f6re belirlenir. E\u011fer Puppet Server ve Puppet Agent&#8217;lar aras\u0131nda \u00f6nemli bir zaman fark\u0131 varsa (sistem saatleri senkronize de\u011filse), sertifikalar ge\u00e7erli olsalar bile &#8220;hen\u00fcz ge\u00e7erli de\u011fil&#8221; veya &#8220;s\u00fcresi dolmu\u015f&#8221; gibi hatalar verebilir. Bu nedenle, t\u00fcm Puppet bile\u015fenlerinin NTP (Network Time Protocol) ile senkronize edilmesi kritik \u00f6neme sahiptir.<\/p>\n<h2>Geli\u015fmi\u015f Sertifika Y\u00f6netimi Konular\u0131<\/h2>\n<p>Puppet sertifika y\u00f6netimi, temel imzalama ve iptal i\u015flemlerinin \u00f6tesine ge\u00e7erek daha karma\u015f\u0131k senaryolar\u0131 da kapsar. Bu b\u00f6l\u00fcmde, geli\u015fmi\u015f kullan\u0131m durumlar\u0131na ve en iyi g\u00fcvenlik uygulamalar\u0131na de\u011finece\u011fiz.<\/p>\n<h3>Harici CA Kullan\u0131m\u0131<\/h3>\n<p>Baz\u0131 kurumsal ortamlarda, Puppet&#8217;\u0131n kendi dahili CA&#8217;s\u0131 yerine mevcut bir kurumsal PKI altyap\u0131s\u0131n\u0131 (\u00f6rne\u011fin Active Directory CA, HashiCorp Vault CA) kullanmak istenebilir. Bu, t\u00fcm sertifika y\u00f6netimini tek bir merkezi otorite alt\u0131nda toplamak ve mevcut g\u00fcvenlik politikalar\u0131na uyum sa\u011flamak i\u00e7in tercih edilir.<\/p>\n<p>Puppet, harici bir CA kullanmak i\u00e7in destek sunar. Bu yap\u0131land\u0131rmada, Puppet Server kendi CA&#8217;s\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmaz, bunun yerine harici CA&#8217;dan sertifika talepleri al\u0131r ve imzalanm\u0131\u015f sertifikalar\u0131 kullan\u0131r. Bu kurulum daha karma\u015f\u0131k olup, genellikle \u00f6zel yap\u0131land\u0131rma dosyalar\u0131 ve Puppet Server&#8217;\u0131n harici CA ile nas\u0131l ileti\u015fim kuraca\u011f\u0131n\u0131 belirten komut dosyalar\u0131 gerektirir. Temel ad\u0131mlar \u015funlar\u0131 i\u00e7erebilir:<\/p>\n<ol>\n<li>Puppet Server&#8217;\u0131 harici CA&#8217;y\u0131 kullanacak \u015fekilde yap\u0131land\u0131rma.<\/li>\n<li>Puppet Server i\u00e7in harici CA&#8217;dan bir sertifika ve \u00f6zel anahtar alma.<\/li>\n<li>Agent&#8217;lar\u0131n, Puppet Server&#8217;\u0131n sertifikas\u0131n\u0131 do\u011frulayabilmesi i\u00e7in harici CA&#8217;n\u0131n k\u00f6k sertifikas\u0131n\u0131 bilmesini sa\u011flama.<\/li>\n<\/ol>\n<p>Bu yakla\u015f\u0131m, mevcut PKI s\u00fcre\u00e7leriyle entegrasyonu kolayla\u015ft\u0131r\u0131rken, Puppet&#8217;\u0131n sertifika y\u00f6netimini daha az \u00f6zerk hale getirir ve CA&#8217;n\u0131n kullan\u0131labilirli\u011fine ve g\u00fcvenli\u011fine daha fazla ba\u011f\u0131ml\u0131l\u0131k yarat\u0131r.<\/p>\n<h3>Sertifika Otomasyonu (Puppet Kodu ile)<\/h3>\n<p>B\u00fcy\u00fck Puppet ortamlar\u0131nda, sertifika taleplerini manuel olarak imzalamak zaman al\u0131c\u0131 ve hataya a\u00e7\u0131k olabilir. Puppet, <code>autosign.conf<\/code> veya <code>autosign.rb<\/code> dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla otomatik imzalama kurallar\u0131 tan\u0131mlama yetene\u011fi sunar.<\/p>\n<ul>\n<li><strong><code>autosign.conf<\/code>:<\/strong> Bu dosya, basit glob desenleri veya tam hostname&#8217;ler kullanarak hangi agent&#8217;lar\u0131n sertifikalar\u0131n\u0131n otomatik olarak imzalanaca\u011f\u0131n\u0131 belirler. \u00d6rne\u011fin, <code>*.example.com<\/code> t\u00fcm <code>example.com<\/code> etki alan\u0131ndaki agent&#8217;lar\u0131n otomatik imzalanmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong><code>autosign.rb<\/code>:<\/strong> Daha karma\u015f\u0131k senaryolar i\u00e7in bir Ruby beti\u011fi kullan\u0131labilir. Bu betik, gelen CSR&#8217;nin i\u00e7eri\u011fini (\u00f6rne\u011fin, SAN&#8217;lar, belirli \u00f6znitelikler) inceleyerek ve harici bir envanter sistemiyle (CMDB) kar\u015f\u0131la\u015ft\u0131rarak daha gran\u00fcler otomatik imzalama kararlar\u0131 verebilir. Bu, yaln\u0131zca belirli ko\u015fullar\u0131 kar\u015f\u0131layan veya \u00f6nceden onaylanm\u0131\u015f agent&#8217;lar\u0131n otomatik olarak imzalanmas\u0131n\u0131 sa\u011flar.<\/li>\n<\/ul>\n<p>Otomatik imzalama, da\u011f\u0131t\u0131m h\u0131z\u0131n\u0131 art\u0131r\u0131rken, yanl\u0131\u015f yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda g\u00fcvenlik riskleri ta\u015f\u0131yabilir. Bu nedenle, <code>autosign<\/code> kurallar\u0131n\u0131 dikkatlice tan\u0131mlamak ve d\u00fczenli olarak g\u00f6zden ge\u00e7irmek \u00f6nemlidir.<\/p>\n<h3>Sertifika G\u00fcvenli\u011fi En \u0130yi Uygulamalar\u0131<\/h3>\n<p>Puppet sertifikalar\u0131n\u0131n g\u00fcvenli\u011fi, t\u00fcm Puppet ortam\u0131n\u0131n g\u00fcvenli\u011fi i\u00e7in temeldir. \u0130\u015fte baz\u0131 en iyi uygulamalar:<\/p>\n<h4>CA Sunucusunun G\u00fcvenli\u011fi<\/h4>\n<p>Puppet CA, Puppet ortam\u0131ndaki en kritik bile\u015fendir. CA&#8217;n\u0131n \u00f6zel anahtar\u0131n\u0131n ele ge\u00e7irilmesi, t\u00fcm ortam\u0131n g\u00fcvenli\u011fini tehlikeye atar. Bu nedenle:<\/p>\n<ul>\n<li>CA sunucusu, yaln\u0131zca Puppet Server&#8217;\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucu olmal\u0131 ve di\u011fer hizmetler i\u00e7in kullan\u0131lmamal\u0131d\u0131r.<\/li>\n<li>CA sunucusuna fiziksel ve a\u011f eri\u015fimi k\u0131s\u0131tlanmal\u0131d\u0131r.<\/li>\n<li>CA&#8217;n\u0131n \u00f6zel anahtar\u0131 (<code>ca_key.pem<\/code>) ve di\u011fer hassas dosyalar i\u00e7in dosya izinleri s\u0131k\u0131 bir \u015fekilde ayarlanmal\u0131d\u0131r (yaln\u0131zca Puppet kullan\u0131c\u0131s\u0131n\u0131n okuma\/yazma izni olmal\u0131).<\/li>\n<li>CA sunucusunda g\u00fcvenlik duvar\u0131 kurallar\u0131 s\u0131k\u0131 olmal\u0131, sadece gerekli portlara (8140) izin verilmelidir.<\/li>\n<li>CA yedeklemesi d\u00fczenli olarak yap\u0131lmal\u0131 ve yedekler g\u00fcvenli bir yerde saklanmal\u0131d\u0131r.<\/li>\n<\/ul>\n<h4>\u00d6zel Anahtarlar\u0131n Korunmas\u0131<\/h4>\n<p>Hem Puppet Server&#8217;\u0131n hem de her Puppet Agent&#8217;\u0131n kendi \u00f6zel anahtar\u0131 vard\u0131r. Bu anahtarlar, ilgili makine \u00fczerinde g\u00fcvenli bir \u015fekilde saklanmal\u0131d\u0131r. Dosya izinleri, \u00f6zel anahtarlar\u0131n sadece ilgili Puppet s\u00fcre\u00e7leri taraf\u0131ndan okunabilmesini sa\u011flamal\u0131d\u0131r. \u00d6zel anahtarlar\u0131n ele ge\u00e7irilmesi, kimlik taklidine yol a\u00e7abilir.<\/p>\n<h4>D\u00fczenli CRL G\u00fcncellemeleri<\/h4>\n<p>Sertifika \u0130ptal Listesi (CRL), iptal edilmi\u015f sertifikalar\u0131n kayd\u0131n\u0131 tutar. CRL&#8217;nin d\u00fczenli olarak g\u00fcncellendi\u011finden ve agent&#8217;lar taraf\u0131ndan g\u00fcncel kopyalar\u0131n\u0131n al\u0131nd\u0131\u011f\u0131ndan emin olmak \u00f6nemlidir. Bu, iptal edilmi\u015f sertifikalar\u0131n Puppet ortam\u0131nda kullan\u0131lmas\u0131n\u0131 engeller ve ortam\u0131n genel g\u00fcvenli\u011fini art\u0131r\u0131r.<\/p>\n<h4>Sertifika Ge\u00e7erlilik S\u00fcrelerinin Y\u00f6netimi<\/h4>\n<p>Sertifikalar\u0131n ge\u00e7erlilik s\u00fcrelerini takip etmek ve s\u00fcreleri dolmadan \u00f6nce yenilemek \u00f6nemlidir. Otomatik yenileme mekanizmalar\u0131n\u0131 kullanmak veya d\u00fczenli denetimler yapmak, sertifika s\u00fcrelerinin dolmas\u0131ndan kaynaklanan kesintileri \u00f6nler.<\/p>\n<h4>Monitoring ve Denetim<\/h4>\n<p>Puppet ortam\u0131ndaki sertifika olaylar\u0131n\u0131 (yeni talepler, imzalamalar, iptaller) izlemek i\u00e7in loglar\u0131 d\u00fczenli olarak denetleyin. Anormal sertifika talepleri veya ba\u015far\u0131s\u0131z ileti\u015fim giri\u015fimleri, bir g\u00fcvenlik ihlali veya yap\u0131land\u0131rma sorununun i\u015fareti olabilir.<\/p>\n<h2>Sonu\u00e7: G\u00fcvenli ve Sorunsuz Puppet Ortamlar\u0131 \u0130\u00e7in Sertifika Y\u00f6netimi<\/h2>\n<p>Puppet 4 ve sonraki s\u00fcr\u00fcmlerinde sertifika y\u00f6netimi, Puppet ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fi ve i\u015flevselli\u011fi i\u00e7in merkezi bir rol oynamaktad\u0131r. X.509 sertifikalar\u0131na dayal\u0131 PKI mimarisi, Puppet Server ve Agent&#8217;lar aras\u0131ndaki g\u00fcvenli ileti\u015fimin temelini olu\u015fturur. Bu rehberde ele ald\u0131\u011f\u0131m\u0131z gibi, sertifika ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fcn her a\u015famas\u0131n\u0131 \u2013 olu\u015fturma, imzalama, iptal etme ve yenileme \u2013 do\u011fru bir \u015fekilde y\u00f6netmek, Puppet altyap\u0131n\u0131z\u0131n sa\u011flaml\u0131\u011f\u0131n\u0131 ve g\u00fcvenli\u011fini garanti alt\u0131na al\u0131r.<\/p>\n<p><code>puppetserver ca<\/code> komut setinin etkin kullan\u0131m\u0131, bekleyen sertifika taleplerini y\u00f6netme, s\u00fcresi dolan sertifikalar\u0131 yenileme ve g\u00fcvenlik ihlali durumunda sertifikalar\u0131 iptal etme yetene\u011fi sa\u011flar. Ayr\u0131ca, sorun giderme tekniklerini anlamak, kar\u015f\u0131la\u015f\u0131lan yayg\u0131n sertifika sorunlar\u0131n\u0131 h\u0131zla te\u015fhis etmenize ve \u00e7\u00f6zmenize yard\u0131mc\u0131 olur.<\/p>\n<p>Geli\u015fmi\u015f konulara, \u00f6zellikle harici CA entegrasyonuna ve otomatik imzalama mekanizmalar\u0131na hakim olmak, b\u00fcy\u00fck ve karma\u015f\u0131k Puppet ortamlar\u0131nda y\u00f6netim y\u00fck\u00fcn\u00fc azalt\u0131rken g\u00fcvenli\u011fi art\u0131rabilir. Ancak, bu otomasyonu uygularken g\u00fcvenlik en iyi uygulamalar\u0131na s\u0131k\u0131 s\u0131k\u0131ya ba\u011fl\u0131 kalmak, \u00f6zellikle CA sunucusunun korunmas\u0131 ve \u00f6zel anahtarlar\u0131n g\u00fcvenli\u011fi konusunda, hayati \u00f6neme sahiptir.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, Puppet ortam\u0131n\u0131z\u0131n g\u00fcvenli\u011fi, sertifika altyap\u0131n\u0131z\u0131n g\u00fcvenli\u011fi kadar g\u00fc\u00e7l\u00fcd\u00fcr. D\u00fczenli denetimler, yedeklemeler ve g\u00fcvenlik politikalar\u0131na uyum, Puppet&#8217;\u0131n sundu\u011fu otomasyon avantajlar\u0131ndan tam olarak yararlan\u0131rken, potansiyel riskleri minimize etmenizi sa\u011flayacakt\u0131r. Bu rehber, Puppet 4 sertifika y\u00f6netiminin karma\u015f\u0131k d\u00fcnyas\u0131nda gezinmeniz ve g\u00fcvenli, verimli bir altyap\u0131 olu\u015fturman\u0131z i\u00e7in sa\u011flam bir temel sunmay\u0131 ama\u00e7lam\u0131\u015ft\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu\nPuppet, modern altyap\u0131 y\u00f6netiminde otomasyonun temel ta\u015flar\u0131ndan biridir. Sunucular\u0131n yap\u0131land\u0131r","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-35755","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu\" \/>\n<meta property=\"og:description\" content=\"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu Puppet, modern altyap\u0131 y\u00f6netiminde otomasyonun temel ta\u015flar\u0131ndan biridir. Sunucular\u0131n yap\u0131land\u0131r\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-03T11:40:48+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu\",\"datePublished\":\"2025-12-03T11:40:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/\"},\"wordCount\":3847,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/\",\"name\":\"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-03T11:40:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/","og_locale":"tr_TR","og_type":"article","og_title":"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu","og_description":"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu Puppet, modern altyap\u0131 y\u00f6netiminde otomasyonun temel ta\u015flar\u0131ndan biridir. Sunucular\u0131n yap\u0131land\u0131r","og_url":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-03T11:40:48+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu","datePublished":"2025-12-03T11:40:48+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/"},"wordCount":3847,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/","url":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/","name":"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-03T11:40:48+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/puppet-4-sertifikalarini-yonetme-kilavuzu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Puppet 4 Sertifikalar\u0131n\u0131 Y\u00f6netme K\u0131lavuzu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35755"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35755\/revisions"}],"predecessor-version":[{"id":35756,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35755\/revisions\/35756"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}