Keycyte PAM 3.2 · Kurulum Kılavuzu
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.