İçeriğe Atla
Mustafa Erbay
Rehberler · 11 dk okuma · görüntülenme Read in English

Vaultwarden Kurulumu: Güvenli Şifre Yönetimini Hemen Başlatın

Kendi sunucunuzda Vaultwarden ile şifrelerinizi güvenle yönetin. Bu rehberde adım adım kurulum, yapılandırma ve güvenlik ipuçlarını bulacaksınız.

100%

Kendi sunucumda şifrelerimi yönetmeye başladığımda, açık kaynaklı ve hafif bir çözüm arayışım beni Vaultwarden ile tanıştırdı. Geleneksel şifre yöneticilerinin sunduğu özelliklerin çoğunu, kendi kontrolüm altında, daha az kaynakla elde etmek istiyordum. Bu, hem güvenlik hem de maliyet açısından mantıklı bir adımdı. Vaultwarden, Bitwarden’ın bazı API’larını taklit eden, Rust ile yazılmış bir sunucu uygulamasıdır. Bu sayede, standart Bitwarden istemcileriyle sorunsuz bir şekilde çalışabilir.

Vaultwarden Nedir ve Neden Kendi Kendine Barındırılmalı?

Vaultwarden, aslında Bitwarden’ın açık kaynaklı ve daha hafif bir alternatifidir. Orijinal Bitwarden sunucusunun API’larını destekleyecek şekilde tasarlanmıştır, bu da demektir ki neredeyse tüm Bitwarden istemcileri (web arayüzü, masaüstü uygulamaları, mobil uygulamalar) Vaultwarden sunucunuza bağlanabilir. Temel farkı, Rust ile yazılmış olması ve daha az bellek ve CPU kullanmasıdır. Bu, onu Raspberry Pi gibi daha mütevazı donanımlarda veya mevcut sunucularınızda az yer kaplayan bir servis olarak çalıştırmak için ideal kılar.

Kendi şifre yöneticinizi barındırmanın en büyük avantajı tam kontrol sahibi olmaktır. Verileriniz sizin sunucunuzda, sizin sorumluluğunuzda kalır. Bu, özellikle hassas bilgileri yönetirken gizlilik ve güvenlik açısından önemli bir fark yaratır. Üçüncü parti bir servise güvenmek yerine, kendi altyapınızı kullanarak veri güvenliğini sağlarsınız. Ayrıca, kurumsal lisanslara veya aboneliklere para harcamak yerine, sadece sunucu maliyetleriyle bu hizmeti alabilirsiniz. Bu yaklaşım, hem bireysel kullanıcılar hem de küçük işletmeler için cazip bir seçenektir.

Bu nedenle, eğer bir Bitwarden sunucusunun sunduğu şifre yönetimi yeteneklerini istiyor ancak bunu kendi kontrolünüzde, daha verimli bir şekilde yürütmek istiyorsanız, Vaultwarden doğru tercih olabilir. Özellikle mevcut VPS’lerinizde veya düşük kaynaklı cihazlarınızda kullanmak üzere pratik bir çözüm arıyorsanız, Vaultwarden’ın sunduğu esneklik ve verimlilik sizi cezbedecektir.

Kurulum Öncesi Hazırlıklar: Neler Gerekli?

Vaultwarden’ı kurmadan önce dikkat etmeniz gereken birkaç temel ön hazırlık var. En önemlisi, bir sunucu ortamına ve Docker ile Docker Compose’a sahip olmanız. Bu iki teknoloji, Vaultwarden’ın kurulumunu ve yönetimini inanılmaz derecede kolaylaştırır. Eğer bu araçlarla yeniyseniz, öncelikle Docker ve Docker Compose’u sisteminize kurmanız gerekecektir. Genellikle, çoğu Linux dağıtımında Docker’ı kurmak oldukça basittir ve resmi Docker belgeleri bu konuda detaylı adımlar sunar.

Docker Compose ise, birden fazla Docker container’ını yönetmek için kullanılan bir araçtır. Vaultwarden gibi servisleri, bir docker-compose.yml dosyası aracılığıyla tanımlayıp başlatmanıza olanak tanır. Bu, sadece tek bir komutla servisinizi ayağa kaldırmanızı ve durdurmanızı sağlar. Bu yapılandırma dosyası, hangi imajın kullanılacağını, hangi portların dışarıya açılacağını ve hangi kalıcı depolama birimlerinin bağlanacağını belirtir.

