# Hesabım ve hesap güvenliği

Kaynak: <https://deckpa.com/docs/account-security>

> Hesabım sayfası parolanızı, iki adımlı doğrulamanızı, kurtarma kodlarınızı ve açık oturumlarınızı bir arada toplar. Giriş kilidi ve engeller sunucu tarafında çalışır.

## Parola kuralları

Parola kuralı kurulumda, **Kullanıcılar** sayfasında ve **Hesabım** sayfasında aynıdır: en az **12 karakter**, en az bir harf ve en az bir rakam. Harf olarak yalnızca `a-z` ve `A-Z` sayılır; yalnızca Türkçe harflerden ve rakamlardan oluşan bir parola kabul edilmez.

Parolanızı değiştirmek için **Hesabım → Parola değiştir** bölümünde mevcut parolanızı, yeni parolanızı ve tekrarını yazın, sonra **Parolayı güncelle** düğmesine basın. Başarılı olursa bu cihaz dışındaki bütün oturumlar ve açık phpMyAdmin ile OLS konsol oturumları kapanır. Çalınmış bir oturum, parola değişince geçersiz olur.

Parolalar düz metin olarak saklanmaz; argon2id ile özetlenir. Aynı sayfada **Ad soyad**, **Arayüz dili** ve profil fotoğrafı da değiştirilebilir. Fotoğraf tarayıcınızda 256×256 kareye kırpılıp WebP'ye çevrilir; sunucuya yalnızca küçültülmüş hâli gönderilir.

## İki adımlı doğrulama

İki adımlı doğrulama isteğe bağlıdır; panel bunu zorunlu tutmaz. Açıkken, parolanızı bilen biri bile kimlik doğrulayıcı uygulamanızdaki kodu girmeden giriş yapamaz. Yönetici hesapları için açık tutmanızı öneririz.

Açmak için **Hesabım → İki adımlı doğrulama → İki adımlı doğrulamayı aç** yolunu izleyin:

