SunucuKontrol — Sunucu Yönetim Paneli

Sürüm notu

SunucuKontrol 1.109.1

SunucuKontrol 1.109.1 (8 Kasım 2026) sürümünde 14 değişiklik var: Çöpten geri getirilen PostgreSQL veritabanı yalnız sahibine açık, Çöp kutusu (PostgreSQL, MongoDB) ekip üyesinin alan adı kısıtına uyuyor, Alan adı devrinde eski sahibin bildirim kanalı ve ayarları yeni sahibe geçmiyor.

Yayın tarihi
8 Kasım 2026
Yenilik
0
Güvenlik
6
Düzeltme
8

Ayrıntılı anlatım

# SunucuKontrol 1.109.1

1.109.1, 8 Kasım 2026'daki ikinci iç denetimde bulunan 33 sorunu gideriyor. Denetim, aynı gün yayınlanan 1.109.0'ın yeni özelliklerine (veritabanı çöp kutusu, değişiklik nöbeti, alan adı bildirim kanalı, arama motoru denetimi, şema karşılaştırması) ve 1.108.1'in düzeltmelerine odaklandı. Canlı sunucularda kendiliğinden tetiklenen bir sorun bulunmadı; en önemli sorun, PostgreSQL veritabanı çöp kutusundan geri getirildiğinde ortaya çıkıyordu ve bu sürümle kapandı.

Bu sürüm kimin işine yarar?

  • PostgreSQL ya da MongoDB veritabanlarını panelden silen ve geri getiren müşteriler ve yöneticiler.
  • Alan adı devri yapan barındırma firmaları.
  • Git ile yayın yapıp pull request önizlemesi kullananlar.
  • Ekip üyelerine yalnız belirli alan adları için yetki veren hesap sahipleri.
  • Sunucular arası site taşıma ya da rakip panelden göç yapan yöneticiler.

Veritabanı çöp kutusu

Geri getirilen PostgreSQL veritabanı yalnız sahibine açık. Panelden yeni açılan PostgreSQL veritabanları, sunucudaki diğer müşterilerin bağlanamayacağı biçimde kuruluyor. Çöp kutusundan geri getirilen veritabanında bu kısıt uygulanmıyordu: sunucudaki herhangi bir PostgreSQL kullanıcısı geri getirilen veritabanına bağlanıp tablo adlarını görebiliyordu. Artık geri getirme de aynı kısıtla yapılıyor. Tam sunucu geri yüklemesinde yeniden açılan PostgreSQL veritabanları da aynı kısıtı alıyor.

Daha önce bir PostgreSQL veritabanını çöpten geri getirdiyseniz, yöneticiniz şu sorguyla kontrol edebilir: SELECT datname, datacl FROM pg_database; — erişim listesinde =c/ görünen veritabanında REVOKE CONNECT ON DATABASE "<ad>" FROM PUBLIC; çalıştırılmalı.

Ekip üyesinin alan adı kısıtı çöp kutusunda da geçerli. Yalnız belirli alan adlarına yetkili bir ekip üyesi, hesabın diğer alan adlarına bağlı silinmiş veritabanlarını listede görebiliyor ve geri getirebiliyordu. Artık yalnız kendi alan adlarının kayıtlarını görüyor.

Geri getirme kuralları açılışla aynı. Geri getirme yeni bir veritabanı açmak sayıldığı için paketteki veritabanı sayısı sınırı uygulanıyor. Silme ile geri getirme arasında alan adı başka bir hesaba geçtiyse veritabanı o alan adına bağlanmıyor. Veritabanının eski sahibi olan PostgreSQL kullanıcısı arada başka bir hesaba ait olduysa geri getirme yapılmıyor; aynı adla kendi hesabınızda kullanıcı açtığınızda geri getirebilirsiniz.

Sahipsiz veritabanı da geri gelir. Panelde sahip seçmeden açılan PostgreSQL veritabanı çöpe atılabiliyor ama geri getirilemiyordu; yedi gün sonra kalıcı siliniyordu. Artık geri getirildiğinde yeni, giriş yapamayan bir sahip kullanıcıyla kuruluyor; sonra istediğiniz kullanıcıya yetki verebilirsiniz.

