Docker ile Bitwarden’ı Kendi Sunucunuzda Barındırın: Eksiksiz Kurulum Rehberi
İlk sunucu kurulumundan yapılandırmaya, güncellemelere ve yaygın sorun gidermeye kadar, Bitwarden parola kasanızı Docker ile kendi sunucunuzda çalıştırmaya yönelik pratik bir rehber.
Bu yazıda, yeni kurulmuş bir Ubuntu sunucusunda Docker ile Bitwarden kurulumunu, Let's Encrypt ile HTTPS yapılandırmasını ve yaygın kurulum sorunlarını nasıl ele alacağınızı adım adım göstereceğim.
Docker’a yeni başlıyorsanız, işe koyulmadan önce temel kavramları öğrenmek için Introduction to Docker veya Intermediate Docker kurslarımıza kaydolmanız daha iyi olur — birden fazla konteyner kurulumunu yönetmeden önce temelleri öğrenin.
Bitwarden’ın Docker Dağıtımı Nedir?
Bitwarden’ın resmiDocker tabanlı kurulumu, bir parola yöneticisini kendi koşullarınızda çalıştırmanızı sağlar.
Tek yapmanız gereken bir kurulum betiğini çalıştırmak. Veritabanlarını, web sunucularını elle kurmanıza veya herhangi bir kod yazmanıza gerek yok. Docker, önceden yapılandırılmış konteynerleri çeker, aralarındaki ağı kurar ve her şeyi çalışır hale getirir. Güncellemeler de aynı şekilde çalışır — güncelleme betiğini çalıştırın, gerisini Docker halleder.
Bitwarden’ın Docker kurulumu birlikte çalışan birden çok konteyner olarak çalışır. Kullanıcı arayüzü için bir web kasası konteyneri, istekleri işlemek için bir API konteyneri, şifreli kasa verilerini depolamak için bir veritabanı konteyneri ve ekler ile simgeler için destekleyici servisler elde edersiniz. Docker Compose, bu konteynerlerin birbirleriyle iletişim kurmasını sağlar.
Her şey sizin için önceden yapılandırılmıştır.
Bu çok konteynerli yaklaşım, her bileşenin yalıtılmış çalışması anlamına gelir. Veritabanını değiştirmek isterseniz, web arayüzüne dokunmadan yalnızca o konteyneri yeniden başlatabilirsiniz. Günlükleri kontrol etmek isterseniz, her servisin kendi günlük akışı vardır.
Resmi dağıtım, her şeyi tek bir yapılandırma dosyası üzerinden yönetmek için Docker Compose kullanır; bu da sistemi geleneksel sunucu kurulumlarına kıyasla anlamayı ve bakımını daha kolay hale getirir.
Docker ile Bitwarden’ı Çalıştırmadan Önce Gereksinimler
Bitwarden’ı çalıştırmadan önce birkaç şeye ihtiyacınız var, ancak hiçbiri kurumsal donanım ya da karmaşık kurulumlar gerektirmez.
Bir Linux sunucusu veya VM ile başlayın. Ubuntu Server fazlasıyla yeterlidir. AWS, DigitalOcean veya Linode’dan bir bulut sunucusu kullanabilirsiniz. 2GB RAM ve 20GB depolamaya sahip temel bir örnek, kişisel kullanım veya küçük ekipler için Bitwarden’ı çalıştırmaya yeter.
Docker ve Docker Compose gerçek kurulumu gerçekleştirir. Docker Desktop değil, Docker Engine’i ve Docker Compose’u ayrı paketler olarak kuracaksınız. Çoğu Linux dağıtımı, her ikisini de paket yöneticilerinde sunar.
Bir alan adı gereklidir çünkü Bitwarden’ın çalışması için HTTPS şarttır. Bir IP adresi üzerinde çalıştıramazsınız. Kuruluma başlamadan önce alan adınızı sunucunuzun IP adresine yönlendirmelisiniz.
80 ve 443 numaralı portların açık olması gerekir. 80 numaralı port HTTP trafiğini ve sertifika doğrulamasını, 443 numaralı port ise gerçek HTTPS trafiğini karşılar. Güvenlik duvarınızı ve bulut sağlayıcınızın güvenlik gruplarını her iki porttan gelen bağlantılara izin verecek şekilde yapılandırın.
Ayrıca temel komut satırı becerilerine ihtiyacınız var. Sunucunuza SSH ile bağlanacak, kurulum betiklerini çalıştıracak ve yapılandırma dosyalarını düzenleyeceksiniz. Dizinlerde gezinebiliyor ve sudo ile komut çalıştırabiliyorsanız hazırsınız demektir.
Hepsi bu kadar! Bilmeniz gerekenler var elbette, ama biraz teknolojiye aşina olan hemen herkes bunu yapabilir. Şimdi nasıl yapılacağını göstereyim.
Docker Kullanarak Bitwarden Nasıl Kurulur (Resmi Yöntem)
Bu rehber, alan adı ve DNS yönetimi için Cloudflare, sunucu için ise DigitalOcean Ubuntu droplet kullanır. Başka sağlayıcı ve servisleri de kullanabilirsiniz — ancak sorunsuzca takip etmek isterseniz aynılarını seçmenizi öneririm.
Ortamınızı hazırlama
Önce, Ubuntu 24.04 LTS ile bir DigitalOcean droplet oluşturun. Aylık 12$’lık Basic droplet (2GB RAM, 1 CPU, 50GB SSD), kişisel kullanım veya küçük ekipler için Bitwarden’ı gayet iyi çalıştırır. Daha iyi yanıt süreleri için size yakın bir veri merkezi bölgesi seçin. Mevcut bir SSH anahtarını eklemeyi veya yeni bir tane oluşturmayı unutmayın.
Droplet açıldıktan sonra, DigitalOcean panosundan genel IP adresini not edin.
DigitalOcean droplet ayrıntıları
Sonra, Cloudflare’da DNS’i yapılandırın. Cloudflare hesabınıza giriş yapın ve alan adınızı droplet’in IP adresine işaret eden bir A kaydı ekleyin:
Tür: A
Ad: vault (veya tercih ettiğiniz alt alan adı)
IPv4 adresi: Droplet’inizin IP’si
Proxy durumu: Kapalı (gri bulut)
İlk kurulum için Cloudflare proxy’sini kapatın. Let's Encrypt’in alan adı sahipliğini doğrulamak için sunucunuza doğrudan erişmesi gerekir. Bitwarden çalışıp sertifikalar üretildikten sonra proxy’yi etkinleştirebilirsiniz.
Bu yazı için aktif alan adlarımdan birini kullandım:
Cloudflare DNS kurulumu
DNS yayılımı birkaç dakika sürer. Değişikliklerin göründüğünü doğrulamak için şu kabuk komutunu çalıştırın:
Bu, kurulum betiğini indirir ve çalıştırılabilir hale getirir. Betik; Docker imajlarını indirmekten yapılandırma dosyaları oluşturmaya ve dizin yapısını kurmaya kadar her şeyi halleder.
Sıradaki adım, Bitwarden’ın verilerini depolayacağı bir dizin oluşturmaktır:
Betik, Bitwarden’ın tüm yapılandırma dosyalarını, sertifikalarını, günlüklerini ve veritabanı dosyalarını içeren bwdata adlı bir dizin oluşturur. Her şey burada bulunduğundan, bu dizini düzenli olarak yedekleyin.
Kurulumu Çalıştırma
Yükleyici size birkaç soru sorar. Bunları dikkatli yanıtlayın; yanlış girerseniz baştan başlamanız gerekebilir.
Alan adınızı DNS kayıtlarınızda göründüğü şekilde tam olarak girin. Cloudflare’da vault.yourdomain.com kurduysanız, tam olarak bu ifadeyi girin. https:// veya sonda eğik çizgi kullanmayın.
SSL sertifikaları için Let's Encrypt’i seçin. Yükleyici sertifika üretimini ve yenilemeyi otomatik olarak halleder. Cloudflare proxy’si (turuncu bulut) kullanıyorsanız, Let's Encrypt alanınızı doğrulayabilsin diye ilk kurulumda geçici olarak devre dışı bırakmanız gerekebilir.
E-posta adresinizi girin. Sertifika sona erme hatırlatmaları buraya gelecektir.
Bitwarden kurulumu (1)
Ardından Bitwarden gerekli Docker imajlarını çekecektir. Bir dakika kadar sürebilir ve sonra başka istemler gelir.
Veritabanı için bir ad seçin. Yaratıcı olmaya gerek yok; vault gayet iyi çalışır.
Bitwarden kurulumu (2)
Sonra kurulum, ek Docker imajlarını indirmeye devam edecektir.
Kurulum kimliği ve anahtarını alın. Bitwarden Host sayfasını açın ve yönetici e-postanızı ve bölgenizi girin. Ardından her iki değeri de alacaksınız — kurulum sırasında istenince kopyala/yapıştır yapın.
Bitwarden kurulum kimliği ve anahtarı
Hepsi bu — kurulum tamamlandı:
Bitwarden kurulumu (3)
Betik, ./bwdata/config.yml ve ./bwdata/env/global.override.env içinde yapılandırma dosyaları üretir. Daha sonra ayarları değiştirmeniz gerekirse bu dosyaları doğrudan düzenleyebilirsiniz.
Docker gerekli tüm imajları çeker ve konteynerleri başlatır. İlk çalıştırmada birkaç dakika sürer. Betik, her konteyner başlarken ilerlemeyi gösterir.
Bitwarden kurulumu (4)
Birkaç dakika sonra terminalde Bitwarden is up and running! mesajını görmelisiniz. Bu, kurulumun başarılı olduğu anlamına gelir ve bir sonraki bölüme hazırsınız.
Bitwarden kurulumu (5)
Kurulumu Doğrulama
Alan adınızı bir tarayıcıda açın. Geçerli bir HTTPS sertifikasıyla Bitwarden oturum açma sayfasını görmelisiniz.
Bitwarden oturum açma sayfası
Sertifika uyarısı görürseniz, Let's Encrypt muhtemelen alanınızı doğrulayamadı. Şunları kontrol edin:
DNS kayıtlarınız doğru IP adresine işaret ediyor
Güvenlik duvarınızda 80 ve 443 portları açık
Cloudflare proxy’sini kullanıyorsanız, geçici olarak devre dışı bırakmayı deneyin
İlk kullanıcıyı oluşturmak için "Create Account"a tıklayın. Bu hesap kasanızın sahibi olur, bu yüzden unutmayacağınız güçlü bir ana parola kullanın. Bitwarden bu parolayı kurtaramaz — kaybederseniz kasa verileriniz gider.
Bitwarden kullanıcı oluşturma
Hesabınızı oluşturduktan sonra, her şeyin çalıştığını doğrulamak için oturum açın. Deneme amaçlı bir oturum açma öğesi oluşturabilir ve doğru kaydolduğunu kontrol edebilirsiniz.
Bitwarden’a bir oturum açma öğesi ekleme
Beklendiği gibi çalışıyor; şimdi terminale dönüp her şeyin orada da yolunda olduğunu doğrulayacağım.
Tüm konteynerlerin çalıştığını kontrol etmek için bu komutu çalıştırın:
Başlangıç sorunları genellikle port çakışmaları veya izin sorunlarından kaynaklanır.
Port çakışmaları, 80 veya 443 portlarını başka bir şey kullanıyorsa olur. Çakışan servisi durdurun veya ./bwdata/config.yml içindeki Bitwarden portlarını değiştirin.
Veritabanı başlatma hataları genellikle izin sorunlarıdır. Docker kullanıcısının bwdata dizinine yazabildiğini kontrol edin:
Sertifika üretim hataları, Let's Encrypt’in sunucunuza ulaşamadığı anlamına gelir. Alan adınızın doğru IP’ye işaret ettiğini ve güvenlik duvarınızın 80 ve 443 portlarından gelen trafiğe izin verdiğini doğrulayın.
Konteynerler sürekli yeniden başlıyorsa, kullanılabilir disk alanını ve belleği kontrol edin. Bitwarden’ın tüm servisleri çalıştırması için en az 2GB RAM gerekir.
HTTPS ve Sertifikaların Yapılandırılması
Bitwarden tüm bağlantılar için HTTPS gerektirir. Düz HTTP üzerinden çalıştırmanın bir yolu yoktur.
Bitwarden’ın tarayıcı uzantıları ve mobil uygulamaları HTTP uç noktalarına bağlanmayı reddeder. Protokolün kendisi, kasanızdaki verileri aktarım sırasında korumak için şifreli bağlantılar gerektirir.
Kurulum betiği Let's Encrypt sertifikalarını ayarlar. Let's Encrypt, SSL/TLS sertifikaları veren ve yenilemeleri yöneten ücretsiz bir sertifika otoritesidir. Kurulum sırasında alan adınızı girdiğinizde, betik Let's Encrypt’in ACME protokolü üzerinden otomatik sertifika oluşturmayı yapılandırır.
Sertifikalar 90 gün sonra sona erer, ancak Bitwarden’ın Docker kurulumu otomatik yenilemeyi içerir. Bir cron görevi sona yaklaşan sertifikaları kontrol eder ve süresi dolmadan yeniler. El ile yapmanız gereken bir şey yoktur.
Özel sertifikalar bazı durumlarda mantıklıdır. Eğer SSL sonlandırmasını zaten gerçekleştiren bir ters proxy arkasında Bitwarden çalıştırıyorsanız, Let's Encrypt’i devre dışı bırakabilir ve sertifikaları proxy’nin yönetmesine izin verebilirsiniz. Kuruluşunuzun dahili bir sertifika otoritesi varsa, Bitwarden’ı bu sertifikaları kullanacak şekilde yapılandırabilirsiniz.
Özel sertifikaları kullanmak için ./bwdata/config.yml dosyasını düzenleyin ve ssl_certificate_path ile ssl_key_path değerlerini sertifika dosyalarınıza yönlendirin.
Bu başarılı olursa, otomatik yenileme cron görevi gelecekte çalışacaktır.
E-posta (SMTP) Yapılandırması
Bitwarden’ın kullanıcı davetlerini, parola sıfırlama bağlantılarını ve iki faktörlü kimlik doğrulama kodlarını gönderebilmesi için e-posta gerekir.
SMTP yapılandırılmamışsa kullanıcılar parolalarını sıfırlayamaz. Kuruluşunuza ekip üyelerini davet edemezsiniz. Acil durum erişim istekleri çalışmaz. Sistem çalışır, ancak kritik hesap kurtarma ve kullanıcı yönetimi özelliklerini kaybedersiniz.
SMTP ayarları ./bwdata/env/global.override.env dosyasında bulunur.
SMTP ayar dosyası
Bu dosyayı açın ve e-posta sağlayıcınızın yapılandırmasını ekleyin:
Yönetim panelinden bir test e-postası göndererek veya parola sıfırlama isteği oluşturarak e-posta teslimatını test edin.
İşte kaçınmak isteyeceğiniz bazı yaygın SMTP hataları:
Düzenli e-posta parolanızı uygulamaya özel parola yerine kullanmak. Çoğu sağlayıcı SMTP erişimi için özel bir parola oluşturmanızı ister. Gmail bunlara "Uygulama Parolaları" der ve Google Hesabı güvenlik ayarlarından oluşturabilirsiniz.
Yanlış port numaraları. 587 portu STARTTLS bağlantılarını, 465 portu SSL/TLS’i kullanır; 25 portu genellikle bulut sağlayıcıları tarafından engellenir. Bir port çalışmazsa diğerini deneyin.
SSL/TLS karışıklığı. 587 portunda STARTTLS için ssl=false, 465 portunda doğrudan SSL için ssl=true ayarlayın. Bu ayarların karıştırılması bağlantı hatalarına yol açar.
Giden SMTP’nin güvenlik duvarı tarafından engellenmesi. Bazı bulut sağlayıcıları varsayılan olarak 25 numaralı portu engeller. Bunun yerine genellikle engellenmeyen 587 veya 465’i kullanın.
E-postalar gönderilmiyorsa, API konteyner günlüklerini kontrol edin:
SMTP bağlantı hataları veya kimlik doğrulama hatalarına bakın. Günlüklerde e-posta teslimatında tam olarak neyin yanlış gittiği gösterilir.
Bitwarden’ı Güncelleme ve Yedekleme
Kendi sunucunuza kurulumla birlikte manuel yedekleme ve güncelleme zahmeti de gelir. Neyse ki, bunları yapmak kolaydır.
Bitwarden’ı Güncelleme
Güncellemeden önce, Bitwarden’ı durdurun ve verilerinizi yedekleyin. Güncellemeler başarısız olabilir veya sorun çıkarabilir; bir şeyler ters giderse geri almanın bir yoluna ihtiyacınız var.
cd /opt/bitwarden
sudo ./bitwarden.sh stopAltyapı:
Güncelleme betiği en yeni Docker imajlarını çeker, gerekiyorsa yapılandırma dosyalarını günceller ve tüm konteynerleri yeniden başlatır. Genellikle birkaç dakika sürer.
Bitwarden’ı güncelleme
Güncelleme tamamlandıktan sonra, web kasanıza giriş yaparak ve verilerinizin sağlam olduğunu kontrol ederek her şeyin çalıştığını doğrulayın.
Güncelleme bir şeyi bozarsa, yedeğinizi şu şekilde geri yükleyin:
Yedekleri birden fazla yerde saklayın. Birini sunucuda, birini farklı bir makinede ve mümkünse birini de bulut depolamada tutun.
Yedekten geri yüklemek için Bitwarden’ı durdurun, mevcut bwdata dizinini silin, yedeğinizi çıkarın ve yeniden başlatın. Bu süreç, başarısız bir güncellemeyi geri almaya benzer.
Hatta, kasanızdaki veriler ne sıklıkla değişiyorsa ona göre günlük veya haftalık çalışan bir cron göreviyle yedeklemeyi otomatikleştirebilirsiniz.
Docker’da Bitwarden Çalıştırırken Yaygın Sorunlar
Temiz bir kurulumla bile sorunlarla karşılaşabilirsiniz. İşte en yaygın olanları nasıl teşhis edeceğiniz.
Port çakışmaları, 80 veya 443 portlarını başka bir servis zaten kullanıyorsa olur. Hangi servislerin bu portları kullandığını kontrol edin:
Apache, Nginx veya başka bir web sunucusunun çalıştığını görürseniz, ya o servisi durdurmanız ya da Bitwarden’ın portlarını değiştirmeniz gerekir. Portları değiştirmek için ./bwdata/config.yml dosyasını düzenleyin ve http_port ile https_port değerlerini 8080 ve 8443 gibi farklı değerlere ayarlayın. Ardından yeniden başlatın:
Sertifika hataları, tarayıcı uyarıları veya Bitwarden’ın başlamayı reddetmesi şeklinde ortaya çıkar. nginx konteyner günlüklerini şu komutla kontrol edin:
Konteynerlerin başlamaması genellikle veritabanı sorunları veya eksik dosyalar anlamına gelir. Hangi konteynerlerin çalıştığını görmek için şunu çalıştırın:
Bitwarden’ın düzgün çalışması için en az birkaç GB boş alana ihtiyaç duyduğunu unutmayın.
SMTP’nin çalışmaması, parola sıfırlama ve kullanıcı davetlerini engeller. Bir e-posta göndermeyi denerken API günlüklerini kontrol ederek önce SMTP ayarlarınızı test edin:
Bir parola sıfırlama girişimini tetikleyin ve günlüklerde SMTP hatalarını izleyin. En yaygın sorunlar şunlardır:
Yanlış kullanıcı adı veya parola (normal parolanız değil, uygulamaya özel parola kullanın)
Yanlış port veya SSL ayarları
Giden SMTP bağlantılarının güvenlik duvarı tarafından engellenmesi
E-posta sağlayıcısının ek kimlik doğrulama adımları gerektirmesi
Sağlayıcınızın dokümantasyonuyla tam olarak eşleştiğinden emin olmak için ./bwdata/env/global.override.env içindeki SMTP ayarlarınızı doğrulayabilirsiniz. Barındırıcı adı veya porttaki küçük yazım hataları bile e-posta teslimatını bozar.
SMTP ayarlarını düzelttikten sonra Bitwarden’ı yeniden başlatın ve tekrar test edin.
Bitwarden vs Vaultwarden (Docker Kullanıcılarının Tercihi)
Vaultwarden, Rust ile yazılmış, Bitwarden sunucusunun resmi olmayan, topluluk tarafından bakım yapılan bir uygulamasıdır.
Bitwarden Inc. ile bağlantılı değildir, ancak tüm resmi Bitwarden istemcileriyle uyumludur. Aynı tarayıcı uzantılarını, mobil uygulamaları ve masaüstü uygulamalarını kullanırsınız. Fark tamamen sunucu tarafındadır.
Kullanıcıların Vaultwarden’ı seçme nedenleri
Daha düşük kaynak kullanımı. Vaultwarden, 100MB’tan az RAM’e ihtiyaç duyan tek bir hafif konteynerde çalışır. Resmi Bitwarden çoklu konteyner kullanır ve en az 2GB bellek ister. Küçük bir VPS veya Raspberry Pi üzerinde çalıştırıyorsanız Vaultwarden daha mantıklıdır.
Daha basit kurulum. Tek konteyner, daha az hareketli parça demektir. Ayrı veritabanı veya web konteyneri yoktur. Tek bir imaj çekersiniz, tek bir konteyneri yapılandırırsınız, hepsi bu.
Bazı premium özellikler ücretli lisans olmadan çalışır. Vaultwarden, resmi Bitwarden’da premium abonelik gerektiren dosya ekleri ve acil durum erişimi gibi özellikleri etkinleştirir.
Vaultwarden ile ödünleşimler
Bir topluluk projesidir. Güncellemeler, özel destek personeli olan bir şirketten değil, gönüllülerden gelir.
Resmi destek yoktur. Bitwarden Inc., Vaultwarden sorunlarında yardımcı olmaz. Topluluk forumları ve GitHub konuları ile baş başasınız.
Olası uyumluluk sorunları. Bitwarden yeni özellikler yayınladığında, Vaultwarden’ın yetişmesi gerekir. Yeni işlevselliğin çalışması genellikle biraz gecikir.
Hangisini kullanmalısınız?
Kurumsal destek, tüm özelliklerle garanti uyumluluk ve istemcileri geliştiren şirketin desteğini istiyorsanız resmi Bitwarden’ı kullanın. Doğru boyutlandırılmış bir VPS üzerinde kaynak gereksinimleri daha az önemlidir.
Kısıtlı donanımda çalışıyorsanız, daha basit bir kurulum istiyorsanız veya premium özelliklere ücret ödemeden ihtiyaç duyuyorsanız Vaultwarden’ı tercih edin. Yalnız, resmi destek yerine kaynak verimliliği seçtiğinizi unutmayın.
Her ikisi de kendi sunucunuzda barındırma için iyi çalışır ve her ikisi de istemcilerin beklediği aynı şifrelemeyle parolalarınızı korur.
Temel Güvenlik En İyi Uygulamaları
Aşikâr olanı söylemek gerekirse, Bitwarden parolalarınızı saklar; bu nedenle yalnızca şifrelemenin ötesinde korumaya ihtiyacınız vardır. Takip edilecek bazı en iyi uygulamalar şunlardır.
Sunucunuzu güncel tutun. Güvenlik yamaları önemlidir; düzenli olarak güncelleme yapın. Şu komutla yapabilirsiniz:
Kritik yamaların elle müdahale olmadan kurulması için otomatik güvenlik güncellemeleri ayarlayabilirsiniz. Ubuntu’da unattended-upgrades paketini kurun:
Yönetim paneline erişimi kısıtlayın. Bitwarden’ın yönetim arayüzü /admin altında bulunur ve kimlik doğrulama için ayrı bir yönetici belirteci kullanır. Kurulum sırasında güçlü bir belirteç oluşturun ve güvenli bir yerde saklayın. Mümkünse yönetim panelini genel internete açmayın.
Uzak yönetim erişimine ihtiyacınız varsa, /admin yolunu herkese açık bırakmak yerine SSH tünelleme veya VPN kullanın.
Her yerde HTTPS kullanın. HTTPS’i asla devre dışı bırakmayın veya sertifika uyarılarını görmezden gelmeyin. Sertifikalarınız çalışmıyorsa, sorunu geçiştirmek yerine düzeltin. Bitwarden istemcileri iyi bir sebeple HTTP üzerinden bağlanmayı reddeder.
Bitwarden sürümlerini takip edin. Bitwarden’ın GitHub yayınlarına abone olun veya güvenlik güncellemeleri için bloglarını kontrol edin. Yeni bir sürüm çıktığında, güncellemeden önce sürüm notlarını okuyarak nelerin değiştiğini anlayın.
İki faktörlü kimlik doğrulamayı etkinleştirin. Birisi ana parolanızı çalsa bile, 2FA yetkisiz erişimi engeller. Bir kimlik doğrulayıcı uygulaması veya donanım anahtarı kullanın.
Güvenlik duvarı kullanın. Referans olması için, yalnızca gerekli portlara izin verecek şekilde UFW’yi şöyle yapılandırabilirsiniz:
Gördüğünüz gibi, kendi sunucunuzda Bitwarden çalıştırmak ara sıra biraz emek gerektirir. Bu da tam kontrolün bedelidir.
Sonuç
Docker, Bitwarden’ı kendi sunucunuzda barındırmayı kolaylaştırır ve kurumsal altyapıya ihtiyacınız yoktur.
Resmi kurulum betiği her şeyi sizin yerinize yapar. Otomatik güncellemeler, sertifika yönetimi ve bir saatten kısa sürede çalışan bir kasa elde edersiniz — hesaplama örneği sağlama ve DNS kurulumunu da dahil edince benim kurulumum yaklaşık 15 dakika sürdü. Çoğu kullanıcı, bu yazıda ele aldıklarımın ötesine geçmeye ihtiyaç duymaz.
Tek sunucu üzerinde temel kurulumla başlayın. Ters proxy’ler, harici veritabanları veya yüksek erişilebilirlik kurulumlarına geçmeden önce yedeklemeler, güncellemeler ve temel sorun giderme konusunda rahat olun. Bu ileri düzey yapılandırmalar, muhtemelen henüz sahip olmadığınız sorunları çözer.
Parolalarınızı üçüncü taraflara emanet etmek istemiyorsanız, doğru yol budur. Ancak kurulumu gereğinden fazla karmaşıklaştırıp bir şeyleri bozmak da istemezsiniz. Resmi Docker dağıtımını çalıştırın, düzenli olarak yedekleyin ve kontrolünüz altında sağlam bir parola yöneticiniz olsun.
Hırvatistan merkezli Kıdemli Veri Bilimci. 700’ün üzerinde yayımlanmış makaleyle 10 M+ görüntüleme elde eden, önde gelen bir teknoloji yazarı. TPOT ile Makine Öğrenimi Otomasyonu kitabının yazarı.
FAQs
Kendi sunucumda barındırdığım Bitwarden için yüksek erişilebilirliği nasıl sağlayabilirim?⌄
Yüksek erişilebilirlik, paylaşılan harici bir veritabanı (PostgreSQL veya MySQL gibi) ile bir yük dengeleyicinin arkasında birden fazla Bitwarden örneği çalıştırmayı gerektirir. Her örneği aynı veritabanına bağlanacak ve ekler için paylaşılan depolamayı kullanacak şekilde yapılandırmalısınız. Çoğu kişisel ve küçük ekip dağıtımı için, düzenli yedeklemeler ve belgelenmiş bir geri yükleme süreci, HA mimarisinin karmaşıklığı olmadan yeterli koruma sağlar.
Bitwarden’da SMTP yapılandırması için en iyi uygulamalar nelerdir?⌄
Düzenli e-posta parolanız yerine uygulamaya özel parolalar kullanın ve SMTP ayarlarınızın sağlayıcınızın dokümantasyonuyla birebir eşleştiğini doğrulayın. Yapılandırmadan sonra, parola sıfırlamayı tetikleyerek veya yönetici panelindeki test işlevini kullanarak e-posta teslimatını mutlaka test edin. SMTP kimlik bilgilerinin global.override.env dosyasında güvenle saklandığından ve yetkisiz erişimi önlemek için dosya izinlerinin kısıtlandığından emin olun.
Bitwarden’da 502 Bad Gateway hatasını nasıl gideririm?⌄
sudo docker ps ile tüm konteynerlerin çalışıp çalışmadığını kontrol edin ve "Restarting" durumunda olanları arayın. Hangi servisin başarısız olduğunu belirlemek için sudo docker logs bitwarden-nginx ve sudo docker logs bitwarden-api komutlarıyla nginx ve API konteyner günlüklerini inceleyin. Yaygın nedenler arasında veritabanı bağlantı sorunları nedeniyle API konteynerinin başlamaması, yetersiz bellek veya ters proxy’yi engelleyen sertifika sorunları bulunur.
Bitwarden ile özel sunucu portlarını kullanabilir miyim?⌄
Evet, ./bwdata/config.yml dosyasını düzenleyip http_port ve https_port değerlerini 8080 ve 8443 gibi tercih ettiğiniz değerlere değiştirebilirsiniz. Portları değiştirdikten sonra sudo ./bitwarden.sh restart ile Bitwarden’ı yeniden başlatın. Standart dışı portlar kullanmanın, kasaya erişirken alan adınızın URL’sine port numarasını dahil etmeniz gerekeceği anlamına geldiğini unutmayın.
Bitwarden’da syslog’a günlük kaydını nasıl etkinleştiririm?⌄
Bitwarden’ın Docker konteynerleri varsayılan olarak stdout/stderr’a günlük yazar ve Docker bunları otomatik olarak yakalar. Bu günlükleri konteyner ayarlarında Docker’ın günlük sürücüsünü yapılandırarak syslog’a iletebilirsiniz veya Fluentd ya da Logstash gibi bir günlük biriktirme aracı kullanabilirsiniz. Basit bir syslog entegrasyonu için, konteyner yapılandırmanıza --log-driver=syslog ekleyerek Docker’ın syslog günlük sürücüsünü kullanın; bunun Docker Compose dosyasını elle değişiklik gerektirdiğini unutmayın.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Docker'a giriş yapın ve veri uzmanlarının araç setinde Docker'ın önemini keşfedin. Docker konteynerleri, görüntüler ve daha fazlası hakkında bilgi edinin.
Bu yazıda, yeni kurulmuş bir Ubuntu sunucusunda Docker ile Bitwarden kurulumunu, Let's Encrypt ile HTTPS yapılandırmasını ve yaygın kurulum sorunlarını nasıl ele alacağınızı adım adım göstereceğim.
Docker’a yeni başlıyorsanız, işe koyulmadan önce temel kavramları öğrenmek için Introduction to Docker veya Intermediate Docker kurslarımıza kaydolmanız daha iyi olur — birden fazla konteyner kurulumunu yönetmeden önce temelleri öğrenin.
Bitwarden’ın Docker Dağıtımı Nedir?
Bitwarden’ın resmi Docker tabanlı kurulumu, bir parola yöneticisini kendi koşullarınızda çalıştırmanızı sağlar.
Tek yapmanız gereken bir kurulum betiğini çalıştırmak. Veritabanlarını, web sunucularını elle kurmanıza veya herhangi bir kod yazmanıza gerek yok. Docker, önceden yapılandırılmış konteynerleri çeker, aralarındaki ağı kurar ve her şeyi çalışır hale getirir. Güncellemeler de aynı şekilde çalışır — güncelleme betiğini çalıştırın, gerisini Docker halleder.
Bitwarden’ın Docker kurulumu birlikte çalışan birden çok konteyner olarak çalışır. Kullanıcı arayüzü için bir web kasası konteyneri, istekleri işlemek için bir API konteyneri, şifreli kasa verilerini depolamak için bir veritabanı konteyneri ve ekler ile simgeler için destekleyici servisler elde edersiniz. Docker Compose, bu konteynerlerin birbirleriyle iletişim kurmasını sağlar.
Her şey sizin için önceden yapılandırılmıştır.
Bu çok konteynerli yaklaşım, her bileşenin yalıtılmış çalışması anlamına gelir. Veritabanını değiştirmek isterseniz, web arayüzüne dokunmadan yalnızca o konteyneri yeniden başlatabilirsiniz. Günlükleri kontrol etmek isterseniz, her servisin kendi günlük akışı vardır.
Resmi dağıtım, her şeyi tek bir yapılandırma dosyası üzerinden yönetmek için Docker Compose kullanır; bu da sistemi geleneksel sunucu kurulumlarına kıyasla anlamayı ve bakımını daha kolay hale getirir.
Docker ile Bitwarden’ı Çalıştırmadan Önce Gereksinimler
Bitwarden’ı çalıştırmadan önce birkaç şeye ihtiyacınız var, ancak hiçbiri kurumsal donanım ya da karmaşık kurulumlar gerektirmez.
Bir Linux sunucusu veya VM ile başlayın. Ubuntu Server fazlasıyla yeterlidir. AWS, DigitalOcean veya Linode’dan bir bulut sunucusu kullanabilirsiniz. 2GB RAM ve 20GB depolamaya sahip temel bir örnek, kişisel kullanım veya küçük ekipler için Bitwarden’ı çalıştırmaya yeter.
Docker ve Docker Compose gerçek kurulumu gerçekleştirir. Docker Desktop değil, Docker Engine’i ve Docker Compose’u ayrı paketler olarak kuracaksınız. Çoğu Linux dağıtımı, her ikisini de paket yöneticilerinde sunar.
Bir alan adı gereklidir çünkü Bitwarden’ın çalışması için HTTPS şarttır. Bir IP adresi üzerinde çalıştıramazsınız. Kuruluma başlamadan önce alan adınızı sunucunuzun IP adresine yönlendirmelisiniz.
80 ve 443 numaralı portların açık olması gerekir. 80 numaralı port HTTP trafiğini ve sertifika doğrulamasını, 443 numaralı port ise gerçek HTTPS trafiğini karşılar. Güvenlik duvarınızı ve bulut sağlayıcınızın güvenlik gruplarını her iki porttan gelen bağlantılara izin verecek şekilde yapılandırın.
Ayrıca temel komut satırı becerilerine ihtiyacınız var. Sunucunuza SSH ile bağlanacak, kurulum betiklerini çalıştıracak ve yapılandırma dosyalarını düzenleyeceksiniz. Dizinlerde gezinebiliyor ve sudo ile komut çalıştırabiliyorsanız hazırsınız demektir.
Hepsi bu kadar! Bilmeniz gerekenler var elbette, ama biraz teknolojiye aşina olan hemen herkes bunu yapabilir. Şimdi nasıl yapılacağını göstereyim.
Docker Kullanarak Bitwarden Nasıl Kurulur (Resmi Yöntem)
Bu rehber, alan adı ve DNS yönetimi için Cloudflare, sunucu için ise DigitalOcean Ubuntu droplet kullanır. Başka sağlayıcı ve servisleri de kullanabilirsiniz — ancak sorunsuzca takip etmek isterseniz aynılarını seçmenizi öneririm.
Ortamınızı hazırlama
Önce, Ubuntu 24.04 LTS ile bir DigitalOcean droplet oluşturun. Aylık 12$’lık Basic droplet (2GB RAM, 1 CPU, 50GB SSD), kişisel kullanım veya küçük ekipler için Bitwarden’ı gayet iyi çalıştırır. Daha iyi yanıt süreleri için size yakın bir veri merkezi bölgesi seçin. Mevcut bir SSH anahtarını eklemeyi veya yeni bir tane oluşturmayı unutmayın.
Droplet açıldıktan sonra, DigitalOcean panosundan genel IP adresini not edin.
DigitalOcean droplet ayrıntıları
Sonra, Cloudflare’da DNS’i yapılandırın. Cloudflare hesabınıza giriş yapın ve alan adınızı droplet’in IP adresine işaret eden bir A kaydı ekleyin:
Tür:
AAd:
vault(veya tercih ettiğiniz alt alan adı)IPv4 adresi: Droplet’inizin IP’si
Proxy durumu: Kapalı (gri bulut)
İlk kurulum için Cloudflare proxy’sini kapatın. Let's Encrypt’in alan adı sahipliğini doğrulamak için sunucunuza doğrudan erişmesi gerekir. Bitwarden çalışıp sertifikalar üretildikten sonra proxy’yi etkinleştirebilirsiniz.
Bu yazı için aktif alan adlarımdan birini kullandım:
Cloudflare DNS kurulumu
DNS yayılımı birkaç dakika sürer. Değişikliklerin göründüğünü doğrulamak için şu kabuk komutunu çalıştırın:
Yanıtta droplet’inizin IP adresini görmelisiniz.
Nslookup sonuçları
Artık SSH üzerinden droplet’inize bağlanabilirsiniz:
Ve içeri girdiniz:
Ubuntu örneğine bağlanma
Şimdi ilk iş, sistem paketlerini güncellemek. Aşağıdaki komutu çalıştırın:
Artık Docker ve Bitwarden’ı kurmaya hazırsınız.
Daha önce belirtildiği gibi, hem Docker’a hem de Docker Compose’a ihtiyacınız olacak. Kurmak için şu komutları çalıştırın:
Şimdi kurulumu doğrulayın:
Her iki komut için de sürüm numaralarını görmelisiniz.
Docker ve Docker Compose sürümleri
Sırada Bitwarden’ı kurmak var.
Bitwarden Yükleyicisini İndirme ve Hazırlama
Bitwarden’ın resmi yükleyicisi GitHub depolarında bulunur. Doğrudan sunucunuza indirebilirsiniz:
Bu, kurulum betiğini indirir ve çalıştırılabilir hale getirir. Betik; Docker imajlarını indirmekten yapılandırma dosyaları oluşturmaya ve dizin yapısını kurmaya kadar her şeyi halleder.
Sıradaki adım, Bitwarden’ın verilerini depolayacağı bir dizin oluşturmaktır:
Artık kurulum betiğini buraya taşıyabilirsiniz:
Ve son olarak yükleyiciyi çalıştırın:
Betik, Bitwarden’ın tüm yapılandırma dosyalarını, sertifikalarını, günlüklerini ve veritabanı dosyalarını içeren
bwdataadlı bir dizin oluşturur. Her şey burada bulunduğundan, bu dizini düzenli olarak yedekleyin.Kurulumu Çalıştırma
Yükleyici size birkaç soru sorar. Bunları dikkatli yanıtlayın; yanlış girerseniz baştan başlamanız gerekebilir.
Alan adınızı DNS kayıtlarınızda göründüğü şekilde tam olarak girin. Cloudflare’da
vault.yourdomain.comkurduysanız, tam olarak bu ifadeyi girin.https://veya sonda eğik çizgi kullanmayın.SSL sertifikaları için Let's Encrypt’i seçin. Yükleyici sertifika üretimini ve yenilemeyi otomatik olarak halleder. Cloudflare proxy’si (turuncu bulut) kullanıyorsanız, Let's Encrypt alanınızı doğrulayabilsin diye ilk kurulumda geçici olarak devre dışı bırakmanız gerekebilir.
E-posta adresinizi girin. Sertifika sona erme hatırlatmaları buraya gelecektir.
Bitwarden kurulumu (1)
Ardından Bitwarden gerekli Docker imajlarını çekecektir. Bir dakika kadar sürebilir ve sonra başka istemler gelir.
Veritabanı için bir ad seçin. Yaratıcı olmaya gerek yok;
vaultgayet iyi çalışır.Bitwarden kurulumu (2)
Sonra kurulum, ek Docker imajlarını indirmeye devam edecektir.
Kurulum kimliği ve anahtarını alın. Bitwarden Host sayfasını açın ve yönetici e-postanızı ve bölgenizi girin. Ardından her iki değeri de alacaksınız — kurulum sırasında istenince kopyala/yapıştır yapın.
Bitwarden kurulum kimliği ve anahtarı
Hepsi bu — kurulum tamamlandı:
Bitwarden kurulumu (3)
Betik,
./bwdata/config.ymlve./bwdata/env/global.override.enviçinde yapılandırma dosyaları üretir. Daha sonra ayarları değiştirmeniz gerekirse bu dosyaları doğrudan düzenleyebilirsiniz.Geriye sadece Bitwarden’ı başlatmak kaldı:
Docker gerekli tüm imajları çeker ve konteynerleri başlatır. İlk çalıştırmada birkaç dakika sürer. Betik, her konteyner başlarken ilerlemeyi gösterir.
Bitwarden kurulumu (4)
Birkaç dakika sonra terminalde
Bitwarden is up and running!mesajını görmelisiniz. Bu, kurulumun başarılı olduğu anlamına gelir ve bir sonraki bölüme hazırsınız.Bitwarden kurulumu (5)
Kurulumu Doğrulama
Alan adınızı bir tarayıcıda açın. Geçerli bir HTTPS sertifikasıyla Bitwarden oturum açma sayfasını görmelisiniz.
Bitwarden oturum açma sayfası
Sertifika uyarısı görürseniz, Let's Encrypt muhtemelen alanınızı doğrulayamadı. Şunları kontrol edin:
İlk kullanıcıyı oluşturmak için "Create Account"a tıklayın. Bu hesap kasanızın sahibi olur, bu yüzden unutmayacağınız güçlü bir ana parola kullanın. Bitwarden bu parolayı kurtaramaz — kaybederseniz kasa verileriniz gider.
Bitwarden kullanıcı oluşturma
Hesabınızı oluşturduktan sonra, her şeyin çalıştığını doğrulamak için oturum açın. Deneme amaçlı bir oturum açma öğesi oluşturabilir ve doğru kaydolduğunu kontrol edebilirsiniz.
Bitwarden’a bir oturum açma öğesi ekleme
Beklendiği gibi çalışıyor; şimdi terminale dönüp her şeyin orada da yolunda olduğunu doğrulayacağım.
Tüm konteynerlerin çalıştığını kontrol etmek için bu komutu çalıştırın:
Şunun gibi adlara sahip birden çok konteyner görmelisiniz:
bitwarden-web,bitwarden-api,bitwarden-dbve diğerleri.Çalışan konteynerler
Herhangi bir konteyner "Restarting" durumunda görünüyorsa veya listelenmiyorsa, şu komutlarla günlükleri kontrol edin:
Başlangıç sorunları genellikle port çakışmaları veya izin sorunlarından kaynaklanır.
Port çakışmaları, 80 veya 443 portlarını başka bir şey kullanıyorsa olur. Çakışan servisi durdurun veya
./bwdata/config.ymliçindeki Bitwarden portlarını değiştirin.Veritabanı başlatma hataları genellikle izin sorunlarıdır. Docker kullanıcısının
bwdatadizinine yazabildiğini kontrol edin:Sertifika üretim hataları, Let's Encrypt’in sunucunuza ulaşamadığı anlamına gelir. Alan adınızın doğru IP’ye işaret ettiğini ve güvenlik duvarınızın 80 ve 443 portlarından gelen trafiğe izin verdiğini doğrulayın.
Konteynerler sürekli yeniden başlıyorsa, kullanılabilir disk alanını ve belleği kontrol edin. Bitwarden’ın tüm servisleri çalıştırması için en az 2GB RAM gerekir.
HTTPS ve Sertifikaların Yapılandırılması
Bitwarden tüm bağlantılar için HTTPS gerektirir. Düz HTTP üzerinden çalıştırmanın bir yolu yoktur.
Bitwarden’ın tarayıcı uzantıları ve mobil uygulamaları HTTP uç noktalarına bağlanmayı reddeder. Protokolün kendisi, kasanızdaki verileri aktarım sırasında korumak için şifreli bağlantılar gerektirir.
Kurulum betiği Let's Encrypt sertifikalarını ayarlar. Let's Encrypt, SSL/TLS sertifikaları veren ve yenilemeleri yöneten ücretsiz bir sertifika otoritesidir. Kurulum sırasında alan adınızı girdiğinizde, betik Let's Encrypt’in ACME protokolü üzerinden otomatik sertifika oluşturmayı yapılandırır.
Sertifikalar 90 gün sonra sona erer, ancak Bitwarden’ın Docker kurulumu otomatik yenilemeyi içerir. Bir cron görevi sona yaklaşan sertifikaları kontrol eder ve süresi dolmadan yeniler. El ile yapmanız gereken bir şey yoktur.
Özel sertifikalar bazı durumlarda mantıklıdır. Eğer SSL sonlandırmasını zaten gerçekleştiren bir ters proxy arkasında Bitwarden çalıştırıyorsanız, Let's Encrypt’i devre dışı bırakabilir ve sertifikaları proxy’nin yönetmesine izin verebilirsiniz. Kuruluşunuzun dahili bir sertifika otoritesi varsa, Bitwarden’ı bu sertifikaları kullanacak şekilde yapılandırabilirsiniz.
Özel sertifikaları kullanmak için
./bwdata/config.ymldosyasını düzenleyin vessl_certificate_pathilessl_key_pathdeğerlerini sertifika dosyalarınıza yönlendirin.Özel sertifikaların kullanımı
Sonra Bitwarden’ı yeniden başlatın:
Sertifika yenilemesi başarısız olduğunda, önce günlükleri kontrol etmelisiniz:
Yaygın yenileme hataları şunlarda ortaya çıkar:
Altta yatan sorunu düzeltin ve ardından yenilemeyi elle tetikleyin:
Bu başarılı olursa, otomatik yenileme cron görevi gelecekte çalışacaktır.
E-posta (SMTP) Yapılandırması
Bitwarden’ın kullanıcı davetlerini, parola sıfırlama bağlantılarını ve iki faktörlü kimlik doğrulama kodlarını gönderebilmesi için e-posta gerekir.
SMTP yapılandırılmamışsa kullanıcılar parolalarını sıfırlayamaz. Kuruluşunuza ekip üyelerini davet edemezsiniz. Acil durum erişim istekleri çalışmaz. Sistem çalışır, ancak kritik hesap kurtarma ve kullanıcı yönetimi özelliklerini kaybedersiniz.
SMTP ayarları
./bwdata/env/global.override.envdosyasında bulunur.SMTP ayar dosyası
Bu dosyayı açın ve e-posta sağlayıcınızın yapılandırmasını ekleyin:
Biçim, iç içe geçmiş yapılandırmayı temsil etmek için çift alt çizgi kullanır. Her
__ayar hiyerarşisinde bir seviyeyi ayırır.Dosyayı düzenledikten sonra Bitwarden’ı yeniden başlatmayı unutmayın:
Yönetim panelinden bir test e-postası göndererek veya parola sıfırlama isteği oluşturarak e-posta teslimatını test edin.
İşte kaçınmak isteyeceğiniz bazı yaygın SMTP hataları:
Düzenli e-posta parolanızı uygulamaya özel parola yerine kullanmak. Çoğu sağlayıcı SMTP erişimi için özel bir parola oluşturmanızı ister. Gmail bunlara "Uygulama Parolaları" der ve Google Hesabı güvenlik ayarlarından oluşturabilirsiniz.
Yanlış port numaraları. 587 portu STARTTLS bağlantılarını, 465 portu SSL/TLS’i kullanır; 25 portu genellikle bulut sağlayıcıları tarafından engellenir. Bir port çalışmazsa diğerini deneyin.
SSL/TLS karışıklığı. 587 portunda STARTTLS için
ssl=false, 465 portunda doğrudan SSL içinssl=trueayarlayın. Bu ayarların karıştırılması bağlantı hatalarına yol açar.Giden SMTP’nin güvenlik duvarı tarafından engellenmesi. Bazı bulut sağlayıcıları varsayılan olarak 25 numaralı portu engeller. Bunun yerine genellikle engellenmeyen 587 veya 465’i kullanın.
E-postalar gönderilmiyorsa, API konteyner günlüklerini kontrol edin:
SMTP bağlantı hataları veya kimlik doğrulama hatalarına bakın. Günlüklerde e-posta teslimatında tam olarak neyin yanlış gittiği gösterilir.
Bitwarden’ı Güncelleme ve Yedekleme
Kendi sunucunuza kurulumla birlikte manuel yedekleme ve güncelleme zahmeti de gelir. Neyse ki, bunları yapmak kolaydır.
Bitwarden’ı Güncelleme
Güncellemeden önce, Bitwarden’ı durdurun ve verilerinizi yedekleyin. Güncellemeler başarısız olabilir veya sorun çıkarabilir; bir şeyler ters giderse geri almanın bir yoluna ihtiyacınız var.
Tüm
bwdatadizinini yedekleyin:Bu yedeği harici bir sürücüye veya farklı bir sunucuya gibi güvenli bir yere taşıyın.
Şimdi Bitwarden’ı şu komutla güncelleyin:
Güncelleme betiği en yeni Docker imajlarını çeker, gerekiyorsa yapılandırma dosyalarını günceller ve tüm konteynerleri yeniden başlatır. Genellikle birkaç dakika sürer.
Bitwarden’ı güncelleme
Güncelleme tamamlandıktan sonra, web kasanıza giriş yaparak ve verilerinizin sağlam olduğunu kontrol ederek her şeyin çalıştığını doğrulayın.
Güncelleme bir şeyi bozarsa, yedeğinizi şu şekilde geri yükleyin:
Yedeklemeler
bwdatadizini, Bitwarden’ın çalışması için gereken her şeyi içerir. Bunu düzenli olarak yedeklemelisiniz.Bu dizin şunları içerir:
Tutarlılığı sağlamak için yedeklemeden önce Bitwarden’ı durdurun:
Yedekleri birden fazla yerde saklayın. Birini sunucuda, birini farklı bir makinede ve mümkünse birini de bulut depolamada tutun.
Yedekten geri yüklemek için Bitwarden’ı durdurun, mevcut
bwdatadizinini silin, yedeğinizi çıkarın ve yeniden başlatın. Bu süreç, başarısız bir güncellemeyi geri almaya benzer.Hatta, kasanızdaki veriler ne sıklıkla değişiyorsa ona göre günlük veya haftalık çalışan bir cron göreviyle yedeklemeyi otomatikleştirebilirsiniz.
Docker’da Bitwarden Çalıştırırken Yaygın Sorunlar
Temiz bir kurulumla bile sorunlarla karşılaşabilirsiniz. İşte en yaygın olanları nasıl teşhis edeceğiniz.
Port çakışmaları, 80 veya 443 portlarını başka bir servis zaten kullanıyorsa olur. Hangi servislerin bu portları kullandığını kontrol edin:
Apache, Nginx veya başka bir web sunucusunun çalıştığını görürseniz, ya o servisi durdurmanız ya da Bitwarden’ın portlarını değiştirmeniz gerekir. Portları değiştirmek için
./bwdata/config.ymldosyasını düzenleyin vehttp_portilehttps_portdeğerlerini 8080 ve 8443 gibi farklı değerlere ayarlayın. Ardından yeniden başlatın:Sertifika hataları, tarayıcı uyarıları veya Bitwarden’ın başlamayı reddetmesi şeklinde ortaya çıkar. nginx konteyner günlüklerini şu komutla kontrol edin:
ACME zorluğu hataları veya sertifika doğrulama hatalarına bakın. En yaygın nedenler şunlardır:
DNS veya güvenlik duvarı sorununu düzeltin ve ardından sertifikaları elle isteyin:
Konteynerlerin başlamaması genellikle veritabanı sorunları veya eksik dosyalar anlamına gelir. Hangi konteynerlerin çalıştığını görmek için şunu çalıştırın:
"Exited" veya "Restarting" durumundaki konteynerlerde sorun vardır. Günlüklerini kontrol edin:
Veritabanı başlatma hataları,
bwdatadizininde izin sorunları olduğu anlamına gelir. İzinleri düzeltin:Konteynerler hâlâ başlamıyorsa, disk alanını kontrol edin:
Bitwarden’ın düzgün çalışması için en az birkaç GB boş alana ihtiyaç duyduğunu unutmayın.
SMTP’nin çalışmaması, parola sıfırlama ve kullanıcı davetlerini engeller. Bir e-posta göndermeyi denerken API günlüklerini kontrol ederek önce SMTP ayarlarınızı test edin:
Bir parola sıfırlama girişimini tetikleyin ve günlüklerde SMTP hatalarını izleyin. En yaygın sorunlar şunlardır:
Sağlayıcınızın dokümantasyonuyla tam olarak eşleştiğinden emin olmak için
./bwdata/env/global.override.enviçindeki SMTP ayarlarınızı doğrulayabilirsiniz. Barındırıcı adı veya porttaki küçük yazım hataları bile e-posta teslimatını bozar.SMTP ayarlarını düzelttikten sonra Bitwarden’ı yeniden başlatın ve tekrar test edin.
Bitwarden vs Vaultwarden (Docker Kullanıcılarının Tercihi)
Vaultwarden, Rust ile yazılmış, Bitwarden sunucusunun resmi olmayan, topluluk tarafından bakım yapılan bir uygulamasıdır.
Bitwarden Inc. ile bağlantılı değildir, ancak tüm resmi Bitwarden istemcileriyle uyumludur. Aynı tarayıcı uzantılarını, mobil uygulamaları ve masaüstü uygulamalarını kullanırsınız. Fark tamamen sunucu tarafındadır.
Kullanıcıların Vaultwarden’ı seçme nedenleri
Vaultwarden ile ödünleşimler
Hangisini kullanmalısınız?
Kurumsal destek, tüm özelliklerle garanti uyumluluk ve istemcileri geliştiren şirketin desteğini istiyorsanız resmi Bitwarden’ı kullanın. Doğru boyutlandırılmış bir VPS üzerinde kaynak gereksinimleri daha az önemlidir.
Kısıtlı donanımda çalışıyorsanız, daha basit bir kurulum istiyorsanız veya premium özelliklere ücret ödemeden ihtiyaç duyuyorsanız Vaultwarden’ı tercih edin. Yalnız, resmi destek yerine kaynak verimliliği seçtiğinizi unutmayın.
Her ikisi de kendi sunucunuzda barındırma için iyi çalışır ve her ikisi de istemcilerin beklediği aynı şifrelemeyle parolalarınızı korur.
Temel Güvenlik En İyi Uygulamaları
Aşikâr olanı söylemek gerekirse, Bitwarden parolalarınızı saklar; bu nedenle yalnızca şifrelemenin ötesinde korumaya ihtiyacınız vardır. Takip edilecek bazı en iyi uygulamalar şunlardır.
Sunucunuzu güncel tutun. Güvenlik yamaları önemlidir; düzenli olarak güncelleme yapın. Şu komutla yapabilirsiniz:
Kritik yamaların elle müdahale olmadan kurulması için otomatik güvenlik güncellemeleri ayarlayabilirsiniz. Ubuntu’da
unattended-upgradespaketini kurun:Yönetim paneline erişimi kısıtlayın. Bitwarden’ın yönetim arayüzü
/adminaltında bulunur ve kimlik doğrulama için ayrı bir yönetici belirteci kullanır. Kurulum sırasında güçlü bir belirteç oluşturun ve güvenli bir yerde saklayın. Mümkünse yönetim panelini genel internete açmayın.Uzak yönetim erişimine ihtiyacınız varsa,
/adminyolunu herkese açık bırakmak yerine SSH tünelleme veya VPN kullanın.Her yerde HTTPS kullanın. HTTPS’i asla devre dışı bırakmayın veya sertifika uyarılarını görmezden gelmeyin. Sertifikalarınız çalışmıyorsa, sorunu geçiştirmek yerine düzeltin. Bitwarden istemcileri iyi bir sebeple HTTP üzerinden bağlanmayı reddeder.
Bitwarden sürümlerini takip edin. Bitwarden’ın GitHub yayınlarına abone olun veya güvenlik güncellemeleri için bloglarını kontrol edin. Yeni bir sürüm çıktığında, güncellemeden önce sürüm notlarını okuyarak nelerin değiştiğini anlayın.
İki faktörlü kimlik doğrulamayı etkinleştirin. Birisi ana parolanızı çalsa bile, 2FA yetkisiz erişimi engeller. Bir kimlik doğrulayıcı uygulaması veya donanım anahtarı kullanın.
Güvenlik duvarı kullanın. Referans olması için, yalnızca gerekli portlara izin verecek şekilde UFW’yi şöyle yapılandırabilirsiniz:
Diğer her şeyi varsayılan olarak engelleyin.
Ara sıra günlükleri kontrol edin ve olağandışı etkinlik arayın. Başarısız oturum açma girişimleri veya beklenmeyen API çağrılarına bakın:
Gördüğünüz gibi, kendi sunucunuzda Bitwarden çalıştırmak ara sıra biraz emek gerektirir. Bu da tam kontrolün bedelidir.
Sonuç
Docker, Bitwarden’ı kendi sunucunuzda barındırmayı kolaylaştırır ve kurumsal altyapıya ihtiyacınız yoktur.
Resmi kurulum betiği her şeyi sizin yerinize yapar. Otomatik güncellemeler, sertifika yönetimi ve bir saatten kısa sürede çalışan bir kasa elde edersiniz — hesaplama örneği sağlama ve DNS kurulumunu da dahil edince benim kurulumum yaklaşık 15 dakika sürdü. Çoğu kullanıcı, bu yazıda ele aldıklarımın ötesine geçmeye ihtiyaç duymaz.
Tek sunucu üzerinde temel kurulumla başlayın. Ters proxy’ler, harici veritabanları veya yüksek erişilebilirlik kurulumlarına geçmeden önce yedeklemeler, güncellemeler ve temel sorun giderme konusunda rahat olun. Bu ileri düzey yapılandırmalar, muhtemelen henüz sahip olmadığınız sorunları çözer.
Parolalarınızı üçüncü taraflara emanet etmek istemiyorsanız, doğru yol budur. Ancak kurulumu gereğinden fazla karmaşıklaştırıp bir şeyleri bozmak da istemezsiniz. Resmi Docker dağıtımını çalıştırın, düzenli olarak yedekleyin ve kontrolünüz altında sağlam bir parola yöneticiniz olsun.
Docker hakkında daha fazla öğrenmeye hazır mısınız? Containerization and Virtualization Concepts kursumuzla başlayın ve ardından Docker and Kubernetes ile uygulamada görün.