Ana içeriğe geç
Versiyon: 2.7 (Güncel)

SCEP Server

SecTrail CM, kendi bünyesinde bir SCEP Server (Simple Certificate Enrollment Protocol - RFC 8894) barındırır. SCEP; router, switch, firewall, VPN istemcileri, MDM ile yönetilen mobil cihazlar ve Windows/Intune istemcileri tarafından yaygın olarak desteklenen, köklü bir sertifika kayıt (enrollment) protokolüdür.

SCEP desteği bulunan cihazlar, üzerine ek bir ajan (agent) kurmaya gerek kalmadan doğrudan SecTrail CM'den sertifika alabilir ve sertifikalarını yenileyebilir. Sertifikalar, SecTrail CM'in yönettiği CA'lar (Local CA, Microsoft ADCS, DigiCert vb.) tarafından, sizin tanımladığınız template kurallarına göre düzenlenir.

SCEP, EST veya CMP?
  • SCEP Server: En geniş cihaz desteğine sahip protokoldür. Cihaz kimliği CSR içindeki challenge parolası ile doğrulanır. İstek ve yanıtlar PKCS#7 ile şifrelenip imzalandığından düz HTTP üzerinde de çalışabilir.
  • EST Server: SCEP'in modern halefidir. HTTPS üzerinde çalışır; HTTP Basic veya mTLS ile kimlik doğrulama yapar.
  • CMP Server: Endüstriyel ve telekom cihazlarında yaygındır. Paylaşılan sır (PBM) veya sertifika imzası ile kimlik doğrulama yapar.

Sağladığı Avantajlar​

  • Geniş cihaz desteği: Cisco, Juniper, Fortinet, Palo Alto gibi ağ cihazları, MDM çözümleri ve Windows/Intune (NDES uyumlu adres yapısı) ile çalışır
  • RFC 8894 uyumluluğu: GetCACert, GetCACaps, PKCSReq, RenewalReq ve GetCertInitial işlemleri desteklenir
  • Uçtan uca şifreli istek: CSR, RA/CA sertifikasına şifrelenerek gönderilir; yanıt istemcinin sertifikasına şifrelenir
  • Manuel onay desteği: İstenirse kayıt talepleri, bir yetkili onaylayana kadar bekletilir; onay iş akışı (workflow) ve e-posta bildirimleriyle entegre çalışır
  • Tam görünürlük: Tüm kayıt işlemleri ve düzenlenen sertifikalar kayıt altına alınır ve envantere işlenir

Çalışma Mantığı​

SCEP Server'ın temel bileşenleri şunlardır:

BileşenAçıklama
ProfileBir SCEP endpoint'ini tanımlar. Hangi template ile sertifika üretileceğini, challenge parolasını, RA sertifikasını ve onay ayarlarını belirler.
TransactionCihazların gerçekleştirdiği her kayıt, yenileme ve sorgu işleminin kaydı.

Akış şu şekilde ilerler:

  1. Yönetici bir SCEP Profile oluşturur; profili bir sertifika template'ine bağlar ve bir challenge parolası belirler.
  2. Cihaz, GetCACert ile CA/RA sertifikasını, GetCACaps ile sunucunun desteklediği yetenekleri alır.
  3. Cihaz, challenge parolasını içeren CSR'ını CA/RA sertifikasına şifreleyerek PKCSReq mesajıyla gönderir.
  4. Challenge parolası doğruysa sertifika, template kurallarına göre düzenlenir, envantere eklenir ve cihaza şifreli olarak döndürülür.
  5. Profilde manuel onay açıksa talep pending olarak bekletilir; cihaz GetCertInitial ile periyodik olarak sorgular ve onay verildiğinde sertifikasını alır.
  6. Cihaz, sertifikasının süresi dolmadan mevcut sertifikasıyla imzaladığı RenewalReq mesajıyla yenileme yapar.
Template Bağlantısı

Bir SCEP profili yalnızca bağlı olduğu template'e karşı sertifika üretebilir. Template, hangi CA'nın kullanılacağını, geçerlilik süresini ve diğer sertifika parametrelerini belirler. Template yönetimi için bkz. Inventory → Issue Certificate → Templates.

SCEP Endpoint'leri​

Her profil, kendi Label değeri üzerinden ayrı bir endpoint alır. SCEP tek bir adres kullanır; yapılacak işlem ?operation= parametresiyle belirlenir:

EndpointAçıklama
/scep/{label}Standart SCEP adresi (GET ve POST)
/scep/{label}/pkiclient.exeWindows NDES / Intune istemcilerinin beklediği adres yapısı
İşlem (operation)Açıklama
GetCACertCA (ve varsa RA) sertifikasını döndürür. Tek sertifika DER, zincir ise PKCS#7 olarak gönderilir.
GetCACapsSunucunun desteklediği yetenekleri listeler: POSTPKIOperation, SHA-256, SHA-1, Renewal, SCEPStandard
PKIOperationKayıt (PKCSReq), yenileme (RenewalReq) ve bekleyen talep sorgusu (GetCertInitial) mesajlarını taşır
not