Çöp kutusu diski doldurmuyor. Her silmede veritabanının tam kopyası çöp kutusuna yazılıyor. Bu kopyalar hesabın disk kotasına sayılmadığı için, sürekli silip yeniden açılan bir veritabanı sunucunun diskini doldurabiliyordu. Artık silmeden önce diskte yeterli boş alan aranıyor (yoksa silme yapılmıyor ve bunu söylüyor) ve hesap başına çöp kutusu toplamı sınırlı: sınır aşılırsa o hesabın en eski çöp kaydı düşürülüyor. Sınır varsayılan olarak hesap başına 20 GB.

Alan adı devri

Alan adı başka bir hesaba devredildiğinde eski sahibin alan adı ayarları yerinde kalıyordu: bildirim kanalı (ntfy, Telegram, webhook), bildirim tercihleri, değişiklik kilidi ve önbelleğe alınmış ölçümler. Bu yüzden yeni sahibin kesinti, SSL, DNS ve değişiklik bildirimleri eski sahibin kanalına gidebiliyor, yeni sahip de eski sahibin kanal adresini görebiliyordu. Artık devirde bu ayarlar siliniyor; yeni sahip kendi kanalını tanımlıyor. Süreli WAF izleme kipi ve tarama hakkı sitenin durumu olduğu için korunuyor.

Git PR önizlemesi

1.108.1'de PR önizlemesi "yalnız imzalı webhook ile açılır" hâle getirilmişti, ancak imza da webhook adresindeki belirteçle atılıyordu. Adresi bilen biri aynı belirteçle imzalı sahte bir istek üretebileceği için bu koruma bir şey katmıyordu.

Artık Git ayarlarında webhook adresinin altında ayrı bir Webhook Secret gösteriliyor. Bu değer adreste geçmiyor. PR önizlemesi yalnız bu sırla imzalanmış istekle açılıyor.

Yapmanız gereken: PR önizlemesi kullanıyorsanız depo ayarlarınızda webhook'un Secret alanına (GitLab'da Secret token) yeni değeri girin. Panelden "depoya bağla" ile kurulan webhook'lar yeniden bağlandığında bu değerle kurulur. Push ile otomatik yayın eski ayarla çalışmaya devam ediyor; yalnız PR önizlemesi yeni değeri istiyor.

Değişiklik nöbeti

  • Reddedilen bir işlem (örneğin erişiminiz olmayan bir siteyi toplu güncelleme listesine eklemek) artık o sitenin nöbetini açmıyor. Daha önce bu yolla başka bir sitenin süren nöbeti sıfırlanabiliyordu.
  • Adres yönlendirme kuralında yönlendirmenin hedefi değil kuralın eklendiği site, test kopyasından canlıya aktarımda canlı site izleniyor.
  • Değişiklikten önceki 30 dakikanın trafiği ölçülemediyse (çok yoğun ya da çok sessiz site) "değişiklik siteyi bozdu" bildirimi gitmiyor; eskiden zaten hatalı çalışan bir site yanlış bildirim alabiliyordu.
  • Aynı anda yapılan çok sayıda değişiklikten bazıları nöbetsiz kalmıyor; geri alınan değişikliğin "geri alındı" işareti kaybolmuyor.