Ayrıca, Vaultwarden’a güvenli bir şekilde erişmek için bir ters proxy (reverse proxy) kullanmanız şiddetle tavsiye edilir. Nginx veya Caddy gibi ters proxy’ler, SSL/TLS sertifikalarını yönetmenize, trafiği Vaultwarden container’ına yönlendirmenize ve ek güvenlik katmanları (rate limiting gibi) eklemenize yardımcı olur. Bu rehberde, kurulumu basitleştirmek adına docker-compose.yml dosyası içinde doğrudan Vaultwarden’ı yapılandıracağız, ancak üretim ortamları için ters proxy kullanımı kritik öneme sahiptir.

Docker ile Vaultwarden Kurulumu: Adım Adım Rehber

Vaultwarden kurulumunun en pratik yolu Docker ve Docker Compose kullanmaktır. Bu yöntem, bağımlılıkları yönetmeyi ve servisi izole etmeyi kolaylaştırır. Öncelikle, sunucunuzda Docker ve Docker Compose’un kurulu olduğundan emin olun. Ardından, projeniz için bir dizin oluşturup bu dizine geçin.

mkdir vaultwarden
cd vaultwarden

Bu dizin içine, servisinizi tanımlayacak docker-compose.yml dosyasını oluşturun. Dosyanın içeriği aşağıdaki gibi olacaktır. Bu örnek, Vaultwarden’ı başlatmak için gereken minimum yapılandırmayı içerir.

version: "3.8"

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    ports:
      - "8080:80" # Host portu: Container portu
    volumes:
      - vaultwarden_data:/data # Veri depolama için volume
    environment:
      WEBSOCKET_ENABLED: "true" # WebSocket desteğini etkinleştir
      SIGNUPS_ALLOWED: "true" # İlk kurulumda kayıtları etkinleştir (sonradan kapatılabilir)
      ADMIN_TOKEN: "YOUR_STRONG_ADMIN_TOKEN" # Kendi güçlü admin token'ınızı belirleyin
      # DOMAIN: "https://sifrelerim.alanadiniz.com" # Opsiyonel: Kendi alan adınızı belirtin

volumes:
  vaultwarden_data:

Bu docker-compose.yml dosyasını kaydettikten sonra, terminalde docker-compose up -d komutunu çalıştırarak Vaultwarden’ı başlatabilirsiniz. -d bayrağı, container’ın arka planda çalışmasını sağlar. Kurulum tamamlandığında, tarayıcınızın adres çubuğuna http://<sunucu_ip_adresi>:8080 yazarak Vaultwarden web arayüzüne erişebilirsiniz.

İlk girişinizde, docker-compose.yml dosyasında ADMIN_TOKEN olarak belirlediğiniz değeri kullanarak yönetici panelini (genellikle /admin yoluyla erişilir) açabilir ve SIGNUPS_ALLOWED ayarını kapatarak yeni kayıtları kısıtlayabilirsiniz. Bu, yetkisiz erişimi engellemek için önemlidir.

Temel Yapılandırma: Ortam Değişkenleri ve Güvenlik

Vaultwarden’ı daha güvenli ve kullanışlı hale getirmek için ortam değişkenleri (environment variables) aracılığıyla çeşitli yapılandırmalar yapabiliriz. Bunlar, docker-compose.yml dosyasındaki environment bölümüne eklenir. İlk kurulumda en kritik değişkenlerden biri ADMIN_TOKEN’dır. Bu, yönetici paneline erişim için kullanılan bir tür şifredir ve güçlü, rastgele karakterlerden oluşmalıdır.

environment:
  # ... diğer ayarlar ...
  ADMIN_TOKEN: "super-secret-admin-token-12345" # Gerçek token'ınızı buraya yazın
  SIGNUPS_ALLOWED: "true" # Başlangıçta açık, sonra kapatılmalı
  DOMAIN: "https://sifrelerim.domain.com" # İsteğe bağlı ama önerilir
  TZ: "Europe/Istanbul" # Saat dilimini ayarlayın

SIGNUPS_ALLOWED değişkeni, ilk kullanıcıyı oluştururken kayıtları açmak için kullanılır. İlk kullanıcıyı oluşturduktan ve yönetici paneline erişip SIGNUPS_ALLOWED ayarını false olarak güncelledikten sonra, bu değişkeni docker-compose.yml dosyasından tamamen kaldırabilir veya false olarak ayarlayabilirsiniz. Bu, herkese açık kayıtları engelleyerek sadece davet ettiğiniz kişilerin veya kendi kullandığınız hesapların sisteme eklenmesini sağlar.

