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
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; preloadTarayı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-originSayfayı başka sitelerin açtığı pencerelerden yalıtır.
X-Frame-Options
DENYEski tarayıcılarda da çerçeveye gömülmeyi engeller.
X-Content-Type-Options
nosniffTarayıcının içerik türünü tahmin etmesini engeller.
Referrer-Policy
no-referrerBaş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/authOturum 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.