Pasif (inactive) bir profilin veya tanımsız bir label'ın endpoint'i 404 döner. SCEP seviyesindeki hatalar ise HTTP 200 ile, imzalı bir FAILURE yanıtı içinde iletilir.

SCEP Profilleri (Profiles)​

SCEP Profili Oluşturma​

Certificate Authorities (CA) > SCEP Server > SCEP Profiles bölümüne gidin ve Create butonuna tıklayın:

SCEP Profili Oluşturma

Aşağıdaki bilgileri girin:

  • Label (zorunlu): Profilin URL yol parçası (örn. default). Kayıt endpoint'i /scep/{label} biçiminde oluşur. Yalnızca harf, rakam, nokta, tire ve alt çizgi (A-Z a-z 0-9 . _ -) kullanılabilir ve tüm tenant'lar arasında benzersiz olmalıdır.
  • Template (zorunlu): Bu profil üzerinden düzenlenecek sertifikaların template'i. Sertifikayı imzalayacak CA'yı, geçerlilik süresini ve profil bilgilerini belirler.
  • Challenge Password (zorunlu): Cihazın CSR'ındaki challengePassword niteliğine yazması gereken parola. Yalnızca yazdırılabilir ASCII karakterler kullanılabilir (Türkçe veya aksanlı harfler kullanılamaz). Düzenleme ekranında boş bırakılırsa mevcut parola korunur.
  • RA Certificate (opsiyonel): İstekleri çözmek ve yanıtları imzalamak için kullanılan sertifika ve özel anahtar. Envanterde özel anahtarı bulunan CA sertifikaları listelenir. Boş bırakılırsa (Use issuing LocalCA key) template'in bağlı olduğu Local CA'nın anahtarı kullanılır.
  • Encryption Algorithm: Cihaza gönderilen yanıtın şifreleme algoritması. AES-256-CBC önerilir; AES-128-CBC da desteklenir. 3DES yalnızca eski istemciler için kullanılmalıdır.
  • Approval: Require manual approval açıldığında, ilk kayıt talepleri bir yetkili onaylayana kadar pending durumunda bekletilir. Bkz. Manuel Onay.
  • Description (opsiyonel): Profili açıklayan kısa not
  • Status: Profilin etkin (Active) olup olmadığı

Submit butonuna tıklayarak profili oluşturun.

Harici CA Template'leri İçin RA Sertifikası

Template Local CA dışında bir CA'ya (örn. Microsoft ADCS veya DigiCert) bağlıysa, sunucunun kullanabileceği varsayılan bir Local CA anahtarı yoktur. Bu durumda RA Certificate alanında, envanterde özel anahtarı bulunan bir CA sertifikası seçilmelidir. Aksi halde GetCACert isteği yanıtlanamaz.

SCEP Profil Listesi​

Oluşturulan profiller Certificate Authorities (CA) > SCEP Server > SCEP Profiles listesinde görüntülenir:

SCEP Profil Listesi

Liste ekranında aşağıdaki bilgiler gösterilir:

SütunAçıklama
LabelProfilin URL yol parçası ve endpoint adı
TemplateBağlı olduğu sertifika template'i ve template'in CA tipi (örn. LocalCA, DigiCert)
Challenge PasswordChallenge parolasının tanımlı olup olmadığı (set / not set). Parolanın kendisi gösterilmez.
RA CertificateSeçilen RA sertifikası veya Use issuing LocalCA key
Require manual approvalManuel onayın etkin olup olmadığı (✓ / —)
ActiveProfilin etkin (Active) veya devre dışı (Inactive) durumu
CreatedProfilin oluşturulma tarihi
DescriptionProfil açıklaması

Profil İşlemleri​

  • Edit: Profil ayarlarını düzenleyin
  • Aktif/Pasif: Satır sonundaki anahtar (toggle) ile profili devre dışı bırakın veya yeniden etkinleştirin
  • Delete: Profili silin
  • Export: Listeyi dışa aktarın
Profil Devre Dışı Bırakma

Bir profil pasif hâle getirildiğinde, o profile ait endpoint üzerinden yeni sertifika kaydı ve yenileme yapılamaz. Profile bağlı cihazların sertifika yenileme süreçlerinin etkileneceğini göz önünde bulundurun.

Manuel Onay​

Profilde Require manual approval açıldığında form üzerinde ek alanlar görünür:

  • Approver groups: Bu profilden gelen talepleri onaylayacak Ownership onay grupları. Gruplar Ownership → Groups altında yönetilir ve "onay grubu" olarak işaretlenmelidir.
  • Approver emails: Hesabı olmayan onaylayıcılar için ek e-posta adresleri. Her adres için Add More butonu kullanılır.
  • Mail Subject / Mail Content: Onaylayıcılara gönderilen e-postanın konusu ve talep bilgilerinin üzerinde gösterilen mesaj. Boş bırakılırsa varsayılan metin kullanılır.