DOMAIN değişkeni, Vaultwarden’ın kendi URL’sini bilmesine yardımcı olur ve bazı entegrasyonlar için faydalı olabilir. TZ ile sunucunuzun saat dilimini ayarlamak, logların ve zaman damgalarının doğru olmasını sağlar. Üretim ortamında, bu servisi doğrudan http://<sunucu_ip_adresi>:8080 üzerinden değil, bir ters proxy (Nginx, Caddy vb.) arkasında ve HTTPS ile sunmak en iyi pratiktir. Ters proxy, SSL sertifikalarını yöneterek trafiği şifreler ve Vaultwarden’a iletir.

Vaultwarden’a Erişim ve Kullanım

Vaultwarden’ı kurup temel yapılandırmasını yaptıktan sonra, artık şifrelerinizi güvenle saklamaya başlayabilirsiniz. Vaultwarden, standart Bitwarden istemcileriyle uyumlu olduğu için, mevcut kullandığınız istemcileri kendi Vaultwarden sunucunuza bağlayabilirsiniz. En yaygın erişim yöntemleri şunlardır:

  1. Web Arayüzü: Tarayıcınızda http://<sunucu_ip_adresi>:8080 adresine giderek Vaultwarden’ın web arayüzüne ulaşabilirsiniz. Buradan yeni hesaplar oluşturabilir, giriş yapabilir, şifrelerinizi yönetebilir ve yeni girişler ekleyebilirsiniz. Yönetici paneline erişmek için /admin yolunu kullanmayı unutmayın.
  2. Masaüstü Uygulamaları: Windows, macOS ve Linux için resmi Bitwarden masaüstü uygulamalarını indirebilirsiniz. Uygulamayı ilk başlattığınızda, sunucu URL’sini sorması üzerine kendi Vaultwarden sunucunuzun adresini girebilirsiniz.
  3. Mobil Uygulamalar: Android ve iOS için mevcut Bitwarden mobil uygulamaları da kendi sunucunuza bağlanabilir. Uygulama mağazalarından indirip kurduktan sonra, “Self-hosted server” veya benzeri bir seçeneği kullanarak Vaultwarden sunucunuzun adresini belirtmeniz yeterlidir.
  4. Tarayıcı Eklentileri: Chrome, Firefox, Edge ve diğer tarayıcılar için Bitwarden tarayıcı eklentileri de aynı şekilde kendi sunucunuza bağlanacak şekilde yapılandırılabilir.

Bu istemciler aracılığıyla Vaultwarden’a bağlandığınızda, verileriniz istemci ile sunucu arasında şifrelenmiş olarak iletilir. Vaultwarden sunucusu verilerinizi şifreli olarak saklar ve yalnızca siz Master Password’ünüzü girdiğinizde çözülür. Bu, hem aktarım sırasında hem de depolama sırasında verilerinizin güvende olmasını sağlar.

Güvenlik İpuçları ve En İyi Uygulamalar

Vaultwarden gibi kendi kendine barındırılan bir servisi kullanırken güvenlik en üst düzeyde tutulmalıdır. İşte dikkat etmeniz gereken başlıca güvenlik ipuçları:

  • Güçlü Admin Token’ı ve Tek Kullanıcılı Yapılandırma: ADMIN_TOKEN’ınızı çok güçlü ve tahmin edilemez bir şifre olarak belirleyin. Ayrıca, SIGNUPS_ALLOWED’ı kapattıktan sonra sadece kendi ihtiyacınız olan hesapları oluşturun. Birden fazla kullanıcı için bile olsa, her kullanıcı için güçlü şifreler ve Two-Factor Authentication (2FA) kullanmak önemlidir.
  • HTTPS Kullanımı: Vaultwarden’ı asla HTTP üzerinden sunmayın. Bir ters proxy (Nginx, Caddy, Traefik) kullanarak Let’s Encrypt gibi ücretsiz SSL sertifikaları ile HTTPS’i zorunlu kılın. Bu, verilerinizin aktarım sırasında şifrelenmesini sağlar.
  • Rate Limiting: Ters proxy’nizde veya Vaultwarden’ın kendisinde (bazı ortam değişkenleri ile) brute-force saldırılarını önlemek için giriş denemelerine yönelik hız sınırlaması (rate limiting) uygulayın. Bu, kaba kuvvet saldırılarının verimsiz hale gelmesini sağlar.
  • Güncel Tutma: Vaultwarden’ı ve Docker imajını düzenli olarak güncelleyin. Geliştiriciler sürekli olarak güvenlik açıklarını kapatır ve yeni özellikler ekler. docker-compose pull ve ardından docker-compose up -d --force-recreate komutları ile güncellemeleri kolayca uygulayabilirsiniz.
  • Güvenli Depolama: Vaultwarden verilerinin depolandığı dizini (/data volume’ü) sunucunuzda güvenli bir konuma taşıyın ve dosya izinlerini kısıtlayın. Yedeklemeleri düzenli olarak alın ve güvenli bir yerde saklayın.
  • Erişim Kontrolü: Vaultwarden sunucusuna yalnızca gerekli ağlardan erişim izni verin. Mümkünse, sunucunun doğrudan internete açık olmasını engelleyip, sadece ters proxy’nin erişebilmesini sağlayın.