- Ekrandaki QR kodunu kimlik doğrulayıcı uygulamanıza okutun ya da gösterilen anahtarı elle girin. Kodlar Google Authenticator ile uyumludur: 6 haneli ve 30 saniyede bir değişir.
- Uygulamanın ürettiği 6 haneli kodu **Doğrulama kodu** alanına yazıp **Kodu doğrula ve kaydet** düğmesine basın.
- Kaydettiğinizde [kurtarma kodlarınız](https://deckpa.com/docs/account-security#recovery) bir kez gösterilir; hemen saklayın.

Açıldıktan sonra giriş iki adımda yapılır. Önce kullanıcı adı ve parola, ardından **İki adımlı doğrulama** ekranında uygulamadaki kod ya da bir kurtarma kodu istenir. Parola doğrulandıktan sonra kodu girmek için 5 dakikanız vardır; bu süre dolarsa giriş baştan başlar. Telefonunuzun saati birkaç on saniye kayık olsa da kod kabul edilir: panel bir önceki ve bir sonraki 30 saniyelik kodu da geçerli sayar.

Korumayı zayıflatan işlemler parolanızı yeniden ister: **İki adımlı doğrulamayı kapat**, **Yeniden kur (yeni anahtar)** ve **Yeni kodlar üret**. Açık unutulmuş bir oturumu ele geçiren biri bu yüzden korumayı parolanızı bilmeden sökemez. Doğrulamayı ilk kez açmak parola istemez. Kapattığınızda kurtarma kodlarınız da silinir; yeniden kurduğunuzda eski anahtar ve eski kodlar geçersiz olur.

> Panelde passkey desteği yoktur; ikinci adım yalnızca kimlik doğrulayıcı uygulamasındaki kod ve kurtarma kodlarıdır. Yöneticiler, **Kullanıcılar** sayfasındaki **2FA** sütunundan hangi hesaplarda doğrulamanın açık olduğunu görür.

## Kurtarma kodları

İki adımlı doğrulama açıldığında 10 kurtarma kodu verilir. Kodlar `ABCD-EFGH-JKMN-PQRS` biçiminde dörder karakterlik gruplardır. Her kod yalnızca bir kez kullanılabilir. Telefonunuza ulaşamıyorsanız giriş ekranındaki **Telefonuma ulaşamıyorum, kurtarma kodu kullanacağım** bağlantısıyla kodu yazın.

- **Kaç kodun kaldığı** **Hesabım** sayfasında "10 / 10 kurtarma kodu kullanılmamış durumda" biçiminde görünür.
- **Yeni kodlar üret** mevcut bütün kodları geçersiz kılar ve yerine 10 yeni kod verir. Eski kodları not ettiğiniz yerden silin.
- Panel kodların yalnızca özetini saklar. Bir kodu kaybederseniz sunucudan geri alınamaz; yeni küme üretmeniz gerekir.

Hem telefonunuza hem kodlarınıza ulaşamıyorsanız hesabın doğrulaması sunucuda sıfırlanır. Başka bir kullanıcının doğrulamasını sıfırlayan bir düğme panelde yoktur; bunu sunucuya SSH ile root olarak bağlanan yönetici yapar:

```bash
deckpa list-users
deckpa disable-2fa ahmet
deckpa reset-user ahmet
```

`list-users` kullanıcıları, askı durumunu ve doğrulamanın açık olup olmadığını listeler. `disable-2fa` doğrulamayı tamamen kapatır ve kurtarma kodlarını siler; kullanıcı yalnızca parolayla girer ve isterse Hesabım'dan yeniden açar. `reset-user` yeni parolayı iki kez sorar (en az 12 karakter), kullanıcının açık oturumlarını kapatır ve isterseniz yeni bir doğrulama anahtarı üretir. Parolasını unutan yönetici için sunucudaki yol da `reset-user` komutudur.

## Oturumlar

- **Süre** — bir oturum 12 saat sürer. Çerez yalnızca HTTPS üzerinden gönderilir, betikler tarafından okunamaz ve başka sitelerden gelen isteklerde gönderilmez.
- **IP adresine bağlılık** — oturum, açıldığı IP adresine bağlıdır. Adresiniz değişirse (örneğin VPN açarsanız ya da mobil ağa geçerseniz) oturum reddedilir ve yeniden giriş yaparsınız.
- **Diğer oturumları kapat** — **Hesabım → Oturumlar** bölümündeki düğme bu cihaz dışındaki bütün oturumları kapatır. Unuttuğunuz bir bilgisayarda panel açık kaldıysa önce bunu kullanın.
- **Çıkış** — çıkış yaptığınızda açık phpMyAdmin ve OLS konsol oturumlarınız da kapanır.
- **Destek girişleri** — bir yönetici ya da bayi desteğe yardımcı olmak için hesabınıza girdiyse, kimin ne zaman girdiği **Hesabım** sayfasında listelenir. Açık bir girişi **Kapat** ile hemen sonlandırabilirsiniz (bkz. [Kullanıcılar](https://deckpa.com/docs/users)).

## Giriş kilidi ve engeller

Aynı kullanıcı adı ve aynı IP adresi çifti 15 dakika içinde 5 kez başarısız olursa giriş "Çok fazla deneme yapıldı. 15 dakika sonra tekrar deneyin." iletisiyle kilitlenir. Üç şeyi bilmek yararlıdır:

- Parola denemeleri ve iki adımlı kod denemeleri aynı sayacı paylaşır; 6 haneli kodu art arda deneyen biri de aynı sınıra takılır.
- Sayaç kullanıcı adı ile IP adresinin birleşimine bağlıdır. Başka bir adresten yapılan denemeler sizin hesabınızı kilitlemez.
- Parola adımındaki hata hangi alanın yanlış olduğunu söylemez; ileti her zaman "Kullanıcı adı veya parola hatalı." olur.

Kilit 15 dakika sonra kendiliğinden kalkar. Beklemek istemiyorsanız yönetici sunucuda kilidi kaldırır. Sunucu da başarısız girişleri sistem günlüğüne yazar ve fail2ban aynı IP adresinden 10 dakikada 5 başarısız girişi görürse adresi 1 saat engeller. Engellenen bir adresi yönetici kaldırabilir:

```bash
deckpa unlock ahmet
deckpa bans
deckpa unban 203.0.113.10
```

`unlock` kullanıcının giriş kilidini kaldırır. `bans` panel ve SSH için engelli adresleri gösterir, `unban` bir adresin engelini kaldırır; adres yazmazsanız bütün engeller kalkar.

> Yöneticiler ek katmanlar da açabilir: **Ağ & Erişim** sayfasında panele yalnızca belirli IP adreslerinin erişmesini sağlayan izin listesi ve **Ayarlar**'da panelin `/login` yerine kendi belirlediğiniz bir adresten açılması. İzin listesinde kendi adresinizi unutursanız sunucuda `deckpa clear-allowlist` komutu listeyi temizler.
