İçeriğe geç

Güven Merkezi · Altyapı

Altyapı ve işletim

Kasanız uçtan uca şifreli olsa da sunucuları ciddiye alıyoruz: hesap bilgileriniz, üst veri ve hizmetin sürekliliği bu katmanlara bağlı.

Veriler nerede?

Türkiye'de dört veri merkezi

Sunucularımız ve şifreli yedeklerimiz Türkiye'deki dört veri merkezine dağıtılmıştır: Datacasa, Mars Datacenter, Equinix ve PenDC. Veritabanı ve kayıtlar Türkiye'de tutulur ve KVKK'ya uygun şekilde işlenir.

  • Datacasa
  • Mars Datacenter
  • Equinix
  • PenDC

Ayrıca şifreli yedeğin bir kopyası yurt dışındaki bir depolama sağlayıcısında tutulur. Yedek sunucudan çıkmadan önce şifrelenir ve sağlayıcı tarafından okunamaz; bu aktarım Gizlilik Politikası'nda ve KVKK Aydınlatma Metni'nde açıklanmıştır.

Bir isteğin yolu

Tarayıcıdan veritabanına ve yedeğe katmanlar

Yedekler

  • Günlük ve şifreli

    Veritabanı her gece yedeklenir ve sunucuda bir genel anahtara (age) şifrelenir. Sunucuda yedeği açabilecek anahtar bulunmaz; ele geçirilmiş bir sunucu bile eski yedekleri okuyamaz.

  • Özel anahtar çevrimdışı

    Geri yükleme için gereken özel anahtar yalnızca hizmet sahibinde, çevrimdışı tutulur.

  • Şifreli uzak kopya

    Şifreli yedeğin bir kopyası ayrı bir depolama sağlayıcısına yalnızca şifreli bağlantıyla aktarılır; şifresiz FTP'ye kopyalama yazılımda reddedilir. Eski yedekler belirli bir süre sonra otomatik silinir.

  • Geri yükleme testi

    Geri yükleme testi yedeği geçici bir veritabanına açar; şemanın, satır sayılarının, veritabanı yetkilerinin ve satır düzeyi güvenliğin geri geldiğini doğrular. Üretim veritabanına dokunmaz.

Yedekler günlük alındığı için en kötü durumda son yedekten sonraki değişiklikler kaybolabilir (kurtarma noktası hedefi 24 saat). Kasanızın bir kopyası ayrıca oturum açtığınız cihazlarda şifreli olarak durur.

Erişim ve yalıtım

  • En az ayrıcalık

    API veritabanına tablo sahibi olmayan, ayrıcalıksız bir rolle bağlanır. PostgreSQL satır düzeyi güvenliği, uygulamanın kendi yetki denetimlerinin arkasında ikinci savunma hattı olarak kuruluşları birbirinden ayırır.

  • Sertleştirilmiş kapsayıcılar

    Hizmetler ayrı kapsayıcılarda, yetki yükseltme kapalı ve Linux yetenekleri düşürülmüş olarak çalışır; API kapsayıcısının dosya sistemi salt okunurdur. Veritabanı ve Redis dış ağa kapalı bir iç ağdadır.

  • Tek giriş noktası

    Dışarıya yalnızca TLS'i sonlandıran ters vekil açıktır. Ödeme sayfası için kasa çerezlerinin ulaşmadığı ayrı bir köken kullanılır.

  • Sırlar loglanmaz

    Ters vekilin erişim logu kapalıdır; istek gövdeleri, jetonlar ve şifreli veriler uygulama loglarına yazılmaz. Denetim kayıtlarındaki IP adresleri maskelenir (IPv4 /24, IPv6 /48).

  • Operatör erişimi

    Operatör paneli yalnızca tanımlı personel hesaplarına açıktır; değiştiren her işlem ana parola ve ikinci faktörle yeniden doğrulama ister ve ayrı bir operatör denetim kaydına yazılır. Operatörler de kasa içeriğini göremez.

  • Hız sınırları

    Giriş, kayıt, kurtarma ve ikinci adım denemeleri IP adresi ve hesap başına sınırlandırılır; yanıtlar bir hesabın var olup olmadığını açığa vurmaz.

İzleme ve bakım

  • Sürekli izleme

    Hizmet sağlığı, TLS sertifikasının kalan süresi, disk doluluğu ve hem yerel hem uzak yedeğin tazeliği birkaç dakikada bir denetlenir; durum değişince e-posta uyarısı gider.

  • Test edilmiş değişiklikler

    Değişiklikler yayına alınmadan önce lint, tip denetimi, birim testleri ve uçtan uca testlerden geçer. Kripto biçimi dondurulmuş test vektörleriyle korunur.

  • Güncellemeler

    Kapsayıcılar resmi temel imajlardan (PostgreSQL 16, Redis 7, Caddy 2) yeniden derlenerek güncellenir; TLS sertifikaları otomatik yenilenir. Uygulama sürümü her derlemeye gömülür.

Tarayıcı güvenlik başlıkları

Her yanıtta gönderilen başlıklar. Tarayıcınızın geliştirici araçlarında kendiniz görebilirsiniz.

  • Strict-Transport-Security

    max-age=63072000; includeSubDomains; preload

    Tarayıcıyı iki yıl boyunca yalnızca HTTPS kullanmaya zorlar; alt alan adlarını kapsar ve HSTS ön yükleme listesine uygundur.

  • Content-Security-Policy

    default-src 'self'; script-src 'self' 'nonce-…' 'strict-dynamic' 'wasm-unsafe-eval'; style-src 'self' 'nonce-…'; img-src 'self' data: blob:; font-src 'self'; connect-src 'self' https://api.pwnedpasswords.com/range/; worker-src 'self' blob:; manifest-src 'self'; object-src 'none'; base-uri 'none'; form-action 'self'; frame-ancestors 'none'; frame-src 'none'

    Her istekte yeni bir nonce: yalnızca bizim sunduğumuz betikler ve stiller çalışır. Üçüncü taraf betik, yazı tipi veya bağlantı kökeni yoktur; sayfa başka sitelere gömülemez (frame-ancestors 'none').

  • Cross-Origin-Opener-Policy

    same-origin

    Sayfayı başka sitelerin açtığı pencerelerden yalıtır.

  • X-Frame-Options

    DENY

    Eski tarayıcılarda da çerçeveye gömülmeyi engeller.

  • X-Content-Type-Options

    nosniff

    Tarayıcının içerik türünü tahmin etmesini engeller.

  • Referrer-Policy

    no-referrer

    Başka sitelere giden isteklerde adres bilgisi gönderilmez.

  • Permissions-Policy

    camera=(self), display-capture=(self), microphone=(), geolocation=(), payment=(), usb=()

    Kamera ve ekran paylaşımı yalnızca kendi kökenimize açıktır (QR kodu tarama); mikrofon, konum, ödeme ve USB kapalıdır.

  • Set-Cookie (mgv_refresh)

    HttpOnly; Secure; SameSite=Strict; Path=/api/auth

    Oturum yenileme çerezi JavaScript'e kapalıdır, yalnızca HTTPS üzerinden ve yalnızca aynı siteden gönderilir.

İstek başına nonce kullanan sıkı bir İçerik Güvenliği Politikası (CSP). Üçüncü taraf betik, yazı tipi, izleyici veya analitik yok.

Hemen başlayın

Kasanızı bir dakikadan kısa sürede oluşturun

Kişisel kullanım ücretsiz. Anahtarlarınız cihazınızda — şu anda, tarayıcınızda — oluşturulur.