Bu adımları izleyerek, Vaultwarden kurulumunuzu hem güvenli hem de işlevsel hale getirebilirsiniz. Unutmayın ki, kendi kendine barındırma tam kontrol anlamına gelse de, aynı zamanda tam sorumluluk da demektir.

Olası Sorunlar ve Çözümleri

Vaultwarden kurulumunda veya kullanımında karşılaşabileceğiniz bazı yaygın sorunlar ve olası çözümleri şunlardır:

  • Vaultwarden’a Erişilemiyor (Port Sorunu):
    • Sorun: http://<sunucu_ip_adresi>:8080 adresine gittiğinizde sayfa yüklenmiyor veya “connection refused” hatası alıyorsunuz.
    • Çözüm: Öncelikle Docker servislerinin çalıştığından emin olun (docker ps). docker-compose.yml dosyasındaki ports ayarını kontrol edin. 8080:80 gibi bir yapılandırmada, 8080 host portudur ve sunucunuzda başka bir servis tarafından kullanılmadığından emin olun. ufw gibi bir firewall kullanıyorsanız, 8080 portuna izin verdiğinizden emin olun (sudo ufw allow 8080/tcp).
  • Kaydedilen Şifreler Senkronize Olmuyor:
    • Sorun: Mobil veya masaüstü istemcilerdeki değişiklikler web arayüzüne yansımıyor veya tam tersi.
    • Çözüm: WEBSOCKET_ENABLED: "true" ayarının docker-compose.yml dosyasında aktif olduğundan emin olun. WebSockets, istemciler ve sunucu arasındaki gerçek zamanlı iletişimi sağlar. Eğer bir ters proxy kullanıyorsanız, ters proxy’nin WebSocket trafiğini doğru şekilde ilettiğinden emin olmanız gerekebilir.
  • Yönetici Paneline Erişilemiyor:
    • Sorun: /admin yoluna gittiğinizde hata alıyorsunuz veya token’ınız kabul edilmiyor.
    • Çözüm: docker-compose.yml dosyasındaki ADMIN_TOKEN’ınızı kontrol edin ve doğru token’ı kullandığınızdan emin olun. Eğer token’ı değiştirdiyseniz, container’ı yeniden oluşturmanız gerekir (docker-compose down ardından docker-compose up -d --force-recreate). Ayrıca, SIGNUPS_ALLOWED ayarını kontrol ederek yönetici panelinin erişilebilir olup olmadığını teyit edin.
  • Dosya Büyüme Sorunları (Data Volume):
    • Sorun: Vaultwarden’ın veri dizini (vaultwarden_data volume’ü) beklenmedik şekilde büyüyor.
    • Çözüm: Bu genellikle sık sık yapılan değişiklikler, büyük ekler veya hatalı yapılandırmalardan kaynaklanabilir. Vaultwarden’ın loglarını inceleyerek hangi işlemlerin yoğunlukla yapıldığını anlamaya çalışın. Gerekirse, eski verileri temizleyebilir veya daha etkili bir depolama stratejisi düşünebilirsiniz.
  • İstemcilerde “Invalid Token” Hatası:
    • Sorun: Uygulamalardan giriş yapmaya çalıştığınızda geçersiz token hatası alıyorsunuz.
    • Çözüm: Bu genellikle istemcinin sunucu URL’sini yanlış yapılandırmasından, ağ sorunlarından veya sunucudaki zaman senkronizasyon problemlerinden kaynaklanır. Sunucu IP adresinizi veya alan adınızı doğru girdiğinizden emin olun. Sunucu ve istemci saatlerinin senkronize olduğundan emin olun.