Diğer düzeltmeler

  • Disk uyarısı hesabın tüm alan adlarının toplam kullanımına ve ek pakete göre hesaplanıyor; posta "hesabın disk kotası %X dolu" diyor ve hesap başına bir kez gidiyor.
  • Site karnesi, ilk ölçümden beri arama motorlarına kapalı olan (test kopyası, özel site gibi bilerek kapatılmış) siteyi kritik değil bilgi olarak gösteriyor. Açıkken kapanan site için uyarı aynen sürüyor.
  • Kesinti izleme gecikmiyor: arama motoru denetimi ve bildirim kanalı gönderimi her turda bir süre sınırına bağlı. Yavaş yanıt veren bir site ya da bildirim adresi diğer sitelerin kesinti izlemesini geciktiremiyor.
  • Alan adı hesabı (yalnız tek alan adına giriş yapan kullanıcı) bildirim kanalının adresini ve Telegram sohbet kimliğini görmüyor; yalnız kanalın türünü ve tanımlı olup olmadığını görüyor.
  • Sunucular arası taşıma: tetikleyici ya da saklı işlev içeren bir veritabanında, hedef sunucu bunları kısıtlı yetkiyle kuramıyorsa iş artık hiçbir tabloya dokunmadan duruyor ve veritabanının tam kopya ya da yedek geri yükleme ile taşınmasını öneriyor. Eskiden tablolar değiştirilip ilk tetikleyicide duruluyor, hedef veritabanı tetikleyicisiz kalıyordu. Veri içinde geçen "DEFINER" metni de artık değiştirilmiyor.
  • Panel Göçü: kaynak sunucudan gelen envanterin açılmış boyut sınırı, arşivdeki dosya sahibi adına boşluk konarak atlatılamıyor. Geçersiz kaynak bilgisiyle başlayan göç süresiz "sürüyor" görünmüyor; başlar başlamaz iptal edilen göç gerçekten duruyor ve "iptal edildi" durumu korunuyor.
  • "Postam neden gelmedi?" ekranı spam olarak reddedilen gelen postayı yeniden gösteriyor (1.108.1'deki gizlilik düzeltmesi bunu gizliyordu). Başka alıcıların teslim ayrıntısı gizli kalmaya devam ediyor.
  • Paylaşılmış posta klasörü izni silinemezse kaydı korunuyor, site silme raporunda kalıntı olarak bildiriliyor; eskiden kayıt silinip izin yerinde kalıyordu.
  • Alt alan adının posta ve otomatik DNS kayıtları kaldırılırken bir hata olursa, kayıtların listesi korunuyor ve bir sonraki denemede yeniden deneniyor.
  • Şema karşılaştırması, üretilmiş (GENERATED) sütunlar ve ifadeli varsayılan değerler için çalıştırılabilir ama yanlış SQL önermiyor; bunları elle uygulanacak diye işaretliyor. NULL kabul eden bir sütunu NOT NULL yapan değişiklik "tehlikeli" işaretleniyor.
  • Kota politikası: yönetici "kota aşımında askıya al" kuralını açtıysa, bayi kendi müşterisi için "yazmayı kısıtla" seçerek de askıyı kapatamıyor. Yöneticinin kendi müşterisine tanıdığı muafiyet aynen sürüyor.
  • Süreli erişim bileti: süresi dolan geliştiricinin oturumunun yanında API anahtarı da artık çalışmıyor.
  • Müşteri giriş geçmişi: aynı kullanıcı adını daha önce taşımış silinmiş bir hesabın giriş zamanları ve IP adresleri görünmüyor.
  • Karşılama postası: yeni müşteriye giden postadaki panel bağlantısı, hesabı açanın tarayıcısının bildirdiği adresten değil panelin kendi adresinden kuruluyor.
  • Yeniden adlandırma: hedef adda önceden silinmiş bir siteden kalmış PHP ayar dosyası varsa yeniden adlandırma artık yarıda kalmıyor; aynı adla yeni açılan siteye de eski sitenin PHP ortam değişkenleri geçmiyor.
  • Site silmede PR önizleme kopyaları silinemezse silme yapılmıyor ve bunu söylüyor (yeniden adlandırmadaki gibi).

Sınırlar

  • Çöp kutusu hesap sınırı sunucu genelinde SK_DBCOP_HESAP_TAVAN_MB ortam değişkeniyle değiştirilebilir; panelde ayar ekranı yok.
  • Tetikleyicili veritabanının sunucular arası fark aktarımı, hedef MySQL'de ikili günlük açık ve log_bin_trust_function_creators kapalıyken (varsayılan) yapılamıyor; bu veritabanları tam kopya ile taşınmalı.

Değişiklik listesi

Panelde Panel Yönetimi → Panel Güncellemesi ekranında gösterilen sürüm notunun tamamı:

Güvenlik

  • Çöpten geri getirilen PostgreSQL veritabanı yalnız sahibine açık. Geri getirilen veritabanına sunucudaki diğer PostgreSQL kullanıcıları da bağlanabiliyordu; artık yeni açılan veritabanıyla aynı kısıtla kuruluyor. Tam sunucu geri yüklemesinde yeniden açılan veritabanları da aynı kısıtı alıyor.
  • Çöp kutusu (PostgreSQL, MongoDB) ekip üyesinin alan adı kısıtına uyuyor. Yalnız belirli alan adlarına yetkili ekip üyesi, diğer alan adlarının silinmiş veritabanlarını göremiyor ve geri getiremiyor. Geri getirme veritabanı sayısı sınırını sayıyor; veritabanı, arada başka hesaba geçmiş bir alan adına ya da başka hesabın kullanıcısına bağlanmıyor.
  • Alan adı devrinde eski sahibin bildirim kanalı ve ayarları yeni sahibe geçmiyor. Devredilen alan adının kesinti, SSL, DNS ve değişiklik bildirimleri eski sahibin ntfy/Telegram/webhook kanalına gidebiliyordu.
  • Git PR önizlemesi için ayrı imza sırrı. Git ayarlarında artık bir Webhook Secret gösteriliyor; PR önizlemesi yalnız bu sırla imzalanmış istekle açılıyor (webhook adresindeki belirteç yetmiyor). Önizleme kullanıyorsanız depo ayarındaki Secret alanına bu yeni değeri girin; push ile dağıtım eski ayarla çalışmaya devam ediyor.
  • Süreli erişim biletinin süresi dolan geliştiricinin API anahtarı da artık çalışmıyor. Müşteri giriş geçmişi, aynı adı daha önce taşımış silinmiş bir hesabın girişlerini göstermiyor. Karşılama postasındaki panel bağlantısı panelin kendi adresinden kuruluyor.
  • Silinen bir sitenin PHP ayar dosyası kalmışsa, aynı adla açılan yeni siteye geçmiyor; yeniden adlandırma bu yüzden yarıda kalmıyor.

Düzeltmeler

  • Çöp kutusu diski doldurmuyor: silmeden önce yeterli boş alan aranıyor, hesap başına çöp toplamı sınırlı (en eski kayıt düşürülüyor). Panelde sahip seçmeden açılan PostgreSQL veritabanı da artık çöpten geri getirilebiliyor.
  • Değişiklik nöbeti: reddedilen bir işlem başka bir sitenin nöbetini açmıyor; yönlendirme kuralında hedef değil kuralın sitesi, test kopyası aktarımında canlı site izleniyor; değişiklikten önceki trafik ölçülemediyse "site bozuldu" denmiyor; geri alma işareti kaybolmuyor.
  • Disk uyarısı hesabın toplam kullanımını ve ek paketi sayıyor. Arama motorlarına bilerek kapatılmış (ilk ölçümden beri kapalı) site karnede kritik görünmüyor. Yavaş bir site ya da bildirim adresi kesinti izlemesini geciktirmiyor.
  • Sunucular arası taşıma: tetikleyici ya da saklı işlev içeren veritabanında hedef kısıtlı yetkiyle bunları kuramıyorsa iş hiçbir tabloya dokunmadan duruyor (eskiden tablolar değişip tetikleyiciler kayboluyordu); veri içindeki "DEFINER" metni değiştirilmiyor.
  • Göç envanterinin boyut sınırı atlatılamıyor. Geçersiz kaynak bilgisiyle başlayan göç "sürüyor" görünmüyor; erken iptal edilen göç gerçekten duruyor.
  • "Postam neden gelmedi?" ekranı spam olarak reddedilen gelen postayı yeniden gösteriyor. Paylaşılmış posta klasörü izinleri silinemezse kaydı korunuyor ve kalıntı olarak bildiriliyor. Alt alan adının posta DNS kayıtları kaldırılamazsa bir sonraki denemede yeniden deneniyor.
  • Şema karşılaştırması, üretilmiş sütun ve ifade varsayılanı için çalıştırılabilir yanlış SQL önermiyor; NULL'dan NOT NULL'a geçişi tehlikeli işaretliyor.
  • Bayi, yöneticinin "kota aşımında askıya al" kuralını "yazmayı kısıtla" seçerek de kapatamıyor.

Bu sürüme nasıl geçilir?

Panelde Panel Yönetimi → Panel Güncellemesi ekranında Güncellemeyi Denetle deyin; sürüm numarasının yanında bu sayfadaki notlar görünür. Kurulum tek tıktır ya da gece kendiliğinden yapılabilir. Paket, yayıncının RSA-4096 anahtarıyla imzalanmış bir manifestle gelir; imza doğrulanmazsa kurulum başlamaz, kurulum sonrası sağlık denetimi geçmezse panel önceki sürüme kendiliğinden döner. Güncelleme için lisansın geçerli olması gerekir; süresi dolmuş lisansta panel ve siteler çalışmaya devam eder.

Kendi sunucunuzda deneyin.Üyelikte ödeme istenmez; e-postanızı doğruladığınızda 1 yıllık lisans kodunuz açılır.