Onay süreci şu şekilde işler:

  1. Cihaz PKCSReq gönderir; talep pending olarak kaydedilir ve cihaza PENDING yanıtı döner.
  2. Talep için bir onay iş akışı (workflow) başlatılır. Onaylayıcılara; Common Name, SAN'lar, SCEP profili, istemci IP'si ve işlem numarasını içeren bir e-posta gönderilir.
  3. Yetkili, talebi iş akışı üzerinden veya SCEP Transactions ekranındaki Approve (✓) / Deny (✕) butonlarıyla sonuçlandırır.
  4. Cihaz, aynı Transaction ID ile GetCertInitial sorgusu yapar. Onaylanan talepte sertifikayı alır, reddedilen talepte FAILURE yanıtı alır.
Yenileme Talepleri

Manuel onay yalnızca ilk kayıt (PKCSReq) taleplerine uygulanır. RenewalReq mesajı cihazın mevcut sertifikasıyla imzalandığından cihaz kimliğini zaten kanıtlar; bu nedenle yenilemeler onay beklemeden işlenir. Yenileme talebindeki CN ve DNS SAN değerleri, mevcut sertifikadaki değerlerin bir alt kümesi olmalıdır; kimliği genişleten yenileme talepleri reddedilir.

Onay Akışı Olan CA'lar

Template, sertifika üretimi için kendi onay sürecini işleten bir CA'ya (örn. DigiCert) bağlıysa, CA'dan gelen pending yanıtı da aynı şekilde yönetilir. SecTrail CM siparişi arka planda takip eder; cihaz GetCertInitial ile sorguladığında sertifika hazırsa teslim edilir.

SCEP İşlemleri (Transactions)​

Cihazların gerçekleştirdiği tüm kayıt ve yenileme işlemleri Certificate Authorities (CA) > SCEP Server > SCEP Transactions bölümünden takip edilir:

SCEP İşlem Listesi

Liste ekranında aşağıdaki bilgiler gösterilir:

SütunAçıklama
Profileİşlemin gerçekleştiği SCEP profili
Operationİşlem tipi (PKCSReq, RenewalReq)
Transaction IDİstemcinin SCEP mesajında gönderdiği işlem numarası. Bekleyen talepler bu numara ile sorgulanır.
Remote IP Addressİsteği gönderen cihazın IP adresi
Common NameTalep edilen sertifikanın CN değeri
Statusİşlem sonucu (success, pending, failure) ve HTTP durum kodu
CertificateDüzenlenen sertifikanın envanterdeki kaydına bağlantı. Sertifika iptal edilmişse revoked etiketi gösterilir.
Createdİşlemin gerçekleştiği tarih

pending durumundaki işlemlerde, satır sonunda Approve (✓) ve Deny (✕) butonları görünür.

Sertifika Envanteri

Başarılı işlemlerde Certificate sütunundaki sertifika numarasına tıklayarak envanterdeki kayda gidebilir; sertifikayı indirebilir, izleyebilir veya iptal (revoke) edebilirsiniz.

Sık Karşılaşılan Hatalar

failure durumundaki işlemlerin çoğu şu nedenlerden kaynaklanır:

  • CSR'daki challenge parolasının profildekiyle eşleşmemesi
  • Yenileme talebindeki adların mevcut sertifikanın adlarıyla uyuşmaması
  • Lisans limitine ulaşılmış olması

İstemci Yapılandırma Örnekleri​

Aşağıdaki örneklerde cm.sectrail.local yerine kendi SecTrail CM adresinizi, default yerine profilinizin Label değerini kullanın.

Yeteneklerin ve CA Sertifikasının Alınması​

# Desteklenen yetenekler
curl "https://cm.sectrail.local/scep/default?operation=GetCACaps"

# CA/RA sertifikası
curl -o ca.der "https://cm.sectrail.local/scep/default?operation=GetCACert"

Challenge Parolasını İçeren CSR Oluşturma​

openssl req -new -newkey rsa:2048 -nodes \
-keyout device.key -out device.csr \
-subj "/CN=device01.sectrail.local" \
-addext "subjectAltName=DNS:device01.sectrail.local" \
-reqexts challenge -config <(cat /etc/ssl/openssl.cnf; \
printf "[challenge]\nchallengePassword=CHALLENGE_PAROLASI\n")

sscep ile Sertifika Kaydı​

# CA sertifikasını indirin (zincir varsa ca.crt-0, ca.crt-1 ... olarak kaydedilir)
sscep getca -u https://cm.sectrail.local/scep/default -c ca.crt

# Kayıt talebi gönderin
sscep enroll -u https://cm.sectrail.local/scep/default \
-c ca.crt -k device.key -r device.csr -l device.crt \
-E aes256 -S sha256

Profilde manuel onay açıksa sscep, talep onaylanana kadar aynı Transaction ID ile otomatik olarak sorgulamaya devam eder.

Windows NDES / Intune Uyumlu Adres​

NDES adres yapısını bekleyen istemcilerde (Intune SCEP profili, MDM çözümleri vb.) sunucu adresi olarak şunu kullanın:

https://cm.sectrail.local/scep/default/pkiclient.exe