Tarayıcının Yazdır penceresini açıp “PDF olarak kaydet”i seçin.
Ayrıcalıklı Erişim Yönetimi
Keycyte PAM 3.2
Kurulum Kılavuzu
Bu Kılavuz Hakkında
Bu kılavuz, Keycyte PAM’in nasıl planlanacağını, kurulacağını ve yapılandırılacağını; nasıl yükseltileceğini ve yedekleneceğini anlatır.
Kılavuz Keycyte PAM 3.2 için geçerlidir. Keycyte PAM, bir Linux sunucusunda Docker Compose ile başlatılan bir dizi Docker kapsayıcısı (container) olarak çalışır.
Hedef Kitle
Kılavuz, Keycyte PAM’i kuran ve işleten sistem yöneticileri ile BT mühendisleri için hazırlanmıştır. Linux yönetimi, Docker, TLS sertifikaları ve kendi ağ ortamınız hakkında bilgi sahibi olmanız beklenir.
İçindekiler
| Bölüm | Açıklama |
|---|---|
| Mimari | Keycyte PAM bileşenleri ve kullanıcı bağlantılarının izlediği yollar. |
| Planlama ve Hazırlık | Sistem gereksinimleri, ağ portları, sertifikalar ve lisanslama. |
| Kurulum | Kurulum paketinin hazırlanması, kurulum betiğinin çalıştırılması ve ilk oturum açma. |
| İlk Yapılandırma | Lisans, Web TLS sertifikası, bildirimler, dizin hizmetleri ve hizmet erişim anahtarları. |
| Yüksek Erişilebilirlik | Bir ana düğümle birden fazla Keycyte PAM düğümünün çalıştırılması. |
| Yedekleme ve Geri Yükleme | Yapılandırma veritabanının yedeklenmesi ve geri yüklenmesi. |
| Yapılandırma Başvurusu | config.yaml ayarları ve KEYCYTE_* ortam değişkenleri. |
| Sorun Giderme | Hizmet günlükleri, sertifika sıfırlama ve sık karşılaşılan durumlar. |
Gösterim Kuralları
Not
Notlar konuyla ilgili ek bilgi verir.
Önemli
Önemli notlar, devam etmeden önce sağlanması gereken koşulları anlatır; göz ardı edilmeleri veri kaybına ya da hizmet kesintisine yol açabilir.
İpucu
İpuçları, bir işi daha kolay ya da daha iyi yapmanın yolunu gösterir.
Uyarı
Uyarılar, veri kaybına ya da güvenlik riskine yol açabilecek işlemleri anlatır.
Mimari
Bir Keycyte PAM kurulumu, tek bir Linux sunucusunda çalışan ve Docker Compose ile başlatılıp yönetilen bir dizi Docker kapsayıcısından (container) oluşur. Merkezi bileşen PAM sunucusudur: web arayüzlerini sunar, yapılandırmayı PostgreSQL’de saklar, rolleri ve politikaları uygular ve tüm ayrıcalıklı oturumları denetler. Diğer bileşenler belirli protokolleri ya da görevleri üstlenir ve PAM sunucusuyla dahili bir Docker ağı üzerinden iletişim kurar.
Kullanıcılar hedef hesapların parolalarını hiçbir zaman görmez. Kullanıcı Keycyte PAM’e bağlanır; hedef sistemle bağlantıyı Keycyte PAM, Parola Kasası’nda saklanan kimlik bilgisiyle açar.
Bu Bölümde
| Konu | Açıklama |
|---|---|
| Bileşenler | Kurulumdaki kapsayıcılar, her birinin görevi ve kullandığı portlar. |
| Bağlantı Yolları | Tarayıcı oturumlarının ve yerel SSH ile RDP istemcilerinin hedef sistemlere nasıl ulaştığı. |
Bileşenler
Bir Keycyte PAM kurulumu, aşağıda açıklanan kapsayıcılardan (container) oluşur. Tüm kapsayıcılar tek bir dahili Docker köprü ağına (keycyte-net) bağlıdır ve birbirlerine hizmet adıyla erişir. Ana makinenin dışından yalnızca yayımlanmış olarak listelenen portlara erişilebilir.
Bileşenlere Genel Bakış
| Bileşen | Compose hizmeti | İmaj | Yayımlanan port | Görevi |
|---|---|---|---|---|
| PAM sunucusu | pam | keycyte-pam | 443/tcp | Web arayüzleri, REST API, politika motoru, oturum denetimi, zamanlanmış işler. |
| SSH proxy | ssh-proxy | keycyte-ssh-proxy | 2222/tcp | Yerel SSH istemcilerinden gelen SSH oturumları, web terminali ve SFTP oturumları. |
| RDP proxy | rdp-proxy | keycyte-rdp-proxy | 3389/tcp | Yerel RDP istemcilerinden (örneğin Microsoft Uzak Masaüstü Bağlantısı) gelen RDP oturumları. |
| Ağ geçidi (guacd) | guacd | guacamole/guacd | — | Tarayıcıda açılan grafik ve terminal oturumları için protokol ağ geçidi. |
| Parola Yöneticisi | password-manager | keycyte-password-manager | — | Hedef sistemlerdeki parolaları değiştirir ve doğrular (parola rotasyonu). |
| RADIUS sunucusu | radius | keycyte-radius-server | 1812/udp | Ağ cihazları ve uygulamalar için Keycyte PAM kullanıcılarına karşı RADIUS kimlik doğrulaması. |
| TACACS+ sunucusu | tacacs | keycyte-tacacs-server | 49/tcp | Ağ cihazları için TACACS+ kimlik doğrulama, yetkilendirme ve hesap kaydı (accounting). |
| Veritabanı | postgres | postgres:17 | — | Yapılandırmayı, kasayı, günlükleri ve oturum geçmişini saklayan PostgreSQL veritabanı. |
PAM Sunucusu
PAM sunucusu (pam kapsayıcısı), Keycyte PAM’in çekirdeğidir. PAM sunucusu:
- İstemci Paneli’ni (
https://<pam-address>/adresinde) ve Yönetici Paneli’ni (https://<pam-address>/adminadresinde) 443 numaralı port üzerinden HTTPS ile sunar; - tüm verileri PostgreSQL veritabanında saklar ve başlangıçta veritabanı şemasını oluşturur ya da günceller;
- gizli bilgileri (kasa parolaları, anahtarlar, sağlayıcı kimlik bilgileri, yedekler ve oturum kayıtları) ortamında tanımlı şifreleme anahtarıyla şifreler;
- kullanıcıların kimliğini doğrular (yerel, LDAP/Active Directory, RADIUS, Microsoft Entra ID) ve MFA’yı, rolleri ve erişim politikalarını uygular;
- oturumları denetler: bağlantıyı açması için ağ geçidine, SSH proxy’ye ya da RDP proxy’ye istek gönderir, oturumu kaydeder ve denetim günlüklerini yazar;
- zamanlanmış işleri çalıştırır: parola rotasyonu, zamanlanmış raporlar ve zamanlanmış yedeklemeler (yalnızca ana düğümde; bkz. Yüksek Erişilebilirlik);
- kapsayıcıya salt okunur olarak bağlanan Docker soketi aracılığıyla diğer kapsayıcıları Ayarlar > Servisler sayfasında listeler ve yönetir.
SSH Proxy
SSH proxy (ssh-proxy kapsayıcısı) SSH trafiğini işler:
- Yerel SSH istemcileri SSH proxy’ye 2222 numaralı port üzerinden bağlanır. SSH proxy, kullanıcının istenen hesabı kullanıp kullanamayacağını PAM sunucusuna sorar ve ardından hedef sistemle SSH bağlantısını açar.
- İstemci Paneli’nde açılan web terminali (SSH) ve SFTP oturumları, PAM sunucusu tarafından dahili ağ üzerinden SSH proxy’ye aktarılır (WebSocket, ağ içinde 8443 numaralı port).
SSH proxy, SSH oturum kayıtlarını kayıt dizinine yazar.
RDP Proxy
RDP proxy (rdp-proxy kapsayıcısı), yerel RDP istemcilerinden gelen bağlantıları 3389 numaralı port üzerinden kabul eder (kapsayıcı içinde 13389 numaralı port). Kullanıcı yerel bir istemciyle bağlanmayı seçtiğinde PAM sunucusu, tek kullanımlık bir bağlantı belirtecini ve kimlik bilgilerini RDP proxy’ye iletir ve kullanıcıya bir .rdp dosyası verir. Ardından RDP proxy, hedef sistemle RDP bağlantısını açar.
Ağ Geçidi (guacd)
Ağ geçidi (guacd kapsayıcısı) bir Apache Guacamole proxy hizmetidir (daemon). PAM sunucusu, tarayıcıda çalışan oturumlar için ağ geçidini ağ içindeki 4822 numaralı port üzerinden kullanır: RDP, VNC, Telnet, Kubernetes, RemoteApp, web uygulaması ve üçüncü taraf uygulama oturumları. Ağ geçidi, dosya aktarım dizinine (/drive) ve kayıt dizinine erişebilir.
Parola Yöneticisi
Parola Yöneticisi hizmeti (password-manager kapsayıcısı), hedef sistemlerdeki parolaları değiştirir ve doğrular; örneğin Windows yerel hesapları ve Active Directory hesapları. PAM sunucusu, elle ve zamanlanmış parola değişiklikleri sırasında bu hizmeti ağ içindeki 1453 numaralı port üzerinden çağırır. Parola Yöneticisi, LDAP CA dosyasını paylaşılan uygulama dizininden okur.
RADIUS Sunucusu
RADIUS sunucusu (radius kapsayıcısı) 1812/udp portunu dinler. RADIUS istemcilerinin (örneğin ağ cihazları ya da VPN ağ geçitleri) kimliğini, PAM sunucusunun dahili API’sini çağırarak Keycyte PAM kullanıcılarına karşı doğrular. Ayarları Yönetici Paneli’nde Ayarlar > Radius Sunucu sayfasında yönetilir.
TACACS+ Sunucusu
TACACS+ sunucusu (tacacs kapsayıcısı) 49/tcp portunu dinler. Ağ cihazı yöneticilerinin kimliğini Keycyte PAM’e karşı doğrular, yetkilendirme kararlarını döndürür ve hesap kayıtlarını (accounting) PAM sunucusuna gönderir. Ayarları Yönetici Paneli’nde Ayarlar > TACACS+ Sunucu sayfasında yönetilir.
Veritabanı
PostgreSQL veritabanı (postgres kapsayıcısı, PostgreSQL 17) tüm Keycyte PAM verilerini saklar. Veriler postgres-data Docker biriminde (volume) tutulur. Veritabanı portu ana makinede yayımlanmaz; veritabanına yalnızca dahili ağdaki kapsayıcılar erişebilir.
Not
PAM sunucusu harici bir PostgreSQL sunucusu da kullanabilir. Bu durumda veritabanı bağlantı değişkenlerini harici sunucuya göre ayarlayın (bkz. Yapılandırma Başvurusu).
Ana Makine Dizinleri
Kurulum betiği, kendisini çalıştıran kullanıcının ana dizininde üç dizin oluşturur ve bunları kapsayıcılara bağlar:
| Ana makine dizini | Bağlama noktası | Kullanan bileşen | İçerik |
|---|---|---|---|
~/keycyte | /app (PAM sunucusu, Parola Yöneticisi), /base (SSH proxy) | PAM sunucusu, SSH proxy, Parola Yöneticisi | Sertifika dosyaları, isteğe bağlı config.yaml, yerel yedek dosyaları (backups/) ve ana düğüm işaret dosyası. |
~/drive | /drive | PAM sunucusu, ağ geçidi | Tarayıcı oturumlarında aktarılan dosyalar. |
~/record | /record | PAM sunucusu, SSH proxy, ağ geçidi | Oturum kayıtları. |
Önemli
Oturum kayıtları hızla büyüyebilir. ~/record dizinini yeterli boş alana sahip bir dosya sisteminde konumlandırın ve izleyin. Bkz. Sistem Gereksinimleri.
Bağlantı Yolları
Kullanıcılar hedef sistemlere Keycyte PAM üzerinden üç yoldan biriyle erişir. Her durumda kullanıcı Keycyte PAM’de kimlik doğrular, Keycyte PAM kullanıcının rollerini ve politikalarını denetler ve hedef sistemle bağlantıyı, Parola Kasası’ndaki kimlik bilgisiyle bir Keycyte PAM bileşeni açar.
| Yol | Kullanıcı tarafı | Giriş noktası | Hedefe bağlanan bileşen |
|---|---|---|---|
| Tarayıcı oturumu (grafik ya da terminal) | Web tarayıcısı, İstemci Paneli | PAM sunucusu, 443/tcp (HTTPS ve WebSocket) | Ağ geçidi (guacd) |
| Tarayıcıda SSH terminali ve SFTP | Web tarayıcısı, İstemci Paneli | PAM sunucusu, 443/tcp (HTTPS ve WebSocket) | SSH proxy |
| Yerel SSH istemcisi | Herhangi bir SSH istemcisi | SSH proxy, 2222/tcp | SSH proxy |
| Yerel RDP istemcisi | .rdp dosyasıyla RDP istemcisi | RDP proxy, 3389/tcp | RDP proxy |
Tarayıcı Oturumları
Tarayıcı oturumları için istemci yazılımı gerekmez. Kullanıcı İstemci Paneli’nde bir sunucu açar ve oturum bir tarayıcı sekmesinde çalışır.
- Tarayıcı, PAM sunucusuna 443 numaralı port üzerinden HTTPS ile bağlanır.
- Kullanıcı bir sunucu ve bir hesap seçer. PAM sunucusu rolleri, MFA ve onay gereksinimlerini denetler.
- PAM sunucusu tarayıcıdan bir WebSocket açar ve hedef sisteme bağlanır:
- RDP, VNC, Telnet, Kubernetes, RemoteApp, web uygulaması ve üçüncü taraf uygulama oturumlarında PAM sunucusu, hedefe bağlanması için ağ geçidine (guacd, dahili ağda 4822 numaralı port) istek gönderir. Ağ geçidi, hedef sisteme sunucu için yapılandırılan port üzerinden bağlanır.
- SSH terminali ve SFTP oturumlarında PAM sunucusu, WebSocket’i SSH proxy’ye (dahili ağda 8443 numaralı port) aktarır. SSH proxy, hedef sisteme SSH ile bağlanır.
- Sunucu rolü gerektiriyorsa PAM sunucusu oturumu kaydeder.
Web uygulaması ve üçüncü taraf uygulama oturumları bir atlama sunucusunda (jump server) çalışır: ağ geçidi, Ayarlar > Bağlantı sayfasında yapılandırılan atlama sunucusuna bir RDP oturumu açar ve uygulama orada başlatılır.
Yerel SSH İstemcileri
Kendi SSH istemcisini kullanmayı tercih eden kullanıcılar, SSH proxy’ye 2222 numaralı port üzerinden bağlanır. İstemci Paneli, kopyalanacak komutu aşağıdaki biçimde gösterir:
ssh <vault_id>@<server_id>@<pam_user>@pam.example.com -p 2222
- SSH istemcisi, SSH proxy’ye 2222 numaralı port üzerinden bağlanır ve kullanıcının kimliği doğrulanır.
- SSH proxy, kullanıcının istenen sunucuda istenen hesabı kullanıp kullanamayacağını dahili API üzerinden PAM sunucusuna sorar. İstek, SSH proxy’nin erişim anahtarıyla imzalanır (bkz. Hizmet Erişim Anahtarları).
- SSH proxy, hedef sisteme kasadaki kimlik bilgisiyle bağlanır ve gerekiyorsa oturumu kaydeder.
Yerel RDP İstemcileri
Yerel RDP erişimi için RDP proxy gerekir (bkz. Bileşenler).
- Kullanıcı İstemci Paneli’nde bir sunucu ve bir hesap seçer ve yerel bir RDP istemcisiyle bağlanmayı seçer.
- PAM sunucusu, tek kullanımlık bir bağlantı belirtecini ve kimlik bilgilerini, RDP proxy erişim anahtarıyla imzalayarak dahili ağ üzerinden RDP proxy’ye iletir.
- Kullanıcı bir
.rdpdosyası ve tek kullanımlık bir parola alır..rdpdosyası,KEYCYTE_RDP_PROXY_PUBLIC_ADDRESSdeğişkeninde tanımlı olan RDP proxy genel adresini gösterir. - RDP istemcisi, RDP proxy’ye 3389 numaralı port üzerinden bağlanır. RDP proxy belirteci doğrular ve hedef sistemle RDP bağlantısını açar.
Belirtecin geçerlilik süresi varsayılan olarak 120 saniyedir (KEYCYTE_RDP_LAUNCH_TOKEN_TTL_SECS). Yerel RDP ile başlatma, RDP proxy URL’si, genel adresi ve erişim anahtarı yapılandırıldığında etkinleşir.
Hizmetler Arası Trafik
Kullanıcı bağlantılarının yanı sıra bileşenler dahili ağ üzerinden birbirleriyle de iletişim kurar:
| Kaynak | Hedef | Amaç |
|---|---|---|
| SSH proxy, RADIUS sunucusu, TACACS+ sunucusu | PAM sunucusu (https://pam) | Erişim anahtarlarıyla imzalanmış kimlik doğrulama, yetkilendirme, yapılandırma ve oturum olayları. |
| PAM sunucusu | SSH proxy | PAM erişim anahtarıyla imzalanmış oturum denetimi (örneğin bir oturumu sonlandırma). |
| PAM sunucusu | RDP proxy | Yerel RDP ile başlatma için bağlantı belirteçlerinin ve kimlik bilgilerinin iletilmesi. |
| PAM sunucusu | Parola Yöneticisi | Hedef sistemlerde parola değiştirme ve doğrulama. |
| PAM sunucusu, SSH proxy | PostgreSQL | Veritabanı erişimi. |
Planlama ve Hazırlık
Keycyte PAM’i kurmadan önce sistem gereksinimlerini karşılayan bir Linux sunucusu hazırlayın, gerekli ağ portlarını açın, TLS sertifika dosyalarını edinin ve lisansı planlayın.
Bu Bölümde
| Konu | Açıklama |
|---|---|
| Sistem Gereksinimleri | Donanım, işletim sistemi, Docker ve tarayıcı gereksinimleri. |
| Ağ Portları | Kullanıcılar, ağ cihazları, hedef sistemler ve dahili trafik için açılması gereken portlar. |
| Sertifikalar | Başlangıçta kullanılan PKCS#12 anahtar deposu ve LDAP için CA dosyaları. |
| Lisanslama | Lisansın sisteme nasıl bağlandığı ve bir lisans anahtarının neleri içerdiği. |
Sistem Gereksinimleri
Keycyte PAM, tüm bileşenlerini tek bir Linux sunucusunda Docker kapsayıcıları (container) olarak çalıştırır. Keycyte PAM’i kurmadan önce sunucunun aşağıdaki gereksinimleri karşıladığından emin olun.
Donanım
| Kaynak | Gereksinim |
|---|---|
| CPU | 8 çekirdek |
| Bellek | 16 GB RAM |
| Disk | 500 GB |
Disk; kapsayıcı imajlarını, PostgreSQL veritabanı birimini, oturum kayıtlarını (~/record), aktarılan dosyaları (~/drive) ve yerel yedek dosyalarını (~/keycyte/backups) barındırır. En fazla alanı genellikle oturum kayıtları kaplar. Çok sayıda oturum kaydediyor ya da kayıtları uzun süre saklıyorsanız ~/record için ek disk alanı planlayın.
İşletim Sistemi
- Docker Engine tarafından desteklenen 64 bit bir Linux dağıtımı.
bash,sudove standart GNU araçları (tar,getent,timeout). Kurulum betiği bir bash betiğidir vesudoile çalıştırılmalıdır.
Docker
| Yazılım | Gereksinim |
|---|---|
| Docker Engine | Kurulu ve çalışır durumda olmalıdır. docker info başarısız olursa kurulum betiği durur. |
| Docker Compose | Compose v2 (docker compose eklentisi). |
Kurulum betiği, başka bir işlem yapmadan önce her ikisini de denetler. Docker Engine’i ve Compose eklentisini kurmak için Docker belgelerine bakın: https://docs.docker.com/engine/install/ ve https://docs.docker.com/compose/install/.
Sunucuda bir docker grubu bulunmalıdır. Kurulum betiği bu grubun kimliğini okur ve PAM sunucusuna, Ayarlar > Servisler sayfasının kullandığı Docker soketine salt okunur erişim verir.
Not
Kurulum sırasında Docker Compose, PostgreSQL imajını (postgres:17) Docker Hub’dan çeker. İnternet erişimi olmayan sunucularda kurulum betiğini çalıştırmadan önce postgres:17 imajını yükleyin.
Saat Dilimi ve DNS
- Kapsayıcılar, kurulum paketinin
.envdosyasındakiTZdeğişkeninde tanımlı saat dilimini kullanır. - Kapsayıcılar, kurulum sırasında girdiğiniz DNS sunucularını kullanır. Bu sunucular hedef sistemlerinizin, dizin sunucularınızın ve posta sunucunuzun adlarını çözümleyebilmelidir.
Tarayıcılar
Kullanıcılar Keycyte PAM ile bir web tarayıcısında çalışır; tarayıcı oturumları için istemci yazılımı gerekmez. Google Chrome, Microsoft Edge, Mozilla Firefox ya da Apple Safari’nin güncel bir sürümünü kullanın.
Ağ Portları
Kullanıcılar, ağ cihazları, hedef sistemler ve Keycyte PAM sunucusu arasındaki güvenlik duvarlarında aşağıdaki portları açın.
Gelen Portlar
Bu portlar Keycyte PAM sunucusunda yayımlanır.
| Port | Protokol | Kaynak | Bileşen | Amaç |
|---|---|---|---|---|
| 443 | TCP | Kullanıcı tarayıcıları, API istemcileri | PAM sunucusu | İstemci Paneli, Yönetici Paneli, REST API, tarayıcı oturumlarının WebSocket trafiği. |
| 2222 | TCP | Kullanıcı iş istasyonları | SSH proxy | Yerel SSH istemcisi bağlantıları. |
| 3389 | TCP | Kullanıcı iş istasyonları | RDP proxy | Yerel RDP istemcisi bağlantıları. Yalnızca RDP proxy kurulduğunda. |
| 1812 | UDP | RADIUS istemcileri (ağ cihazları, VPN ağ geçitleri) | RADIUS sunucusu | RADIUS kimlik doğrulaması. |
| 49 | TCP | Ağ cihazları | TACACS+ sunucusu | TACACS+ kimlik doğrulama, yetkilendirme ve hesap kaydı (accounting). Yalnızca TACACS+ sunucusu kurulduğunda. |
Giden Portlar
Bu bağlantılar Keycyte PAM sunucusundan başlatılır. Kesin portlar ortamınıza ve her sunucu için yapılandırılan porta bağlıdır.
| Hedef | Tipik port | Protokol | Bileşen | Amaç |
|---|---|---|---|---|
| Hedef sistemler (RDP, RemoteApp, atlama sunucuları) | 3389 | TCP | Ağ geçidi, RDP proxy | RDP oturumları. |
| Hedef sistemler (SSH, SFTP) | 22 | TCP | SSH proxy | SSH ve SFTP oturumları. |
| Hedef sistemler (VNC, Telnet, Kubernetes, veritabanları) | Sunucu bazında yapılandırılır | TCP | Ağ geçidi | Diğer protokollerin oturumları. |
| Windows ve Active Directory hedefleri | Değiştirme yöntemine bağlı | TCP | Parola Yöneticisi | Parola değiştirme ve doğrulama. |
| LDAP / Active Directory sunucuları | 389 ya da 636 | TCP | PAM sunucusu, Parola Yöneticisi | Dizin kimlik doğrulaması, kullanıcı eşitleme, keşif. |
| Posta sunucusu | Ayarlar > Bildirim sayfasında yapılandırılır | TCP | PAM sunucusu | E-posta bildirimleri ve raporlar. |
| SMS ağ geçidi | Ayarlar > Bildirim sayfasında yapılandırılır | TCP | PAM sunucusu | SMS bildirimleri ve tek kullanımlık parolalar. |
| Syslog sunucuları | Ayarlar > Syslog Ayarları sayfasında yapılandırılır | Yapılandırmaya göre | PAM sunucusu | Denetim kayıtlarının SIEM’e iletilmesi. |
| SFTP yedekleme hedefi | Yedekleme yapılandırmasındaki port (SSH, genellikle 22) | TCP | PAM sunucusu | Yedek dosyalarının kopyalanması. |
| DNS sunucuları | 53 | UDP, TCP | Tüm kapsayıcılar | Ad çözümleme. |
| Docker Hub | 443 | TCP | Docker Engine | Önceden yüklenmemişse kurulum sırasında postgres:17 imajının çekilmesi. |
Dahili Portlar
Bu portlar yalnızca dahili Docker ağı keycyte-net üzerinde kullanılır ve sunucuda yayımlanmaz. Güvenlik duvarında açmanız gerekmez.
| Port | Bileşen | Kullanan | Amaç |
|---|---|---|---|
| 443 | PAM sunucusu | SSH proxy, RADIUS sunucusu, TACACS+ sunucusu | Dahili API (https://pam). |
| 4822 | Ağ geçidi (guacd) | PAM sunucusu | Tarayıcı oturumları. |
| 8443 | SSH proxy | PAM sunucusu | Web terminali ve SFTP WebSocket aktarımı, oturum denetimi. |
| 7171 | RDP proxy | PAM sunucusu | Yerel RDP bağlantı belirteçlerinin iletilmesi. |
| 13389 | RDP proxy | Docker (3389 olarak yayımlanır) | Kapsayıcı içindeki RDP dinleyicisi. |
| 1453 | Parola Yöneticisi | PAM sunucusu | Parola değiştirme ve doğrulama istekleri. |
| 5432 | PostgreSQL | PAM sunucusu, SSH proxy | Veritabanı. |
Sertifikalar
Keycyte PAM, web arayüzlerini yalnızca HTTPS üzerinden sunar ve LDAP dizinlerine TLS üzerinden bağlanır. Kurulum betiğini çalıştırmadan önce aşağıdaki dosyaları hazırlayın ve kurulum paketi klasörüne yerleştirin.
| Dosya | Zorunlu | Amaç |
|---|---|---|
localhost.p12 | Evet | PAM sunucusunun başlangıçta HTTPS için kullandığı sunucu sertifikasını ve özel anahtarı içeren PKCS#12 anahtar deposu. |
cacerts.pem | Evet | PAM sunucusunun ve Parola Yöneticisi’nin TLS üzerinden LDAP için güvendiği CA sertifikalarını içeren PEM dosyası. |
keycyte-ca.crt | Hayır | Ek CA sertifikası. Varsa kurulum betiği tarafından kopyalanır. |
Kurulum betiği dosyaları, PAM sunucusuna /app olarak bağlanan ~/keycyte dizinine kopyalar. Kopyalamadan sonra localhost.p12 ya da cacerts.pem eksikse uyarı verir.
HTTPS Sertifikası
PAM sunucusu, başlangıçta HTTPS sertifikasını aşağıdaki sırayla yükler:
- Bir MASTER yöneticisinin Yönetici Paneli’nde Ayarlar > Web TLS Sertifikası sayfasında uyguladığı sertifika. Bu sertifika veritabanında saklanır.
KEYCYTE_SERVER_TLS_KEYSTOREdeğişkenindeki PKCS#12 anahtar deposu (kurulum paketinde:/app/localhost.p12);KEYCYTE_SERVER_TLS_PASSWORDdeğişkenindeki parolayla açılır.- PAM sunucusunun her başlangıçta ürettiği geçici, kendinden imzalı bir sertifika. Tarayıcılar bu sertifika için güven uyarısı gösterir.
Üçüncü düzey, yapılandırılan sertifika eksik, süresi dolmuş ya da bozuk olsa bile PAM sunucusunun HTTPS üzerinden dinlemeye başlamasını sağlar. Bu durumda oturum açıp tarayıcı uyarısını kabul ederek geçerli bir sertifika yükleyebilirsiniz.
localhost.p12 anahtar deposu, yalnızca Yönetici Paneli’nde bir sertifika uygulanana kadar kullanılır. Kurulumdan sonra HTTPS sertifikasını Ayarlar > Web TLS Sertifikası sayfasında yönetin. Bkz. Web TLS Sertifikasını Yapılandırma.
HTTPS Sertifikası Gereksinimleri
Sertifikayı aşağıdaki koşulları sağlayacak şekilde planlayın:
- kullanıcıların tarayıcıya yazdığı DNS adı (örneğin
pam.example.com) için düzenlenmiş olmalıdır; - en az 2048 bit RSA anahtarı ya da P-256 veya P-384 eğrisinde ECDSA anahtarı kullanmalıdır;
- kullanıcı iş istasyonlarının güvendiği bir CA tarafından, varsa ara sertifikalarla birlikte düzenlenmiş olmalıdır.
Tarayıcılar Ed25519, DSA ve ECDSA P-521 anahtarlarıyla TLS el sıkışmasını tamamlayamadığı için Keycyte PAM bu anahtarları kabul etmez.
LDAP CA Dosyası
cacerts.pem, LDAPS ya da StartTLS üzerinden LDAP sunucularını doğrulamak için kullanılan CA sertifikalarını içerir. Dosyanın yolu, kurulum paketinin .env dosyasındaki LDAP_CA_CERT değişkeninde tanımlıdır (/app/cacerts.pem). PAM sunucusu bu sertifikaları sistem CA deposuna ekler.
LDAP sunucu sertifikalarını daha sonra, bir dizin bağlantısını yapılandırırken Yönetici Paneli’nden de ekleyebilirsiniz. Bkz. Yönetici Kılavuzu, Ayarlar > Doğrulama bölümü.
Uyarı
Üretim ortamında LDAP_INSECURE (KEYCYTE_LDAP_INSECURE_SKIP_VERIFY) değerini true olarak ayarlamayın. Bu ayar LDAP sunucu sertifikalarının doğrulanmasını devre dışı bırakır.
Lisanslama
Geçerli bir lisans zorunludur.
Keycyte PAM lisans anahtarı belirli bir sistem için düzenlenir. Kurulu sistemde bir Gizli Anahtar oluşturur, bunu Keycyte’a gönderir ve Yönetici Paneli’ne gireceğiniz bir lisans anahtarı alırsınız. Adımlar Lisansı Etkinleştirme konusunda açıklanmıştır.
Lisansın Sisteme Bağlanması
Ayarlar > Lisans sayfasında gösterilen Gizli Anahtar, PAM sunucusunun çalıştığı sistemi tanımlar. Anahtar aşağıdaki değerlerden hesaplanır:
- PAM sunucusu kapsayıcısının ana bilgisayar adı (hostname);
- PAM sunucusunun işletim sistemi ve CPU mimarisi;
- PAM sunucusunun kullanabildiği CPU sayısı.
Bir lisans anahtarını kaydettiğinizde Keycyte PAM, anahtarın aynı değerler için oluşturulup oluşturulmadığını denetler. Oluşturulmamışsa anahtar license key not generated for this system iletisiyle reddedilir.
Önemli
Gizli Anahtar’ı yalnızca sistem son halini aldıktan sonra oluşturun: son sunucu, son CPU sayısı ve kurulum betiğinin oluşturduğu PAM sunucusu kapsayıcısı. Bu değerlerden biri daha sonra değişirse eski değerler için oluşturulmuş lisans anahtarı artık kaydedilemez ve yeni bir lisans anahtarı edinmeniz gerekir.
Lisans Alanları
Bir lisans anahtarı kaydedildikten sonra Ayarlar > Lisans sayfası aşağıdaki alanları gösterir:
| Alan | Açıklama |
|---|---|
| Şirket Adı | Lisansın düzenlendiği şirket. |
| Oluşturma Tarihi | Lisans anahtarının oluşturulduğu tarih. |
| Toplam Kullanıcı | Lisansın kapsadığı kullanıcı sayısı. |
| Versiyon | Lisansın düzenlendiği ürün sürümü. |
Lisanslı Özellikler
Lisans anahtarı ayrıca aşağıdaki özellikler için bayraklar taşır. Her bayrak anahtarda etkin ya da devre dışıdır.
| Özellik | Açıklama |
|---|---|
| Oturum kaydı | Ayrıcalıklı oturumların kaydedilmesi. |
| Dizin hizmeti | LDAP / Active Directory dizinleriyle tümleştirme. |
| TACACS+ | TACACS+ sunucusu. |
| Parola yöneticisi | Hedef sistemlerde otomatik parola değiştirme ve doğrulama. |
Kullanıcı sayısını ya da lisanslı özellikleri değiştirmek için Keycyte ile iletişime geçin. Size, mevcut lisansın yerini alan yeni bir lisans anahtarı iletilir.
Kurulum
Keycyte PAM; kapsayıcı (container) imajlarını, bir Docker Compose dosyasını, bir ortam dosyasını ve bir kurulum betiğini içeren bir kurulum paketi olarak teslim edilir. Kurulum betiği imajları yükler, DNS sunucularını sorar, ana makine dizinlerini hazırlar, kapsayıcıları başlatır ve ilk yönetici hesabını oluşturur.
Keycyte PAM’i kurmak için aşağıdaki adımları sırasıyla tamamlayın:
- Kurulum paketini hazırlayın: paketi sunucuya kopyalayın ve sertifika dosyalarını ekleyin.
- Kurulum betiğini çalıştırın.
masterhesabıyla ilk kez oturum açın ve hesabın parolasını değiştirin.
Kurulumdan sonra İlk Yapılandırma ile devam edin.
Başlamadan Önce
- Sunucu sistem gereksinimlerini karşılıyor; Docker Engine ve Docker Compose v2 kurulu.
- Gerekli portlar açık.
localhost.p12vecacerts.pemsertifika dosyaları elinizde.- Sunucuda
sudoile komut çalıştırabilen bir hesabınız var.
Kurulum Paketini Hazırlama
Kurulum betiğini çalıştırmadan önce kurulum paketini Keycyte PAM sunucusuna kopyalayın ve sertifika dosyalarını pakete ekleyin.
Paket İçeriği
Kurulum paketi, aşağıdaki dosyaları içeren tek bir klasördür:
| Dosya | Açıklama |
|---|---|
install.sh | Kurulum betiği. |
docker-compose.yml | Kapsayıcıları (container) tanımlayan Docker Compose dosyası. |
.env | Kurulumun ayarlarını ve gizli değerlerini içeren ortam dosyası. Kurulum betiği, topladığı değerleri bu dosyaya ekler. |
keycyte-pam.tar.gz | PAM sunucusu, SSH proxy, Parola Yöneticisi, RADIUS sunucusu ve ağ geçidi (guacd) kapsayıcı imajlarını içeren arşiv. |
initdb/10-master-user.sql | İlk yönetici hesabını (master) oluşturan betik. |
localhost.p12 | HTTPS için PKCS#12 anahtar deposu. Paketle birlikte teslim edilebilir ya da kendi dosyanızı ekleyebilirsiniz. |
Not
.env gizli bir dosyadır. Görmek için ls -la komutunu kullanın. .env, docker-compose.yml ya da keycyte-pam.tar.gz eksikse kurulum betiği durur.
Uyarı
.env dosyası veritabanı parolasını, saklanan gizli bilgilerin şifreleme anahtarını, oturum gizli anahtarını ve hizmet erişim anahtarlarını içerir. Dosyaya erişimi kısıtlayın (örneğin chmod 600 .env) ve sunucu dışında güvenli bir kopyasını saklayın. Şifreleme anahtarı olmadan veritabanındaki ve yedek dosyalarındaki şifreli verilerin şifresi çözülemez.
Paketi Hazırlama
Kurulum paketini hazırlamak için:
-
Kurulum paketi klasörünü Keycyte PAM sunucusuna kopyalayın; örneğin kurulum betiğini çalıştıracak kullanıcının ana dizinine.
Ana makine dizinleri (
~/keycyte,~/drive,~/record),rootkullanıcısının değil,sudo ./install.shkomutunu çalıştıran kullanıcının ana dizininde oluşturulur. -
Sertifika dosyalarını paket klasörüne,
install.shdosyasının yanına kopyalayın:localhost.p12— HTTPS için PKCS#12 anahtar deposu (teslim edilen dosya yerine kendi dosyanızı kullanıyorsanız);cacerts.pem— TLS üzerinden LDAP için CA sertifikaları;keycyte-ca.crt— isteğe bağlı.
Ayrıntılar için bkz. Sertifikalar.
-
Kendi
localhost.p12dosyanızı kullanıyorsanız parolasının.envdosyasındaki anahtar deposu parolasıyla (TLS_KEYSTORE_PASSWORD) eşleştiğinden emin olun. -
.envdosyasındaki saat dilimini (TZ) denetleyin; örneğinTZ=Europe/Istanbul. -
Sunucunun internet erişimi yoksa PostgreSQL imajını sunucuya yükleyin:
docker load -i postgres-17.tarİmaj
postgres:17olarak kullanılabilir olmalıdır. Arşivi, internet erişimi olan bir makinededocker pull postgres:17vedocker save -o postgres-17.tar postgres:17komutlarıyla oluşturabilirsiniz. -
Kurulum betiğini çalıştırılabilir yapın:
chmod +x install.sh
Paket hazırdır. Kurulum Betiğini Çalıştırma ile devam edin.
Kurulum Betiğini Çalıştırma
install.sh kurulum betiği, Keycyte PAM’i hazırlanan kurulum paketinden sunucuya kurar. Betik bir bash betiğidir ve paket klasöründen sudo ile çalıştırılmalıdır.
Başlamadan Önce
- Kurulum paketini Kurulum Paketini Hazırlama konusunda anlatıldığı gibi hazırlayın.
- Kapsayıcıların (container) kullanacağı birincil DNS sunucusunun ve isteğe bağlı olarak ikincil DNS sunucusunun IP adresini belirleyin.
Kurulum Betiği Seçenekleri
| Seçenek | Açıklama |
|---|---|
--dns <ip> | Birincil DNS sunucusunu ayarlar ve DNS sorularını atlar. İkincil DNS sunucusu aynı adrese ayarlanır. --dns=<ip> biçimi de kabul edilir. |
--skip-load | İmajların keycyte-pam.tar.gz dosyasından yüklenmesini atlar. Kurulum betiğini yeniden çalıştırdığınızda ve imajlar zaten yüklü olduğunda kullanın. |
-h, --help | Kullanım metnini gösterir. |
Kurulum Betiğinin Yaptıkları
Kurulum betiği aşağıdaki adımları çalıştırır:
- Ön koşullar. Docker’ın kurulu olduğunu, Docker hizmetinin (daemon) çalıştığını ve erişilebilir olduğunu, Docker Compose’un kullanılabildiğini denetler.
keycyte-pam.tar.gz,docker-compose.ymlve.envdosyalarının paket klasöründe bulunduğunu denetler. - İmajlar.
keycyte-pam.tar.gzarşivini açar ve içindeki her imajıdocker loadile yükler. Ardındankeycyte-pam:latest,keycyte-ssh-proxy:latest,keycyte-password-manager:latest,keycyte-radius-server:latestveguacamole/guacd:latestimajlarının bulunduğunu denetler. Bu denetim--skip-loadile de çalışır. - DNS. Birincil ve ikincil DNS sunucularını sorar ve
.envdosyasına yazar (PRIMARY_DNS,SECONDARY_DNS). - Docker grubu. PAM sunucusunun Docker soketini okuyabilmesi için sunucudaki
dockergrubunun kimliğini bulur ve.envdosyasına yazar (DOCKER_GID). - Ana makine dizinleri.
sudokomutunu çalıştıran kullanıcının ana dizininde~/keycyte,~/driveve~/recorddizinlerini oluşturur, bu kullanıcıyı dizinlerin sahibi yapar ve yolları ile kullanıcı ve grup kimliklerini.envdosyasına yazar (KEYCYTE_BASE,KEYCYTE_DRIVE,KEYCYTE_RECORD,RUN_UID,RUN_GID). Kapsayıcılar bu kullanıcı ve grup kimliğiyle çalışır. - Sertifikalar.
localhost.p12,cacerts.pemvekeycyte-ca.crtdosyalarından mevcut olanları~/keycytedizinine kopyalar.localhost.p12ya dacacerts.pemeksikse uyarı verir. - Veritabanı denetimi.
.envharici bir veritabanı sunucusunu IP adresiyle gösteriyorsa bu sunucunun portuna erişilebildiğini denetler. - Başlatma. Tüm kapsayıcıları
docker compose up -dile başlatır, birkaç saniye bekler, kapsayıcıların durumunu ve çalışmayan kapsayıcıların son günlük satırlarını gösterir. - Master hesabı. PostgreSQL hazır olana ve PAM sunucusu veritabanı şemasını oluşturana kadar bekler, ardından
masterhesabını oluşturmak içininitdb/10-master-user.sqlbetiğini çalıştırır. Hesap zaten varsa değiştirilmez.
Kurulum Betiğini Çalıştırma
Kurulum betiğini çalıştırmak için:
-
Sunucuda bir kabuk açın ve kurulum paketi klasörüne gidin.
-
Kurulum betiğini çalıştırın:
sudo ./install.shDNS sunucusunu soru sorulmadan ayarlamak için:
sudo ./install.sh --dns 10.0.0.53 -
İstendiğinde birincil DNS sunucusunun IP adresini girin ve Enter tuşuna basın.
İstem,
.envdosyasındaki geçerli değeri köşeli parantez içinde gösterir. Bu değeri korumak için bir şey yazmadan Enter tuşuna basın. Kurulum betiği yalnızca IPv4 adresi kabul eder; değer geçerli değilse yeniden sorar. -
İstendiğinde ikincil DNS sunucusunun IP adresini girin ya da atlamak için Enter tuşuna basın.
Atlarsanız ikincil DNS sunucusu birincil sunucuya ayarlanır.
-
Kurulum betiğinin tamamlanmasını bekleyin.
Kurulum betiği her kapsayıcının durumunu yazdırır. Tüm kapsayıcılar çalışıyorsa kurulumun tamamlandığını ve tüm hizmetlerin çalıştığını bildiren bir ileti yazdırır. Ardından master hesabı betiğini uygular ve günlükleri görüntüleme ile hizmetleri durdurma komutlarını yazdırır.
Keycyte PAM kurulmuştur. İlk Kez Oturum Açma ile devam edin.
Kurulumu Denetleme
Kurulumdan sonra kapsayıcıları denetlemek için paket klasöründe aşağıdaki komutu çalıştırın:
sudo docker compose --env-file .env -f docker-compose.yml ps
Tüm kapsayıcılar (pam, ssh-proxy, guacd, password-manager, radius, postgres-db) running durumunda olmalıdır.
PAM sunucusu günlüğünü izlemek için:
sudo docker compose --env-file .env -f docker-compose.yml logs -f pam
Master Hesabı Oluşturulmadıysa
PostgreSQL ya da veritabanı şeması zamanında hazır olmazsa kurulum betiği master hesabı betiğini atlar ve çalıştırılacak komutla birlikte bir uyarı yazdırır. Bu durumda PAM sunucusunun başlamasını bekleyin, ardından betiği paket klasöründe elle çalıştırın:
sudo docker exec -i postgres-db psql -U <db-user> -d <db-name> < initdb/10-master-user.sql
.env dosyasındaki veritabanı kullanıcısını ve veritabanı adını (DB_USER, DB_NAME) kullanın. Kurulum betiği komutu bu değerler doldurulmuş olarak yazdırır.
Kurulum Betiğini Yeniden Çalıştırma
Kurulum betiğini yeniden çalıştırabilirsiniz; örneğin eksik bir sertifika dosyasını ekledikten sonra. Kurulum betiği .env dosyasında yönettiği değerleri günceller; mevcut dizinleri ve mevcut master hesabını değiştirmez. İmajlar zaten yüklüyse --skip-load seçeneğini kullanın.
Not
Zorunlu bir sertifika dosyası eksikse dosyayı ~/keycyte dizinine kopyalayıp PAM sunucusunu yeniden başlatabilirsiniz:
sudo docker compose --env-file .env -f docker-compose.yml restart pam
Hizmetleri Durdurma
Kapsayıcıları durdurmak ve kaldırmak için paket klasöründe şu komutu çalıştırın:
sudo docker compose --env-file .env -f docker-compose.yml down
Veritabanı birimi ve ana makine dizinleri korunur. Hizmetleri yeniden başlatmak için sudo docker compose --env-file .env -f docker-compose.yml up -d komutunu çalıştırın.
İlk Kez Oturum Açma
Kurulum betiği, MASTER rolüne sahip tek bir yönetici hesabı (master) oluşturur. MASTER yöneticileri, tüm ayarlar dahil olmak üzere Yönetici Paneli’ne sınırsız erişime sahiptir. İlk kez oturum açmak ve ilk yapılandırmayı tamamlamak için bu hesabı kullanın.
master hesabının ilk parolası kurulum paketiyle birlikte iletilir.
Başlamadan Önce
- Kurulum betiği tamamlanmış ve tüm kapsayıcılar (container) çalışıyor.
- Keycyte PAM sunucusunun adresini biliyorsunuz ve iş istasyonunuzdan 443 numaralı porta erişilebiliyor.
Oturum Açma
İlk kez oturum açmak için:
-
Bir web tarayıcısında
https://<pam-address>/adminadresini açın; örneğinhttps://pam.example.com/admin.PAM sunucusu paketle teslim edilen anahtar deposunu ya da kendinden imzalı bir sertifikayı kullanıyorsa tarayıcı bir sertifika uyarısı gösterir. Doğru adresi açtığınızı denetleyin ve sayfaya devam edin. Sertifikayı sonraki bir adımda değiştirirsiniz.
-
Oturum açma sayfasında Kullanıcı Adı alanına
masteryazın, Parola alanına ilk parolayı girin ve Giriş Yap düğmesine tıklayın.Yönetici Paneli yerine İstemci Paneli açılırsa
https://<pam-address>/adminadresini yeniden açın. Yönetici Paneli Sistem Monitör sayfasıyla açılır.
-
masterhesabının parolasını değiştirin.
Uyarı
master hesabının ilk parolasını ilk oturum açışta değiştirin. İlk parola, paketten yapılan her kurulumda aynıdır; bu parolayı bilen herkes tam yetkiyle oturum açabilir.
İlk Oturum Açmadan Sonra
İlk yapılandırmayla devam edin:
- Lisansı etkinleştirin.
- Tarayıcıların Keycyte PAM’e güvenmesi için Web TLS sertifikasını yapılandırın.
- E-posta ve dizin hizmetlerini yapılandırın ve hizmet erişim anahtarlarını denetleyin.
İpucu
master hesabı için bir e-posta adresi tanımlayın ve e-posta bildirimlerini erkenden yapılandırın. Keycyte PAM, örneğin Web TLS sertifikasının süresi dolmak üzereyken MASTER yöneticilerine e-posta gönderir.
İlk Yapılandırma
İlk kez oturum açtıktan sonra, kullanıcılar Keycyte PAM ile çalışmaya başlamadan önce aşağıdaki ayarları yapılandırın. Bu ayarların tümü Yönetici Paneli’nin Ayarlar menüsünde bulunur ve MASTER rolü gerektirir.
Bu Bölümde
| Konu | Açıklama |
|---|---|
| Lisansı Etkinleştirme | Gizli anahtarın oluşturulması ve lisans anahtarının girilmesi. |
| Web TLS Sertifikasını Yapılandırma | HTTPS sertifikasının yüklenmesi, doğrulanması ve uygulanması; süre sonu uyarıları. |
| E-posta ve SMS’i Yapılandırma | Bildirimler ve tek kullanımlık parolalar için posta sunucusu ve SMS ağ geçidi. |
| Dizin Hizmetlerini Bağlama | LDAP / Active Directory, RADIUS ve Microsoft Entra ID kimlik doğrulaması. |
| Hizmet Erişim Anahtarları | Keycyte PAM hizmetlerinin birbirlerine kimlik doğrulamak için kullandığı anahtarlar. |
Lisansı Etkinleştirme
Geçerli bir lisans zorunludur. Lisansı etkinleştirmek için sisteminizin Gizli Anahtar değerini Keycyte’a gönderir, bu sistem için düzenlenen lisans anahtarını alır ve lisans anahtarını Yönetici Paneli’ne girersiniz.
Lisansın sisteme nasıl bağlandığı ve neleri içerdiği için bkz. Lisanslama.
Başlamadan Önce
- Yönetici Paneli’nde MASTER rolüyle oturum açmış olmalısınız.
- Sistem son halini almış olmalıdır (sunucu, CPU sayısı, PAM sunucusu kapsayıcısı). Bkz. Lisansın Sisteme Bağlanması.
Gizli Anahtarı Alma
Sistemin gizli anahtarını almak için:
-
Yönetici Paneli’nde Ayarlar > Lisans sayfasını açın.
-
Gizli Anahtar düğmesine tıklayın.
Gizli Anahtar iletişim kutusu bu sistemin anahtarını gösterir.
-
Anahtarı kopyalayın ve Çıkış düğmesine tıklayın.
-
Anahtarı sipariş bilgilerinizle birlikte Keycyte’a gönderin.
Size bu sistem için oluşturulmuş bir lisans anahtarı iletilir.
Lisans Anahtarını Girme
Lisans anahtarını girmek için:
- Ayarlar > Lisans sayfasını açın.
- Ekle düğmesine tıklayın.
- Lisans Ekle iletişim kutusunda lisans anahtarını Lisans Anahtarı alanına yapıştırın.
- Kaydet düğmesine tıklayın.
Lisans; Şirket Adı, Oluşturma Tarihi, Toplam Kullanıcı ve Versiyon bilgileriyle listede görünür.
Anahtar kaydedilemezse Yönetici Paneli bir Hata iletisi gösterir ve lisans listesi değişmez. En sık rastlanan nedenler şunlardır:
- Anahtar eksiktir ya da kopyalama sırasında değişmiştir. Anahtarın tamamını yeniden kopyalayın.
- Anahtar farklı bir gizli anahtar için oluşturulmuştur; örneğin sistem değiştirilmeden önce. Güncel gizli anahtarı Keycyte’a gönderin.
Lisansı Değiştirme ya da Kaldırma
Keycyte PAM aynı anda tek bir lisans tutar. Yeni bir lisans anahtarı kaydettiğinizde bu anahtar mevcut lisansın yerini alır.
- Lisansı değiştirmek için Aksiyon sütunundaki düzenleme simgesine tıklayın, yeni anahtarı yapıştırın ve Kaydet düğmesine tıklayın. Ekle düğmesine tıklayıp yeni anahtarı da kaydedebilirsiniz.
- Lisansı kaldırmak için Aksiyon sütunundaki silme simgesine tıklayın ve işlemi onaylayın.
Web TLS Sertifikasını Yapılandırma
Web TLS sertifikası, tarayıcıların İstemci Paneli’ni ya da Yönetici Paneli’ni açtığında gördüğü HTTPS sertifikasıdır. Sertifikayı Ayarlar > Web TLS Sertifikası sayfasında yönetirsiniz. Yeni bir sertifika, yeni bağlantılar için hemen geçerli olur; Keycyte PAM’i yeniden başlatmanız gerekmez.
Başlamadan Önce
- Yönetici Paneli’nde MASTER rolüyle oturum açmış olmalısınız.
- Sertifika, özel anahtarı ve varsa ara sertifikalar PEM metin dosyaları olarak elinizde olmalıdır.
- Özel anahtar parolayla korunmamalıdır. Parolayı kaldırmak için örneğin
openssl pkey -in key.pem -out key-plain.pemkomutunu kullanın. - Anahtar en az 2048 bit RSA ya da P-256 veya P-384 eğrisinde ECDSA olmalıdır.
İpucu
PFX/PKCS#12 dosyanız varsa önce PEM biçimine dönüştürün:
openssl pkcs12 -in cert.pfx -nokeys -out cert.pem
openssl pkcs12 -in cert.pfx -nocerts -nodes -out key.pem
Mevcut Sertifikayı Görüntüleme
Ayarlar > Web TLS Sertifikası sayfasını açın. Mevcut Sertifika kartı, PAM sunucusunun şu anda kullandığı sertifikayı gösterir:
| Alan | Açıklama |
|---|---|
| Kaynak | Sertifikanın kaynağı: bu sayfada uygulanan bir sertifika, kurulumdaki PKCS#12 anahtar deposu ya da geçici, kendinden imzalı bir sertifika. |
| Kalan Gün | Sertifikanın süresinin dolmasına kalan gün sayısı. |
| Subject | Sertifikanın konusu (subject). |
| Issuer | Sertifikayı düzenleyen (issuer). |
| Geçerlilik Başlangıcı, Son Kullanma | Geçerlilik süresi. |
| Subject Alt Names | Sertifikanın kapsadığı DNS adları ve IP adresleri. |
| SHA256 Parmak İzi | Sertifikanın parmak izi. |
| Yükleyen, Yükleme Zamanı | Sertifikayı uygulayan yönetici ve uygulama zamanı. |
Ayrıntıların üzerindeki durum iletisi; örneğin sertifikanın sorunsuz olduğunu, süresinin yakında dolacağını, kendinden imzalı olduğunu ya da sunucunun kurulum anahtar deposuyla veya geçici, kendinden imzalı bir sertifikayla çalıştığını gösterir.
Yeni Sertifika Uygulama
Yeni bir sertifika uygulamak için:
-
Ayarlar > Web TLS Sertifikası sayfasını açın.
-
Yeni Sertifika Yükle kartında alanları doldurun. PEM metnini yapıştırabilir ya da bir alanın yanındaki Dosyadan yükle düğmesine tıklayarak içeriği dosyadan okuyabilirsiniz.
Alan Açıklama Sertifika (PEM) Sunucu sertifikası. Tam zinciri (sunucu sertifikası ve ardından ara sertifikalar) yapıştırırsanız Keycyte PAM sunucu sertifikasını zincirden ayırır. Özel Anahtar (PEM) Sertifikanın şifrelenmemiş özel anahtarı. Ara Sertifika Zinciri (PEM, opsiyonel) Sertifika alanında yer almıyorsa CA’nızın ara sertifikaları. -
Doğrula düğmesine tıklayın.
Doğrulama Önizlemesi, ayrıştırılan sertifikayı ve varsa uyarıları gösterir. Örneğin sertifika ile anahtar eşleşmiyorsa, sertifikanın süresi dolmuşsa ya da henüz geçerli değilse, anahtar türü desteklenmiyorsa veya zincir sertifikaya ait değilse doğrulama başarısız olur.
Uyarılar sertifikanın uygulanmasını engellemez. Tipik uyarılar şunlardır: sertifika kendinden imzalıdır, süresi yakında dolacaktır, ana bilgisayar adını kapsamamaktadır, bir CA tarafından düzenlenmiş ancak zincir verilmemiştir ya da zincir, kök sertifikasına sunucunun güvenmediği dahili bir ara sertifikada sona ermektedir.
-
Önizlemeyi denetleyin ve Sertifikayı Uygula düğmesine tıklayın.
-
Web TLS Sertifikasını Uygula? iletişim kutusunda işlemi onaylayın.
Sertifika uygulanır. Mevcut tarayıcı oturumları etkilenmez; yeni bağlantılar yeni sertifikayı kullanır. Keycyte PAM, ara sertifika zincirini tarayıcılara kök sertifika olmadan, düzenleyen sırasına göre gönderir.
Önemli
Sertifikanın, kullanıcıların tarayıcıya yazdığı DNS adını kapsadığından ve kullanıcı iş istasyonlarının sertifikayı düzenleyen CA’ya güvendiğinden emin olun. Bir sertifikayı uyguladıktan sonra tarayıcılar bağlanamazsa bkz. Web TLS Sertifikasını Sıfırlama.
Yükleme Geçmişi
Yükleme Geçmişi tablosu, bu sayfada uygulanmış sertifikaları Subject, Issuer, Son Kullanma, Yükleyen ve Yükleme Zamanı bilgileriyle listeler. Aktif sütunu kullanımdaki sertifikayı işaretler.
Yedek Sertifikalar
Başlangıçta uygulanmış bir sertifika yüklenemezse PAM sunucusu kurulumdaki PKCS#12 anahtar deposuna (KEYCYTE_SERVER_TLS_KEYSTORE), o da yüklenemezse her başlangıçta yeniden üretilen geçici, kendinden imzalı bir sertifikaya geçer. Bu nedenle PAM sunucusu her zaman HTTPS sunar ve geçerli bir sertifika uygulamak için (tarayıcı uyarısını kabul ettikten sonra) oturum açabilirsiniz.
Uygulanmış bir sertifikanın süresi dolduğunda yedek sertifika, dinleyicinin çevrimiçi kalmasını sağlar. Yenilenmiş sertifikayı en kısa sürede yükleyin.
Süre Sonu Uyarıları
Keycyte PAM, etkin sertifikayı günde bir kez denetler ve sertifikanın süresinin dolmasına 30, 14, 7 ve 1 gün kaldığında tüm MASTER yöneticilerine e-posta gönderir. Her uyarı bir kez gönderilir; sonraki e-posta, sertifika bir sonraki eşiğe ulaştığında gönderilir.
E-posta uyarıları için şunlar gerekir:
- Ayarlar > Bildirim sayfasında çalışan bir posta sunucusu yapılandırması;
- her MASTER yöneticisi için bir e-posta adresi. Keycyte PAM’de e-posta adresi tanımlı olmayan etki alanı kullanıcıları için adres dizinden okunur.
Süre sonu uyarıları, kurulum anahtar deposu ya da kendinden imzalı yedek sertifika için değil, yalnızca bu sayfada uygulanan sertifikalar için gönderilir.
E-posta ve SMS'i Yapılandırma
Keycyte PAM; bildirimleri, tek kullanımlık parolaları ve raporları iletmek için e-posta ve SMS kullanır. Birçok işlev bunlara bağlı olduğundan e-posta ve SMS’i kurulumun hemen ardından yapılandırın:
- MFA için e-posta ve SMS ile tek kullanımlık parolalar;
- yöneticilere gönderilen bildirimler; örneğin erişim talepleri ve Web TLS sertifikası süre sonu uyarıları;
- e-postayla gönderilen zamanlanmış raporlar.
Her ikisini de Yönetici Paneli’nde Ayarlar > Bildirim sayfasında yapılandırırsınız:
| Kart | Amaç |
|---|---|
| Email Ayarları | Posta sunucusu bağlantısı ve gönderen. Email Test, girdiğiniz adrese bir test iletisi gönderir. |
| Sms Ayarları | SMS ağ geçidi (Sağlayıcı), gönderen ve kimlik bilgileri ile tek kullanımlık parola iletisinin metni. Telefon Test, girdiğiniz numaraya bir test iletisi gönderir. |
Posta sunucusu ve SMS ağ geçidi kimlik bilgileri şifrelenmiş olarak saklanır.
Tüm alanların açıklaması için bkz. Yönetici Kılavuzu, Ayarlar > Bildirim bölümü.
Başlamadan Önce
- Keycyte PAM sunucusu, posta sunucusuna ve SMS ağ geçidine gerekli portlar üzerinden erişebilmelidir. Bkz. Ağ Portları.
- Kurulum sırasında tanımladığınız DNS sunucuları, posta sunucusunun ve SMS ağ geçidinin adlarını çözümleyebilmelidir.
Ayarları kaydettikten sonra iletimin çalıştığından emin olmak için bir test e-postası ve bir test SMS’i gönderin.
Dizin Hizmetlerini Bağlama
Keycyte PAM, kullanıcıların kimliğini yerel hesaplar yerine ya da yerel hesaplara ek olarak mevcut dizinlerinize karşı doğrulayabilir. Bağlantıları Yönetici Paneli’nde Ayarlar > Doğrulama sayfasında yapılandırırsınız:
| Kart | Amaç |
|---|---|
| LDAP Yapılandırması | Etki alanı kullanıcılarının oturum açması, kullanıcı ve grup araması, eşitleme ve keşif için LDAP ya da Active Directory sunucuları. Active Directory hesaplarının parola rotasyonunda da kullanılır. |
| RADIUS Yapılandırması | RADIUS kullanıcılarının oturum açması için harici bir RADIUS sunucusu. |
| Entra ID Yapılandırması | Microsoft hesabıyla oturum açmak için Microsoft Entra ID. |
Tüm alanların ve kullanıcı eşitleme seçeneklerinin açıklaması için bkz. Yönetici Kılavuzu, Ayarlar > Doğrulama bölümü.
Not
Ayarlar > Doğrulama, Keycyte PAM’in istemci olarak kullandığı dizinleri yapılandırır. Keycyte PAM’in ağ cihazlarına sunduğu RADIUS ve TACACS+ sunucuları ise Ayarlar > Radius Sunucu ve Ayarlar > TACACS+ Sunucu sayfalarında yapılandırılır.
Kurulum Ön Koşulları
Bir dizin bağlantısını yapılandırmadan önce aşağıdakileri denetleyin:
- Ağ. Keycyte PAM sunucusu LDAP sunucularına (StartTLS ile LDAP için genellikle 389, LDAPS için 636 numaralı port) ve kullanılıyorsa RADIUS sunucusuna ve Microsoft Entra ID’ye erişebilmelidir. Bkz. Ağ Portları.
- DNS. Kurulum sırasında tanımladığınız DNS sunucuları, etki alanı denetleyicilerinin adlarını çözümleyebilmelidir.
- LDAP sertifikaları. PAM sunucusu ve Parola Yöneticisi, LDAP sunucu sertifikalarını
cacerts.pemdosyasındaki CA sertifikalarına ve sistem CA deposuna karşı doğrular. Sertifikaları Yönetici Paneli’nden de ekleyebilirsiniz: LDAP sertifikası iletişim kutusu Otomatik Keşif (sertifikayı sunucudan okur) ve Manuel Yükleme seçeneklerini sunar. Bkz. Sertifikalar. - Hizmet hesabı. Keycyte PAM’in kullanıcı ve grup aramak için kullanabileceği bir dizin hesabı. Active Directory hesaplarının parola rotasyonu için bu hesabın parola sıfırlama yetkisine sahip olması gerekir.
Hizmet Erişim Anahtarları
Keycyte PAM hizmetleri birbirlerine erişim anahtarlarıyla kimlik doğrular. Her anahtar, bir erişim anahtarı kimliği (access key ID) ile bir gizli değerden (secret) oluşan bir çifttir. Bir hizmet, başka bir hizmete gönderdiği her isteği gizli değerle oluşturulan HMAC-SHA256 HTTP imzasıyla imzalar; isteği alan hizmet imzayı aynı çiftle doğrular.
Erişim anahtarları kapsayıcıların (container) ortamında, kurulum paketinin .env dosyasında tanımlanır. PAM sunucusu anahtarları başlangıçta okur ve bellekte tutar. Erişim anahtarları Yönetici Paneli’nden oluşturulmaz ya da değiştirilmez.
Kurulumdaki Erişim Anahtarları
| Anahtar | İmzalayan | Doğrulayan | .env değişkeni | PAM sunucusundaki değişken | Diğer hizmetteki değişken |
|---|---|---|---|---|---|
| SSH proxy anahtarı | SSH proxy | PAM sunucusu | SSH_PROXY_ACCESS_KEY_ID, SSH_PROXY_ACCESS_KEY_SECRET | KEYCYTE_SSH_PROXY_ACCESS_KEY_ID, KEYCYTE_SSH_PROXY_ACCESS_KEY_SECRET | KEYCYTE_ACCESS_KEY_ID, KEYCYTE_ACCESS_KEY_SECRET (SSH proxy) |
| RADIUS sunucusu anahtarı | RADIUS sunucusu | PAM sunucusu | RADIUS_ACCESS_KEY_ID, RADIUS_ACCESS_KEY_SECRET | KEYCYTE_RADIUS_SERVER_ACCESS_KEY_ID, KEYCYTE_RADIUS_SERVER_ACCESS_KEY_SECRET | KEYCYTE_ACCESS_KEY_ID, KEYCYTE_ACCESS_KEY_SECRET (RADIUS sunucusu) |
| PAM anahtarı | PAM sunucusu | SSH proxy | PAM_ACCESS_KEY_ID, PAM_ACCESS_KEY_SECRET | KEYCYTE_PAM_ACCESS_KEY_ID, KEYCYTE_PAM_ACCESS_KEY_SECRET | KEYCYTE_PAM_ACCESS_KEY_ID, KEYCYTE_PAM_ACCESS_KEY_SECRET (SSH proxy) |
| RDP proxy anahtarı | PAM sunucusu | RDP proxy | RDP_PROXY_ACCESS_KEY_ID, RDP_PROXY_ACCESS_KEY_SECRET | KEYCYTE_RDP_PROXY_ACCESS_KEY_ID, KEYCYTE_RDP_PROXY_ACCESS_KEY_SECRET | KEYCYTE_ACCESS_KEY_ID, KEYCYTE_ACCESS_KEY_SECRET (RDP proxy) |
docker-compose.yml dosyası aynı .env değerini her iki tarafa da aktarır; bu nedenle değeri yalnızca .env dosyasında değiştirdiğiniz sürece çift her zaman eşleşir.
Bir anahtar tanımlı değilse PAM sunucusu yine de başlar ve ilgili hizmet için bir uyarı günlüğe yazar. İlgili hizmet kimlik doğrulayamaz: örneğin SSH proxy anahtarı olmadan yerel SSH ve web terminali oturumları açılamaz, RDP proxy anahtarı olmadan yerel RDP ile başlatma devre dışı kalır.
Not
Hizmet erişim anahtarları, uygulamaların Secrets API üzerinden gizli bilgileri okumak için kullandığı hizmet kimliği API anahtarlarından farklıdır. Hizmet kimliği API anahtarları Yönetici Paneli’nde kullanıcı bazında yönetilir. Bkz. Yönetici Kılavuzu, Kullanıcılar bölümü.
Erişim Anahtarlarını Görüntüleme
PAM sunucusunun yüklediği erişim anahtarlarını görüntülemek için:
-
Yönetici Paneli’nde Ayarlar > Servisler sayfasını açın.
-
Servis AccessKey’leri kartını bulun.
Kart, her Servis için Access Key ID değerini ve Gizli Anahtar değerinin son dört karakterini gösterir. Anahtarı olmayan hizmetler tanımlı değil olarak gösterilir.
Erişim anahtarları kurulumun .env dosyasında saklanır. Bir anahtarı yenilemek için aşağıdaki yordamı izleyin.
Erişim Anahtarını Yenileme
Gizli değerin ifşa olduğundan şüpheleniyorsanız ya da güvenlik politikanız gerektiriyorsa erişim anahtarını yenileyin.
Bir erişim anahtarını yenilemek için:
-
Sunucuda, kurulum paketi klasöründeki
.envdosyasını açın. -
Anahtarın gizli değeri için yeni bir değer belirleyin; örneğin
openssl rand -hex 32ile oluşturulmuş rastgele bir değer. İsterseniz yeni bir erişim anahtarı kimliği de belirleyebilirsiniz. -
Dosyayı kaydedin.
-
Kapsayıcıların yeni değerleri okuması için paket klasöründe kapsayıcıları yeniden oluşturun:
sudo docker compose --env-file .env -f docker-compose.yml up -d
Docker Compose, ortamı değişen kapsayıcıları yeniden oluşturur. Kapsayıcılar başladıktan sonra yeni anahtar kullanılır.
Uyarı
Kapsayıcıların yeniden oluşturulması, bu kapsayıcılar üzerinden yürüyen etkin oturumları keser. Anahtarları bir bakım penceresinde yenileyin.
Uyarı
Erişim anahtarlarının gizli değerlerini hiçbir zaman destek kayıtlarına, e-postalara ya da sohbetlere kopyalamayın. Gizli değere sahip olan herkes dahili API’yi o hizmet adına çağırabilir.
Yüksek Erişilebilirlik
Bir düğüm kullanılamaz duruma geldiğinde kullanıcıların çalışmaya devam edebilmesi için birden fazla Keycyte PAM düğümü çalıştırabilirsiniz. Düğümler aynı PostgreSQL veritabanını kullanır ve bir yük dengeleyicinin arkasına yerleştirilir. Düğümlerden biri ana düğümdür (master); diğerleri replika düğümlerdir.
Ana ve Replika Düğümler
Her düğüm kullanıcılara aynı şekilde hizmet verir. Fark zamanlanmış işlerdedir:
| İş | Ana düğüm | Replika düğüm |
|---|---|---|
| Zamanlanmış parola rotasyonu | Çalıştırır | Çalıştırmaz |
| Zamanlanmış raporlar | Çalıştırır | Çalıştırmaz |
| Zamanlanmış yedeklemeler | Çalıştırır | Çalıştırmaz |
Bu sayede tüm düğümler veritabanını paylaşsa da her zamanlanmış iş yalnızca bir kez çalışır. Ana düğüm olarak ayarlanmayan her düğüm replikadır. Her düğüm, başlangıçta ana düğüm mü yoksa replika düğüm olarak mı çalıştığını günlüğüne yazar.
Önemli
Tam olarak bir düğümü ana düğüm olarak ayarlayın. Hiçbir düğüm ana düğüm değilse zamanlanmış parola rotasyonu, raporlar ve yedeklemeler çalışmaz. Birden fazla düğüm ana düğümse zamanlanmış işler birden fazla kez çalışabilir.
Ana düğüm ayarı her düğüm için ayrı olarak, düğümün uygulama dizinindeki master dosyasında saklanır (ana makinede ~/keycyte/master, PAM sunucusu kapsayıcısında /app/master).
Not
“Ana düğüm” (master node), bir Keycyte PAM düğümünün özelliğidir. MASTER yönetici rolüyle ilgisi yoktur.
Gereksinimler
Tüm düğümler:
- aynı PostgreSQL veritabanına bağlanmalıdır (bkz. Yapılandırma Başvurusu içindeki veritabanı değişkenleri);
- aynı şifreleme anahtarını kullanmalıdır (
.envdosyasındaKEYSTORE_KEY_HEX, PAM sunucusundaKEYCYTE_KEYSTORE_KEY_HEX). Aksi halde bir düğüm, başka bir düğümün sakladığı gizli bilgilerin şifresini çözemez; - aynı oturum gizli anahtarını kullanmalıdır (
.envdosyasındaSESSION_SECRET_KEY, PAM sunucusundaKEYCYTE_SESSION_SECRET_KEY). Aksi halde bir düğümün verdiği oturum tanımlama bilgisi (cookie) başka bir düğüm tarafından reddedilir; - aynı hizmet erişim anahtarlarını kullanmalıdır;
- tanımlama bilgisi etki alanı ayarlamamalıdır (
KEYCYTE_SESSION_COOKIE_DOMAINboş). Oturum tanımlama bilgisi, etki alanına izin vermeyen__Host-önekini kullanır.
Yük dengeleyici:
- HTTPS (443) trafiğini ve kullanılıyorsa SSH (2222) ile RDP (3389) trafiğini düğümlere iletmelidir;
- bir tarayıcının tüm isteklerinin aynı düğüme gitmesi için oturum yakınlığı (tanımlama bilgisi ya da kaynak IP ile yapışkan oturumlar, sticky sessions) kullanmalıdır.
Bazı kısa ömürlü veriler her düğümün belleğinde tutulduğu ve düğümler arasında paylaşılmadığı için oturum yakınlığı gereklidir: bağlantı belirteçleri, MFA tek kullanımlık parolaları, etkin oturum ve izleyici kayıtları. Oturum yakınlığı olmadan oturum açma, MFA doğrulaması ya da paylaşılan bir oturuma katılma işlemleri aralıklı olarak başarısız olabilir.
Ana Düğümü Ayarlama
Bir düğümü ana düğüm olarak ayarlamak için:
-
O düğümün Yönetici Paneli’nde MASTER rolüyle oturum açın. Doğru düğüme ulaşmak için yük dengeleyici adresini değil, düğümün kendi adresini kullanın.
-
Ayarlar > Replikasyon sayfasını açın.
Replikasyon Ayarları kartı, bağlı olduğunuz düğümün Sunucu Adı, Ip Adres ve Mac Adres bilgilerini gösterir.
-
Master anahtarını açın.
Master mode enablediletisi görüntülenir. Düğüm, bir sonraki zamanlayıcı döngüsünden itibaren zamanlanmış işleri çalıştırır.
Bir düğümü replika yapmak için o düğümde Master anahtarını kapatın.
İpucu
Ana düğümü değiştirmek için önce eski ana düğümde Master anahtarını kapatın, ardından yeni düğümde açın.
Replike Edilmiş Sunucular
Replike Edilmiş Sunucular kartı diğer Keycyte PAM düğümlerini listeler. Kayıt eklemek için Ekle düğmesine tıklayın, Tip, Adres, Durum ve Master alanlarını doldurun, ardından Kaydet düğmesine tıklayın.
Yedekleme ve Geri Yükleme
Keycyte PAM, veritabanının uygulama düzeyinde yedeklerini oluşturur: sunucular, kasa kayıtları, kullanıcılar, roller, politikalar, ayarlar ve isteğe bağlı olarak günlükler. Yedeklemeyi Ayarlar > Yedekleme sayfasında yapılandırırsınız. Bu sayfayı yalnızca MASTER yöneticileri açabilir.
Yedeğin İçeriği
Yedek, .keycyte uzantılı tek bir şifreli dosyadır (örneğin backup_20261101_020000.keycyte). Keycyte PAM veritabanı içeriğini serileştirir, sıkıştırır ve kurulumun şifreleme anahtarıyla (KEYCYTE_KEYSTORE_KEY_HEX) şifreler.
| Dahil olanlar | Dahil olmayanlar |
|---|---|
| Sunucular, Parola Kasası ve Özel Kasa kayıtları, parola geçmişi | Oturum kayıtları (~/record) |
| Kullanıcılar, roller, yetki profilleri, politikalar, erişim denetimi kuralları, etiketler | Aktarılan dosyalar (~/drive) |
| Ayarlar (kimlik doğrulama, bildirim, bağlantı, syslog, RADIUS ve TACACS+ sunucusu, lisans) | Kurulum paketindeki sertifika dosyaları ve .env |
| Yedekleme yapılandırmasında Günlükler seçiliyse günlükler | Kapsayıcı (container) imajları |
Uyarı
Bir yedek yalnızca aynı şifreleme anahtarını kullanan bir kuruluma geri yüklenebilir. .env dosyasının ya da en azından KEYSTORE_KEY_HEX değerinin güvenli bir kopyasını yedeklerden ayrı olarak saklayın. Anahtar olmadan yedeklerin şifresi çözülemez.
~/record, ~/drive ve kurulum paketi klasörünü kendi dosya yedekleme araçlarınızla yedekleyin.
Yedek Dosyalarının Saklandığı Yer
Her yedek önce uygulama dizinindeki backups klasörüne yazılır: ana makinede ~/keycyte/backups (PAM sunucusu kapsayıcısında /app/backups). Yedekleme yapılandırması SFTP kullanıyorsa dosya ardından SFTP sunucusuna kopyalanır.
İpucu
Yedek dosyaları için disk alanı planlayın: ~/keycyte/backups içindeki eski dosyaları düzenli olarak arşivleyin ya da kaldırın.
Yedeklemeyi Yapılandırma
Bir yedeklemeyi yapılandırmak için:
-
Yönetici Paneli’nde Ayarlar > Yedekleme sayfasını açın.
-
Ekle düğmesine tıklayın.
-
Yedekleme Ayarları iletişim kutusunda alanları doldurun:
Alan Açıklama Metot SFTPya daSMB.Adres Yedekleme sunucusunun ana bilgisayar adı ya da IP adresi. Port SFTP sunucusunun SSH portu. Yalnızca SFTP için gösterilir. Dosya Yolu Yedekleme sunucusunda dosyanın saklandığı klasör. Kullanıcı Adı Yedekleme sunucusundaki kullanıcı adı. Parola Kullanıcının parolası. SFTP için bunun yerine özel anahtar kullanabilirsiniz. Özel Anahtar SFTP kimlik doğrulaması için özel anahtar. Yalnızca SFTP için gösterilir. Passphrase Varsa özel anahtarın parolası. Yalnızca SFTP için gösterilir. Periyod Zamanlanmış yedeklemelerin dakika cinsinden aralığı. 0ya da boş değer, bu yapılandırma için zamanlanmış yedeklemeyi devre dışı bırakır.Açıklama Yapılandırmayı tanımanıza yardımcı olan serbest metin. Günlükler Günlük tablolarını yedeğe dahil eder. Günlük içeren yedekler çok daha büyük olabilir. Durum Yapılandırmayı etkinleştirir. Zamanlanmış yedeklemeler yalnızca etkin yapılandırmalar için çalışır. -
Kaydet düğmesine tıklayın.
Yapılandırma; Metot, Adres, Dosya Yolu ve Durum bilgileriyle listede görünür.
Zamanlanmış Yedeklemeler
Yedekleme zamanlayıcısı etkin yapılandırmaları dakikada bir denetler ve bir yapılandırmanın son çalışmasından bu yana Periyod süresi geçtiğinde yedeklemeyi başlatır. Bir yapılandırmanın ilk zamanlanmış yedeklemesi, PAM sunucusu başladıktan kısa bir süre sonra çalışır.
Zamanlanmış yedeklemeler yalnızca ana düğümde çalışır. Bkz. Yüksek Erişilebilirlik.
Hemen Yedekleme Çalıştırma
Bir yedeklemeyi hemen çalıştırmak için yapılandırmanın Aksiyon sütunundaki çalıştırma simgesine tıklayın.
Yedek, o yapılandırmanın ayarlarıyla oluşturulur. İşlem tamamlandığında Başarılı iletisi görüntülenir.
Yedeği İndirme
Bir yedek dosyasını indirmek için Aksiyon sütunundaki indirme simgesine tıklayın.
Yedek dosyalarını doğrudan ana makinedeki ~/keycyte/backups dizininden de kopyalayabilirsiniz.
Yedeği Geri Yükleme
Geri yükleme, Keycyte PAM’in veritabanı içeriğini yedek dosyasının içeriğiyle değiştirir.
Uyarı
Geri yükleme, yedeğin içerdiği tablolardaki tüm mevcut verileri siler ve ardından yedekteki verileri ekler. Yedek oluşturulduktan sonra yapılan değişiklikler kaybolur. Geri yüklemeden önce yeni bir yedek oluşturun.
Başlamadan Önce
- MASTER rolüyle oturum açmış olmalısınız.
- Yedek dosyası, aynı şifreleme anahtarını kullanan bir kurulum tarafından oluşturulmuş olmalıdır.
- Kullanıcılar bilgilendirilmiş olmalıdır; etkin oturumlar etkilenebilir.
Bir yedeği geri yüklemek için:
-
Ayarlar > Yedekleme sayfasını açın.
-
Restore düğmesine tıklayın.
-
.keycyteyedek dosyasını seçin.Geri yükleme, dosyayı seçtiğiniz anda başlar. İşlem tamamlandığında Başarılı iletisi görüntülenir.
-
Oturumu kapatıp yeniden açın ve geri yüklenen verileri denetleyin.
Yetki profilleri kullanıma girmeden önce alınmış bir yedek geri yüklenirse Keycyte PAM, geri yüklemeden sonra her ADMIN hesabına yerleşik tam yetki profilini atar.
Yapılandırma Başvurusu
PAM sunucusu ayarlarını ortam değişkenlerinden ve isteğe bağlı olarak bir config.yaml dosyasından okur. Kurulum paketinden yapılan bir kurulumda ayarlar, docker-compose.yml dosyasının pam kapsayıcısına (container) aktardığı ve çoğunlukla .env dosyasından gelen ortam değişkenleridir.
Ayarların Okunması
- Ortam değişkenleri. Her ayarın bir ortam değişkeni vardır:
KEYCYTE_önekinin ardından, noktaları alt çizgiyle değiştirilmiş ve büyük harfe çevrilmiş ayar yolu. Örneğinsession.timeoutayarının değişkeniKEYCYTE_SESSION_TIMEOUTolur. config.yaml. PAM sunucusuconfig.yamldosyasını çalışma dizininde (kapsayıcıda/app, ana makinede~/keycyte) ve/etc/keycyte/dizininde arar. Dosya isteğe bağlıdır; bulunamazsa PAM sunucusu bir uyarı günlüğe yazar ve ortam değişkenlerini ile varsayılanları kullanır.- Öncelik. Ortam değişkenleri
config.yamldosyasına,config.yamldosyası da yerleşik varsayılanlara göre önceliklidir.
Kurulum paketinden yapılan bir kurulumda bir ayarı değiştirmek için değeri .env dosyasında (ya da ayar orada tanımlıysa docker-compose.yml dosyasında) düzenleyin ve paket klasöründe kapsayıcıları yeniden oluşturun:
sudo docker compose --env-file .env -f docker-compose.yml up -d
Uyarı
.env dosyası gizli değerler içerir. Gizli değerleri hiçbir zaman destek kayıtlarına, belgelere ya da sohbetlere kopyalamayın ve dosyanın güvenli bir kopyasını saklayın.
Aşağıdaki tablolarda Varsayılan, PAM sunucusunun yerleşik varsayılan değeridir. Paket, kurulum paketinin ayarladığı değeri (farklı olduğu durumlarda) gösterir. Zorunlu olarak işaretlenen ayarlar tanımlanmalıdır; PAM sunucusu bunlar olmadan başlamaz.
Sunucu ve TLS
| Değişken | config.yaml anahtarı | Varsayılan | Açıklama |
|---|---|---|---|
KEYCYTE_SERVER_PORT | server.port | 8443 | Kapsayıcı içindeki HTTPS portu. Paket: 443. |
KEYCYTE_SERVER_TLS_ENABLED | server.tls.enabled | true | HTTPS sunar. |
KEYCYTE_SERVER_TLS_KEYSTORE | server.tls.keystore | boş | Yönetici Paneli’nde sertifika uygulanmadığında kullanılan PKCS#12 anahtar deposunun yolu. Paket: /app/localhost.p12 (TLS_KEYSTORE_PATH değişkeninden). |
KEYCYTE_SERVER_TLS_PASSWORD | server.tls.password | boş | PKCS#12 anahtar deposunun parolası (TLS_KEYSTORE_PASSWORD değişkeninden). |
KEYCYTE_SERVER_TLS_SUPPRESS_CLIENT_ERRORS | server.tls.suppress_client_errors | true | İstemcilerden kaynaklanan TLS el sıkışma hatalarını günlüğe yazmaz. |
KEYCYTE_SERVER_CORS_ALLOWED_ORIGINS | server.cors.allowed_origins | boş | API’yi başka bir siteden çağırmasına izin verilen kaynakların (origin) virgülle ayrılmış listesi (örneğin https://portal.example.com). Boş değer, çapraz kaynaklı istekleri devre dışı bırakır. * kullanılamaz. |
Veritabanı
| Değişken | config.yaml anahtarı | Varsayılan | Açıklama |
|---|---|---|---|
KEYCYTE_DATABASE_HOST | database.host | 127.0.0.1 | PostgreSQL sunucusu. Paket: postgres (veritabanı kapsayıcısı), DB_HOST değişkeninden. |
KEYCYTE_DATABASE_PORT | database.port | 5432 | PostgreSQL portu (DB_PORT değişkeninden). |
KEYCYTE_DATABASE_NAME | database.name | keycytedb | Veritabanı adı (DB_NAME değişkeninden). |
KEYCYTE_DATABASE_USERNAME | database.username | boş | Zorunlu. Veritabanı kullanıcısı (DB_USER değişkeninden). |
KEYCYTE_DATABASE_PASSWORD | database.password | boş | Zorunlu. Veritabanı parolası (DB_PASSWORD değişkeninden). |
KEYCYTE_DATABASE_SSLMODE | database.sslmode | disable | PostgreSQL SSL modu; örneğin disable, require, verify-full (DB_SSLMODE değişkeninden). |
KEYCYTE_DATABASE_MAX_OPEN_CONNS | database.max_open_conns | 25 | PAM düğümü başına en fazla açık bağlantı sayısı. |
KEYCYTE_DATABASE_MAX_IDLE_CONNS | database.max_idle_conns | 10 | PAM düğümü başına en fazla boşta bağlantı sayısı. |
İpucu
Birden fazla düğümlü bir kurulumda bağlantı sınırları her düğüm için ayrı ayrı uygulanır. Toplamın PostgreSQL’in max_connections ayarının altında kaldığından emin olun.
Şifreleme Anahtarı
Şifreleme anahtarı; veritabanında saklanan gizli bilgileri (kasa parolaları, anahtarlar, sağlayıcı kimlik bilgileri), yedek dosyalarını ve oturum kayıtlarını korur. Zorunlu: aşağıdaki kaynaklardan tam olarak birini tanımlayın. PAM sunucusu anahtar olmadan başlamaz.
| Değişken | config.yaml anahtarı | Varsayılan | Açıklama |
|---|---|---|---|
KEYCYTE_KEYSTORE_KEY_HEX | keystore.key_hex | boş | Onaltılık dizge olarak AES anahtarı. Paket: KEYSTORE_KEY_HEX değişkeninden. |
KEYCYTE_KEYSTORE_KEY_BASE64 | keystore.key_base64 | boş | Base64 dizgesi olarak AES anahtarı. |
KEYCYTE_KEYSTORE_KEY_FILE | keystore.key_file | boş | Ham anahtarı (16, 24 ya da 32 bayt) içeren dosyanın yolu. |
KEYCYTE_KEYSTORE_PATH | keystore.path | boş | Anahtarı tutan Java PKCS#12 anahtar deposunun yolu (önceki sürümlerden taşınan anahtarlar için). |
KEYCYTE_KEYSTORE_PASSWORD | keystore.password | boş | keystore.path içindeki anahtar deposunun parolası. |
KEYCYTE_KEYSTORE_ALIAS | keystore.alias | keycyte | Anahtar deposundaki anahtarın takma adı (alias). |
Birden fazla kaynak tanımlıysa PAM sunucusu tablodaki sıraya göre ilkini kullanır.
Uyarı
Mevcut bir kurulumun şifreleme anahtarını hiçbir zaman değiştirmeyin. Eski anahtarla şifrelenmiş verilerin (yedekler ve kayıtlar dahil) şifresi artık çözülemez. Bir kurulumdaki tüm düğümler aynı anahtarı kullanmalıdır.
Oturum
| Değişken | config.yaml anahtarı | Varsayılan | Açıklama |
|---|---|---|---|
KEYCYTE_SESSION_SECRET_KEY | session.secret_key | yerleşik değer | Zorunlu. Oturum tanımlama bilgilerini (cookie) imzalayan gizli değer. En az 32 bayt uzunluğunda olmalı ve yerleşik değerden farklı olmalıdır; aksi halde PAM sunucusu başlamaz. openssl rand -base64 48 ile oluşturabilirsiniz. Paket: SESSION_SECRET_KEY değişkeninden. |
KEYCYTE_SESSION_TIMEOUT | session.timeout | 30m | Web oturumunun boşta kalma zaman aşımı. Her istek süreyi uzatır. Paket: SESSION_TIMEOUT değişkeninden. |
KEYCYTE_SESSION_COOKIE_NAME | session.cookie_name | KEYCYTESESSION | Oturum tanımlama bilgisinin temel adı. Ana bilgisayar öneki etkinken tanımlama bilgisi __Host-<name> olarak gönderilir. Paket: SESSION_COOKIE_NAME değişkeninden. |
KEYCYTE_SESSION_USE_HOST_PREFIX | session.use_host_prefix | true | Tanımlama bilgisi adına __Host- önekini ekler. Bu, güvenli tanımlama bilgisini zorunlu kılar ve tanımlama bilgisi etki alanını temizler. |
KEYCYTE_SESSION_COOKIE_SECURE | session.cookie_secure | true | Tanımlama bilgisini yalnızca HTTPS üzerinden gönderir. |
KEYCYTE_SESSION_COOKIE_SAME_SITE | session.cookie_same_site | lax | SameSite özniteliği: lax, strict ya da none. none, güvenli tanımlama bilgisi gerektirir. Paket: none. |
KEYCYTE_SESSION_COOKIE_DOMAIN | session.cookie_domain | boş | Tanımlama bilgisi etki alanı. Ana bilgisayar öneki etkinken dikkate alınmaz. |
KEYCYTE_SESSION_SINGLE_DEVICE | session.single_device | false | Kullanıcı başına yalnızca bir etkin web oturumuna izin verir. Yeni bir oturum açma, kullanıcının diğer tüm oturumlarını kapatır. |
MFA Kilitleme
| Değişken | config.yaml anahtarı | Varsayılan | Açıklama |
|---|---|---|---|
KEYCYTE_MFA_MAX_FAILED_ATTEMPTS | mfa.max_failed_attempts | 5 | Hesabın kilitlenmesine yol açan başarısız MFA doğrulaması sayısı. |
KEYCYTE_MFA_LOCKOUT_DURATION_MIN | mfa.lockout_duration_min | 15 | Çok sayıda başarısız MFA doğrulamasından sonra hesabın kilitli kaldığı süre (dakika). Tüm kullanıcı türleri için geçerlidir. |
Dosyalar, Kayıtlar ve Ağ Geçidi
| Değişken | config.yaml anahtarı | Varsayılan | Açıklama |
|---|---|---|---|
KEYCYTE_UPLOAD_MAX_FILE_SIZE | upload.max_file_size | 4GB | Bir tarayıcı oturumunda aktarılan dosyanın en büyük boyutu. |
KEYCYTE_UPLOAD_STORAGE_PATH | upload.storage_path | /drive | Aktarılan dosyaların saklandığı klasör. Paket: /app/uploads. |
KEYCYTE_RECORDING_PATH | recording.path | /recordings | Oturum kayıtlarının klasörü. Paket: /record (~/record ana makine dizini). |
KEYCYTE_GATEWAY_ADDRESS | gateway.address | 127.0.0.1 | Ağ geçidinin (guacd) adresi. Paket: guacd. |
KEYCYTE_GATEWAY_PORT | gateway.port | 4822 | Ağ geçidinin portu. |
LDAP TLS
| Değişken | config.yaml anahtarı | Varsayılan | Açıklama |
|---|---|---|---|
KEYCYTE_LDAP_CA_CERT | ldap.ca_cert | /app/certs/ldap-ca.pem | TLS üzerinden LDAP için güvenilen CA sertifikalarını içeren PEM dosyası. Yönetici Paneli’nden güvenilir olarak eklenen sertifikalar da burada saklanır. Paket: /app/cacerts.pem (LDAP_CA_CERT değişkeninden). |
KEYCYTE_LDAP_INSECURE_SKIP_VERIFY | ldap.insecure_skip_verify | false | LDAP sunucu sertifikalarının doğrulanmasını atlar. Üretim ortamında kullanmayın (LDAP_INSECURE değişkeninden). |
Parola Yöneticisi kapsayıcısı da aynı iki değeri LDAP_CA_CERT ve LDAP_INSECURE_SKIP_VERIFY olarak alır.
Proxy’ler ve Erişim Anahtarları
Bu değişkenlerin config.yaml anahtarı yoktur; ortam değişkeni olarak tanımlayın. Anlamları ve yenilenmeleri için bkz. Hizmet Erişim Anahtarları.
| Değişken | Varsayılan | Açıklama |
|---|---|---|
KEYCYTE_SSH_PROXY_ACCESS_KEY_ID, KEYCYTE_SSH_PROXY_ACCESS_KEY_SECRET | boş | SSH proxy erişim anahtarı. |
KEYCYTE_RADIUS_SERVER_ACCESS_KEY_ID, KEYCYTE_RADIUS_SERVER_ACCESS_KEY_SECRET | boş | RADIUS sunucusu erişim anahtarı. |
KEYCYTE_PAM_ACCESS_KEY_ID, KEYCYTE_PAM_ACCESS_KEY_SECRET | boş | PAM sunucusunun SSH proxy’ye karşı kullandığı erişim anahtarı. |
KEYCYTE_SSH_PROXY_WS_URL | ws://ssh-proxy:8443 | SSH proxy’nin dahili WebSocket adresi. |
KEYCYTE_DOCKER_PROJECT | boş | Docker Compose proje adı. Tanımlıysa Ayarlar > Servisler yalnızca bu projenin kapsayıcılarını listeler; tanımlı değilse ana makinedeki tüm kapsayıcıları listeler. |
DOCKER_HOST | — | Ayarlar > Servisler sayfasının kullandığı Docker soketi. Paket: unix:///var/run/docker.sock. |
Yerel RDP ile Başlatma
Bu değişkenlerin config.yaml anahtarı yoktur. Yerel RDP ile başlatma, URL, genel adres ve erişim anahtarının tümü tanımlandığında etkinleşir.
| Değişken | Varsayılan | Açıklama |
|---|---|---|
KEYCYTE_RDP_PROXY_URL | boş | RDP proxy denetim API’sinin dahili adresi. Paket: http://rdp-proxy:7171. |
KEYCYTE_RDP_PROXY_PUBLIC_ADDRESS | boş | Kullanıcı iş istasyonlarının RDP proxy’ye eriştiği ve .rdp dosyasına yazılan host:port değeri; örneğin pam.example.com:3389. |
KEYCYTE_RDP_PROXY_ACCESS_KEY_ID, KEYCYTE_RDP_PROXY_ACCESS_KEY_SECRET | boş | RDP proxy erişim anahtarı. |
KEYCYTE_RDP_LAUNCH_TOKEN_TTL_SECS | 120 | Tek kullanımlık bağlantı belirtecinin saniye cinsinden geçerlilik süresi. |
Günlük Kaydı
| Değişken | config.yaml anahtarı | Varsayılan | Açıklama |
|---|---|---|---|
KEYCYTE_LOG_LEVEL | log.level | info | Başlangıçtaki günlük düzeyi: debug, info, warn ya da error. Ayarlar > Genel sayfasında (Günlük Seviyesi) kaydedilen günlük düzeyi bu değeri geçersiz kılar ve yeniden başlatma gerekmeden değiştirilebilir. |
KEYCYTE_LOG_FORMAT | log.format | text | text (okunabilir) ya da json (günlük toplayıcılar için). |
KEYCYTE_LOG_SOURCE | log.source | false | Her günlük satırına kaynak dosyayı ve satır numarasını ekler. |
Kurulum Paketi Değişkenleri
Kurulum paketinin .env dosyası, PAM sunucusu tarafından doğrudan değil, docker-compose.yml ve diğer kapsayıcılar tarafından kullanılan değişkenleri de içerir.
| Değişken | Tanımlayan | Açıklama |
|---|---|---|
PRIMARY_DNS, SECONDARY_DNS | Kurulum betiği | Tüm kapsayıcıların DNS sunucuları. |
DOCKER_GID | Kurulum betiği | Ana makinedeki docker grubunun kimliği. |
KEYCYTE_BASE, KEYCYTE_DRIVE, KEYCYTE_RECORD | Kurulum betiği | ~/keycyte, ~/drive, ~/record ana makine dizinleri. |
RUN_UID, RUN_GID | Kurulum betiği | Kapsayıcıların çalıştığı kullanıcı ve grup kimliği. |
TZ | Paket | Tüm kapsayıcıların saat dilimi. |
SSH_IDLE_TIMEOUT | Paket | SSH proxy oturumlarının boşta kalma zaman aşımı. |
DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD, DB_SSLMODE | Paket | PAM sunucusunun ve SSH proxy’nin veritabanı bağlantısı. |
Sorun Giderme
Bu konu, bir sorunla ilgili bilgi toplamayı ve sık karşılaşılan kurulum durumlarını çözmeyi anlatır. Bu konudaki docker compose komutlarını kurulum paketi klasöründe çalıştırın.
Hizmet Günlüklerini Görüntüleme
Yönetici Paneli’nde
Ayarlar > Servisler sayfası Keycyte PAM kapsayıcılarını (container) Container, Servis, Durum, CPU, Bellek ve Çalışma Süresi bilgileriyle listeler. Bu sayfayı yalnızca MASTER yöneticileri açabilir.
Bir kapsayıcının günlüğünü görüntülemek için:
- Yönetici Paneli’nde Ayarlar > Servisler sayfasını açın.
- Keycyte Servisleri tablosunda, kapsayıcının satırındaki Loglar düğmesine tıklayın.
Kapsayıcının en son günlük satırları görüntülenir.
Aynı tablodan kapsayıcıları Yeniden Başlat, Durdur ve Başlat düğmeleriyle yönetebilirsiniz. Bir kapsayıcıyı durdurmak ya da yeniden başlatmak, o kapsayıcının yürüttüğü oturumları keser. PAM sunucusu için yalnızca Yeniden Başlat kullanılabilir.
Sayfa Docker soketi erişilemiyor iletisini gösteriyorsa Docker soketi PAM sunucusu kapsayıcısına bağlanmamıştır. Kurulum paketi /var/run/docker.sock soketini salt okunur olarak bağlar; docker-compose.yml dosyasının bu bağlamayı hâlâ içerdiğini ve .env dosyasındaki DOCKER_GID değerinin ana makinedeki docker grubunun kimliğiyle eşleştiğini denetleyin.
Ana Makinede
Bir hizmetin günlüklerini ana makinede görüntülemek için docker compose logs komutunu kullanın:
sudo docker compose --env-file .env -f docker-compose.yml logs --tail 200 pam
Günlüğü sürekli izlemek için -f ekleyin. Hizmet adları pam, ssh-proxy, guacd, password-manager, radius ve postgres şeklindedir.
Her kapsayıcı, her biri en fazla 5 MB olan en fazla üç günlük dosyası tutar.
Günlük Düzeyini Değiştirme
Daha fazla ayrıntı almak için Ayarlar > Genel sayfasında (Günlük Seviyesi) günlük düzeyini debug olarak ayarlayın. Değişiklik yeniden başlatma gerekmeden hemen geçerli olur. debug düzeyi çok sayıda günlük satırı ürettiğinden, gerekli bilgiyi topladıktan sonra düzeyi yeniden info olarak ayarlayın.
Başlangıçtaki günlük düzeyini KEYCYTE_LOG_LEVEL ile de ayarlayabilirsiniz. Bkz. Yapılandırma Başvurusu.
Web TLS Sertifikasını Sıfırlama
Ayarlar > Web TLS Sertifikası sayfasında uygulanan bir sertifika tarayıcıların bağlanmasını engelliyorsa (örneğin HSTS ile birlikte yanlış ana bilgisayar adı ya da istemcilerin güvenmediği bir sertifika) sertifikayı komut satırından devre dışı bırakabilirsiniz. Bu durumda PAM sunucusu kurulum anahtar deposuna ya da geçici, kendinden imzalı bir sertifikaya geçer ve doğru sertifikayı uygulamak için yeniden oturum açabilirsiniz.
Web TLS sertifikasını sıfırlamak için:
-
Ana makinede, PAM sunucusu kapsayıcısında sıfırlama komutunu çalıştırın:
sudo docker exec pam keycyte-pam cert resetKomut, veritabanındaki etkin sertifikayı devre dışı bırakır ve kaç satırı değiştirdiğini yazdırır.
-
PAM sunucusunu yeniden başlatın:
sudo docker compose --env-file .env -f docker-compose.yml restart pam -
Yönetici Paneli’ni açın, tarayıcı uyarısı görüntülenirse kabul edin ve Ayarlar > Web TLS Sertifikası sayfasında doğru sertifikayı uygulayın.
Uygulanmış sertifika Yükleme Geçmişi tablosunda kalır; yalnızca etkin değildir.
Sık Karşılaşılan Durumlar
Bir kapsayıcı başlamıyor
Kurulum betiği, çalışmayan her kapsayıcının son günlük satırlarını yazdırır. Bu satırları docker compose logs <service> komutuyla yeniden görüntüleyebilirsiniz. PAM sunucusu için tipik nedenler:
| Günlük iletisinde geçen ifade | Neden ve çözüm |
|---|---|
session secret validation failed | .env dosyasındaki SESSION_SECRET_KEY boş, 32 bayttan kısa ya da yerleşik değerdir. En az 32 baytlık rastgele bir değer belirleyin ve kapsayıcıları yeniden oluşturun. |
No AES key configured | Şifreleme anahtarı tanımlı değildir. .env dosyasındaki KEYSTORE_KEY_HEX değerini denetleyin. |
Invalid key_hex value | KEYSTORE_KEY_HEX geçerli bir onaltılık dizge değildir. |
Failed to run ent auto-migration | PAM sunucusu veritabanı şemasını güncelleyememiştir. Veritabanı bağlantısını ve veritabanı kullanıcısının yetkilerini denetleyin. |
Kurulum betiği eksik imaj bildiriyor
keycyte-pam.tar.gz arşivi açıldıktan sonra beklenen bir imaj yüklenmemişse kurulum betiği durur. Yüklü imajları sudo docker images komutuyla denetleyin. İmajlar keycyte-pam:latest, keycyte-ssh-proxy:latest, keycyte-password-manager:latest, keycyte-radius-server:latest ve guacamole/guacd:latest etiketlerine sahip olmalıdır.
postgres kapsayıcısı imaj çekilemediği için başlayamıyorsa sunucunun Docker Hub’a erişimi yoktur. postgres:17 imajını elle yükleyin; bkz. Kurulum Paketini Hazırlama.
Master hesabı oluşturulmadı
Kurulum betiği master hesabı betiğinin atlandığını bildiren bir uyarı yazdırdıysa betiği elle çalıştırın. Bkz. Master Hesabı Oluşturulmadıysa.
Tarayıcı sertifika uyarısı gösteriyor
PAM sunucusu kurulum anahtar deposunu ya da geçici, kendinden imzalı bir sertifikayı kullanmaktadır. Ayarlar > Web TLS Sertifikası sayfasında Kaynak bilgisini denetleyin ve Keycyte PAM DNS adı için, kullanıcı iş istasyonlarının güvendiği bir CA tarafından düzenlenmiş bir sertifika uygulayın.
LDAP oturum açma işlemi sertifika hatasıyla başarısız oluyor
LDAP sunucu sertifikasına güvenilmemektedir. Sertifikayı düzenleyen CA’nın ~/keycyte/cacerts.pem dosyasında bulunduğunu denetleyin ya da sertifikayı Yönetici Paneli’ndeki LDAP yapılandırmasından ekleyin. Ana makinede cacerts.pem dosyasını değiştirdikten sonra pam ve password-manager hizmetlerini yeniden başlatın.
Yerel SSH ya da web terminali oturumları açılamıyor
Ayarlar > Servisler sayfasındaki Servis AccessKey’leri kartını denetleyin. SSH proxy tanımlı değil olarak gösteriliyorsa SSH proxy erişim anahtarı PAM sunucusu ortamında tanımlı değildir. Ayrıca ssh-proxy günlüğünde PAM sunucusuna yönelik kimlik doğrulama hatalarını denetleyin. Bkz. Hizmet Erişim Anahtarları.
Zamanlanmış parola rotasyonu, raporlar ya da yedeklemeler çalışmıyor
Zamanlanmış işler yalnızca ana düğümde çalışır. Ayarlar > Replikasyon sayfasındaki Master anahtarını denetleyin ya da başlangıçtan sonra PAM sunucusu günlüğünde Running as MASTER node veya Running as REPLICA node satırını arayın. Bkz. Yüksek Erişilebilirlik.
Yük dengeleyici arkasında kullanıcıların oturumu kapanıyor ya da oturumlar açılamıyor
Tüm düğümlerin aynı SESSION_SECRET_KEY değerini kullandığını ve yük dengeleyicinin oturum yakınlığı kullandığını denetleyin. Bkz. Yüksek Erişilebilirlik.
Sertifika süre sonu e-postaları alınmıyor
Ayarlar > Bildirim sayfasında Email Test ile posta sunucusu ayarlarını denetleyin ve MASTER yöneticilerinin e-posta adreslerinin tanımlı olduğunu doğrulayın.