SSL Sertifikası

PowerShell Script İmzalama

PowerShell betiklerini Set-AuthenticodeSignature ile imzalayıp AllSigned ve RemoteSigned yürütme ilkeleriyle güvenle çalıştırın.

PowerShell betiklerini kod imzalama sertifikasıyla imzalarsanız, yürütme ilkesi (execution policy) AllSigned olan sistemlerde çalıştırılabilir ve betiğin değiştirilip değiştirilmediği anlaşılır. İmza betik dosyasının sonuna yorum bloğu olarak eklenir.

Ön koşullar

  • Kod imzalama amaçlı (Code Signing EKU) sertifika ve özel anahtar; kişisel depoda veya token'da bulunmalı.
  • İmzalanacak .ps1, .psm1 veya .psd1 dosyası.

Adımlar

$cert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1

Set-AuthenticodeSignature -FilePath .\yedekle.ps1 `
  -Certificate $cert `
  -TimestampServer "http://time.certum.pl" `
  -HashAlgorithm SHA256

Birden fazla sertifika varsa Where-Object ile parmak izine göre seçin.

Doğrulama

Get-AuthenticodeSignature .\yedekle.ps1 | Format-List

Status alanı Valid olmalıdır. UnknownError veya NotTrusted görürseniz sertifika zinciri ya da kök sertifika güvenilir depoda değildir.

Yürütme ilkeleri

  • AllSigned: yalnızca güvenilir yayıncıdan imzalı betikler çalışır.
  • RemoteSigned: internetten inen betikler imzalı olmalıdır, yerel betikler serbesttir.

Yürütme ilkesi bir güvenlik sınırı değil, kazara çalıştırmaya karşı bir önlemdir; yine de kurumsal ortamda imza ve grup ilkesi birlikte etkilidir.

Sık hatalar

  • İmzadan sonra betiğin düzenlenmesi; imza geçersiz olur, yeniden imzalayın.
  • Dosya kodlamasının değişmesi; UTF-8 BOM'lu kaydetmeniz önerilir.
  • Zaman damgasız imzanın sertifika bitince geçersiz görünmesi.

Dağıtım ve güven

Betiği çalıştıracak makinelerin, imzalayan sertifikayı Güvenilen Yayıncılar (Trusted Publishers) deposunda görmesi gerekir. Kurumsal ortamda bu sertifikayı Grup İlkesi ile dağıtmak en düzenli yoldur. Modül (.psm1) imzalarken modül manifestosu ve içindeki tüm betikleri de imzalamayı unutmayın; bir dosyanın imzası bozuksa AllSigned ilkesi tüm modülün yüklenmesini engeller.

Sertifika temini için kod imzalama seçeneklerine bakabilirsiniz.

Özet: İmzalı betikler AllSigned ortamlarında çalışır ve değişikliği fark ettirir. Sertifika zinciri, zaman damgası ve güvenilir yayıncı dağıtımı birlikte kurulduğunda yönetimi basit ve denetlenebilir hale gelir.

Bu makale faydalı oldu mu?

Bu konuyla ilgili SSL sertifikaları

Makalede geçen sertifika türlerine uygun ürünler.

Makale Ara

Kod İmzalama Sertifikaları

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç