
Bağlam
Şubelere uzaktan destek vermek için yıllarca ticari uzak masaüstü araçları kullanıldı. Lisans maliyeti bir yana, asıl sorun denetimdi: kim, ne zaman, hangi bilgisayara bağlandı ve ne yaptı sorusunun kurum içinde güvenilir bir kaydı yoktu. Bağlantı trafiği üçüncü taraf sunuculardan geçiyordu ve sahada farklı nesil işletim sistemleri bir arada çalışıyordu.
Hedef, kurumun kendi sunucusunda çalışan, trafiği okuyamayan bir aracıyla NAT arkasındaki bilgisayarlara bağlanabilen ve her oturumu kaydeden bir araç yapmaktı. Ekip için tanıdık olması adına arayüz bilinen uzak masaüstü araçlarının düzeninde tasarlandı: dokuz haneli kimlik ve şifre.
Çözüm
Üç parçadan oluşuyor:
- Masaüstü istemci (PyQt5). Hem bağlanan hem bağlanılan taraf aynı uygulama. Sistem tepsisinde çalışıyor, gelen bağlantı için onay istiyor, ekranda kırmızı "uzaktan bağlı" şeridi gösteriyor.
- Relay sunucusu (yalnızca standart kütüphane, asyncio). Kimlik kaydı tutuyor ve iki uç arasında şifreli baytları aktarıyor. Oturum içeriğini göremiyor. Aynı süreç web konsolu API'sini, denetim kaydını, uyarı kanallarını ve zamanlanmış işleri de sunuyor.
- Web yönetim konsolu (bağımlılıksız tek HTML). Bilgisayar envanteri, canlı oturumlar, olay geçmişi, izleme grafikleri, veri koruma olayları, ağ haritası, şube kameraları, bilgi işlem talepleri ve sistem sağlığı. Yönetici, operatör ve denetçi rolleri; iki aşamalı giriş.
Protokol ve güvenlik
Her oturum için PBKDF2-HMAC-SHA256 ile türetilen anahtar üzerinden AES-256-GCM kullanılıyor; nonce sayaç tabanlı. Mesajlar msgpack ile serileştiriliyor. Bilgi işlem ekibi için Ed25519 cihaz anahtarına dayalı şifresiz yönetici erişimi var; hesap bazında yetkiler (tam kontrol, yalnızca izleme, dosya, pano) ayrı ayrı tanımlanıyor.
Kilit ekranı, oturum açma ekranı ve UAC istemine müdahale edebilmek için SYSTEM hizmeti ve güvenli masaüstü ajanı ayrı süreçler olarak çalışıyor; Ctrl+Alt+Del uzaktan gönderilebiliyor. Gizli bilgiler Windows DPAPI ile saklanıyor.
Öne çıkan özellikler
- NAT arkasından relay üzerinden, aynı ağda IP ile doğrudan bağlantı
- Yalnızca değişen ekran bölgelerinin gönderimi, çoklu monitör, kalite ve çözünürlük ayarı; 1080p ekranda tipik tüketim 20–100 KB/s
- İki yönlü pano (metin, görüntü, dosya), sürükle-bırak dosya aktarımı, uzak dosya gezgini, oturum içi sohbet, ikinci uzman daveti
- Kaynak izleme ve eşik uyarıları; donanım envanteri, disk sağlığı ve sıcaklık
- Veri koruma modülü: TC kimlik, IBAN ve kart numarası kalıpları, anahtar sözcük ve uzantı denetimi, USB olay kaydı; izle / uyar / engelle kipleri
- Pasif ağ haritası, Wake-on-LAN, şube IP kameralarından anlık görüntü
- Bilgi işlem talep yönetimi: SLA, durum akışı, oturumların talebe işlenmesi
- Teams ve e-posta uyarıları, haftalık rapor, CSV dışa aktarım


Dağıtım ve güncelleme
Tek dosya PyInstaller paketi ve Inno Setup kurulum sihirbazı; sessiz kurulum ve grup ilkesi ile dağıtım destekleniyor. Güncellemeler imzalı: istemci HTTPS üzerinden sertifika sabitlemeli manifest okuyor, paketin Authenticode parmak izini doğruluyor ve yönetici onayı gerektirmeden kendini yeniliyor. Eski işletim sistemleri için ayrı derleme kanalı var. Relay, Linux üzerinde systemd hizmeti olarak çalışıyor; CI'da pyflakes ve pytest koşuyor.
Sayılarla
- Kısa sürede 40'ın üzerinde sürüm; sahadan gelen geri bildirimle hızlı döngü
- 27 istemci modülü, yaklaşık 20 bin satır kod
- 300'ün üzerinde otomatik test
- 33 sayfalık ürün kataloğu ve yönetici sunumu
Geliştirme süreci
Yapay zekâ ajanları desteğiyle geliştirdim; arayüz, backend, masaüstü görüntü, veri koruma ve uyum denetimi için ayrı ajan rolleri tanımladım. Ürün kararları ve sahadaki doğrulama bende kaldı. Her sürüm değişiklik günlüğüne işlendi, güvenliği etkileyen kararlar uyum denetçisi rolünden geçti.