Bu sorunlarla karşılaştığınızda, ilk adım olarak docker logs vaultwarden komutu ile Vaultwarden container’ının loglarını incelemek, sorunun kaynağını anlamanıza yardımcı olacaktır.

Sonuç

Vaultwarden kurulumu, kendi şifre yönetimi çözümünüzü kontrol altına almak için harika bir yoldur. Docker ve Docker Compose’u kullanarak bu süreci oldukça basitleştirdim ve temel yapılandırma ile güvenlik adımlarını paylaştım. Kendi sunucunuzda çalışan bir şifre yöneticisi, hem gizliliğinizi artırır hem de maliyetleri düşürebilir.

Unutmayın ki, kendi kendine barındırma tam kontrol sağlarken, aynı zamanda bakım ve güvenlik sorumluluğunu da beraberinde getirir. Bu nedenle, Vaultwarden’ı güncel tutmak, güçlü şifreler kullanmak ve HTTPS gibi temel güvenlik önlemlerini almak hayati önem taşır. Artık şifrelerinizi güvenle yönetmeye hazırsınız!

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

Sıkça Sorulanlar

Bu makale ile ilgili okurların sorduğu yaygın sorular.

Vaultwarden kurulumuna nasıl başlarım?
Ben, Vaultwarden kurulumuna başlamadan önce sunucumun gereksinimlerini kontrol ettim. Ardından, resmi belgeleri takip ederek kurulum işlemlerini adım adım tamamladım. İlk adım olarak, sunucumu güncelledim ve sonra Vaultwarden'ın resmi deposundan gerekli dosyaları indirdim. Sonrasında, kurulum komutlarını çalıştırdım ve gerekli yapılandırmaları yaptım. Bu süreç oldukça basitti ve herhangi bir sorun yaşamadım.
Vaultwarden ile geleneksel şifre yöneticileri arasında ne gibi avantajlar ve dezavantajlar var?
Benim deneyimime göre, Vaultwarden geleneksel şifre yöneticilerine kıyasla daha az kaynak tüketir ve daha hafif bir yapıya sahiptir. Bu, özellikle küçük sunucular veya düşük güçte cihazlar kullanırken büyük bir avantajdır. Ayrıca, Vaultwarden'ın açık kaynaklı olması ve Rust ile yazılmış olması, güvenliğe ve stabiliteye katkıda bulunur. Ancak, bazı kullanıcılar için geleneksel şifre yöneticilerinin sunduğu ek özellikler eksik olabilir.
Vaultwarden sunucusunda veri güvenliğini nasıl sağlayabilirim?
Ben, veri güvenliğini sağlamak için beberapa önlem aldım. İlk olarak, sunucumu güncelledim ve güvenlik yamalarını düzenli olarak uyguladım. Ardından, Vaultwarden'ın kendi güvenlik ayarlarını kontrol ettim ve gereksiz özellikleri devre dışı bıraktım. Ayrıca, güçlü parolalar ve iki faktörlü kimlik doğrulama gibi ek güvenlik önlemlerini uyguladım. Bunlar, verilerinizi güvende tutmak için önemli adımlardır.
Vaultwarden'ı existing Bitwarden hesabım ile kullanabilir miyim?
Evet, ben de existing Bitwarden hesabımı Vaultwarden ile kullanıyorum. Vaultwarden, Bitwarden'ın API'larını taklit ettiği için, Bitwarden istemcilerini Vaultwarden sunucunuza bağlayabilirsiniz. Bu, mevcut verilerinizi yeni sunucuya kolayca aktarmanıza olanak tanır. Ancak, bu işlemin doğru şekilde yapılabilmesi için, hesabınızın ayarlarını ve verilerinizi dikkatli bir şekilde kontrol etmeniz gerekmektedir.
ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

✉️ Ücretsiz · Spam yok · İstediğin an çık

Yeni yazılardan haberdar olun

Yeni içerikler ve teknik notlar e-postanıza gelsin.

  • 📌
    Haftanın en iyisi Sadece okumaya değer tek yazı
  • 🔧
    Alet çantası Bu hafta kullandığım araçlar
  • 🧠
    Perde arkası Blog'a girmeyen notlar

Spam yapmıyoruz. İstediğiniz zaman ayrılabilirsiniz. · Sadece Umami (self-hosted, Google yok) ile takip.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar