NGINX
SecTrail CM, NGINX web sunucularına ajansız bağlantı kurarak SSL sertifikalarının otomatik dağıtımını ve yenilenmesini sağlar. Hem Linux hem de Windows üzerinde çalışan NGINX sunucuları desteklenir:
| Cihaz Tipi | Platform | Bağlantı |
|---|---|---|
Nginx | Linux | SSH |
Nginx Windows | Windows | WinRM veya SSH (OpenSSH) |
Bağlantı Gereksinimleri
Linux
| Gereksinim | Detay | Açıklama |
|---|---|---|
| Protokol | SSH (Secure Shell) | Güvenli uzak bağlantı protokolü |
| Port | 22 | Standart SSH portu veya custom port |
| Kimlik Doğrulama | SSH Key veya Password | SSH anahtarı veya şifre ile kimlik doğrulama |
| Kullanıcı Yetkisi | Sınırlı sudo yetkisi | Bkz. Linux için En Az Yetkili Kullanıcı |
Windows
| Gereksinim | Detay | Açıklama |
|---|---|---|
| Protokol | WinRM veya SSH (OpenSSH) | WinRM seçildiğinde önce PSRP denenir, olmazsa WinRM ile tekrar bağlanılır |
| Port | 5986 / 5985 (WinRM), 22 (SSH) | Güvenli bağlantı için HTTPS portu (5986) önerilir |
| Transport | NTLM / Kerberos | Windows kimlik doğrulama mekanizmaları |
| Kimlik Doğrulama | Domain hesabı veya lokal kullanıcı | Windows kullanıcı kimlik bilgileri |
| Kullanıcı Yetkisi | Uzak erişim + NTFS yetkileri | Bkz. Windows için En Az Yetkili Kullanıcı |
Otomatik İşlemler
SecTrail CM, NGINX üzerinde aşağıdaki işlemleri otomatik gerçekleştirir:
- Konfigürasyon Okuma:
nginx -Tile tüm konfigürasyon okunur, SSL kullanan Server Block'lar ve sertifikaları listelenir - Sertifika ve Key Yükleme: SSL sertifikası (chain ile birlikte) ve private key'in güvenli transferi
- Konfigürasyon Güncelleme: NGINX Server Block SSL direktiflerinin güncellenmesi (Linux,
Generativedağıtım tipi) - Konfigürasyon Testi:
nginx -tile sözdizimi kontrolü ve doğrulama - Servis Yenileme:
nginx -s reloadile NGINX'in kesintisiz yeniden yüklenmesi
Linux için En Az Yetkili Kullanıcı
SecTrail CM kullanıcısına tam root yetkisi vermeniz gerekmez. Aşağıdaki iki adım yeterlidir.
1. sudo kuralı ekleyin (visudo -f /etc/sudoers.d/sectrail):
<user> ALL=(root) NOPASSWD: <nginx_binary> -T, <nginx_binary> -t, <nginx_binary> -s reload, /bin/cat <cert_dizini>/*
2. Sertifika dizinine yazma yetkisi verin:
setfacl -R -m u:<user>:rwx <cert_dizini>
<user>: Device Users'ta tanımladığınız kullanıcı<nginx_binary>: NGINX binary dosyasının tam yolu (cihazın Custom Path alanıyla aynı olmalıdır)<cert_dizini>: Sertifika ve key dosyalarının bulunduğu dizin
Örnek (kullanıcı sectrail, NGINX /usr/local/nginx/sbin/nginx, sertifikalar /etc/nginx/ssl):
sectrail ALL=(root) NOPASSWD: /usr/local/nginx/sbin/nginx -T, /usr/local/nginx/sbin/nginx -t, /usr/local/nginx/sbin/nginx -s reload, /bin/cat /etc/nginx/ssl/*
setfacl -R -m u:sectrail:rwx /etc/nginx/ssl
Windows için En Az Yetkili Kullanıcı
Kullanıcıya aşağıdaki yetkileri verin:
- WinRM ile bağlanılacaksa Remote Management Users grubu üyeliği
- NGINX dizininde (
nginx.exedosyasının bulunduğu dizin) okuma ve çalıştırma - Sertifika dizininde ve NGINX'in
logsiletempdizinlerinde değiştirme (Modify)
Örnek (kullanıcı SECTRAIL\svc-sectrail, NGINX C:\nginx, sertifikalar C:\nginx\ssl):
Add-LocalGroupMember -Group "Remote Management Users" -Member "SECTRAIL\svc-sectrail"
icacls "C:\nginx" /grant "SECTRAIL\svc-sectrail:(OI)(CI)RX"
icacls "C:\nginx\ssl" /grant "SECTRAIL\svc-sectrail:(OI)(CI)M"
icacls "C:\nginx\logs" /grant "SECTRAIL\svc-sectrail:(OI)(CI)M"
icacls "C:\nginx\temp" /grant "SECTRAIL\svc-sectrail:(OI)(CI)M"
NGINX farklı bir hesapla (örn. LocalSystem altında servis olarak) çalışıyorsa, reload için kullanıcının yerel Administrators grubuna üye olması gerekir.
Yapılandırma Adımları
1. NGINX Kullanıcısı Oluşturma
Automation > Device Users bölümüne gidin ve NGINX sunucusuna bağlanacak kullanıcıyı oluşturun:
- Linux: En az yetkili kullanıcı bölümüne göre yetkilendirilmiş SSH kullanıcısı
- Windows: En az yetkili kullanıcı bölümüne göre yetkilendirilmiş domain veya lokal kullanıcı
2. NGINX Cihazını SecTrail CM'e Ekleme
Automation > Devices > Add New Device butonuna tıklayın ve aşağıdaki bilgileri girin:

Linux
- Name: Cihaz için tanımlayıcı isim verin
- Device Users: Adım 1'de oluşturduğunuz kullanıcıyı seçin
- IP: NGINX sunucusunun IP adresini girin
- Device Type: Açılır menüden
Nginxseçin - Become Method: Yetki yükseltme yöntemini seçin (örn:
sudo) - Custom Path: NGINX binary dosyasının tam yolunu girin (varsayılan:
/usr/sbin/nginx). NGINX farklı bir dizine kuruluysa sunucudaki gerçek yolu yazın. - Deployment Type: Dağıtım tipini seçin (
GenerativeveyaOverride) - Execution Server: Dağıtım işlemlerini yürütmek için kullanılacak sunucu
Windows
- Name: Cihaz için tanımlayıcı isim verin
- Device Users: Adım 1'de oluşturduğunuz Windows kullanıcısını seçin
- IP: NGINX sunucusunun IP adresini girin
- Device Type: Açılır menüden
Nginx Windowsseçin - Connection:
WinRMveyaSSHseçeneklerinden birini seçin - Transport: NTLM veya Kerberos seçeneklerinden birini seçin (WinRM)
- Connection Type: Güvenli bağlantı için
Secureseçin (WinRM) - Port: WinRM portu (varsayılan:
5986HTTPS veya5985HTTP) - Custom Path:
nginx.exedosyasının tam yolu (varsayılan:C:\nginx\nginx.exe). NGINX farklı bir dizine kuruluysa sunucudaki gerçek yolu yazın; NGINX'in prefix dizini bu yoldan belirlenir. - Deployment Type: Dağıtım tipini seçin
- Execution Server: Dağıtım işlemlerini yürütmek için kullanılacak sunucu
NGINX cihazı SecTrail CM'e eklendikten sonra, cihazda tanımlı tüm Server Block'ların IP adresleri ve portları otomatik olarak keşif periyoduna dahil edilir ve düzenli olarak taranır.
3. Cihaz Bilgilerini Görüntüleme
Cihaz eklendikten sonra Automation > Devices listesinde görüntülenecektir. Cihaz detaylarını görmek için satıra tıklayın:

- Server Name: Server block server name (örn:
sectrailcm-test.borsaistanbul.com) - Port: NGINX'in dinlediği portlar (örn:
8443) - Path: NGINX konfigürasyon dosyası yolu (örn:
/etc/nginx/conf.d/domain_nginx.confveyaC:\nginx\conf\nginx.conf) - Server: SSL konfigürasyon detayları
- Deploy: Sertifika dağıtımı için
Sertifika Dağıtımı
Adım 1: Server Block ve Sertifika Seçimi
- Automation > Devices bölümünden NGINX cihazınızı seçin
- Cihaz detaylarında, sertifika dağıtmak istediğiniz Server Block'u bulun
- İlgili satırdaki Deploy butonuna tıklayın
- Açılan Deploy Certificate penceresinde:
- Virtual Servers: Hedef Server Block bilgisi görüntülenir (IP, port, server name)
- Certificate: Açılır menüden dağıtmak istediğiniz sertifikayı seçin

Adım 2: Dağıtım İşlemini Başlatma
Deploy butonuna tıklayarak sertifika dağıtım işlemini başlatın.
Adım 3: İşlem Takibi
Dağıtım işlemi Automation > Processes bölümünden takip edilebilir:

İşlem Detayları
Dağıtım sırasında aşağıdaki adımlar gerçekleştirilir:
| Adım | İşlem Açıklaması |
|---|---|
| 1 | Mevcut sertifika ve key dosyaları (ve Linux Generative tipinde konfigürasyon dosyası) yedeklenir |
| 2 | Sertifika (chain ile birlikte) ve key dosyaları sunucuya yüklenir |
| 3 | Linux Generative tipinde Server Block'taki SSL direktifleri yeni dosyaları gösterecek şekilde güncellenir |
| 4 | nginx -t ile konfigürasyon test edilir |
| 5 | NGINX yeniden yüklenir (reload) |
Nginx Windows cihazlarında NGINX konfigürasyon dosyası değiştirilmez. Server Block'ta tanımlı ssl_certificate ve ssl_certificate_key dosyaları yedeklenir ve yeni sertifika ile key bu dosyaların üzerine yazılır. Bu nedenle konfigürasyon dosyası için yalnızca okuma yetkisi yeterlidir.
Geri Alma İşlemi
Sertifika dağıtımı sonrasında sorun yaşanması durumunda Manual Rollback özelliği kullanılabilir.
Dağıtım işlemi sırasında herhangi bir adımda (örn. nginx -t testinin başarısız olması) hata oluşması durumunda, sistem otomatik olarak geri alma işlemini gerçekleştirir ve tüm değişiklikler geri alınır.
Geri Alma Adımları
- Automation > Processes bölümüne gidin
- Geri almak istediğiniz işlemi bulun
- Status sütununda Manual-Rollback seçeneğini kullanın
- Onay verin
Geri Alma Sırasında Gerçekleşen İşlemler
| Adım | İşlem |
|---|---|
| 1 | Yeni konfigürasyon kaldırılır (Linux, Generative) |
| 2 | Yedeklenen sertifika ve key dosyaları geri yüklenir |
| 3 | Yeni yüklenen dosyalar ve yedek dosyaları silinir |
| 4 | NGINX yeniden yüklenir (reload) |