Password Pusher ile Güvenli Parola Paylaşımı

Password Pusher ile Güvenli Parola Paylaşımı

26 Mayıs 2025 Kapalı Yazar: emrecaglaryildiz

Günümüz dijital dünyasında güvenli şifre paylaşımı büyük önem taşımaktadır. Şifreleri e-posta, anlık mesajlaşma veya metin dosyaları gibi güvensiz yöntemlerle göndermek, ciddi güvenlik riskleri oluşturur. Password Pusher, bu soruna güvenli ve geçici bir çözüm sunan açık kaynaklı bir araçtır. Bu kılavuzda, Password Pusher’ı Docker kullanarak bir Ubuntu sunucusuna nasıl kolayca kurup kullanabileceğinizi adım adım anlatacağız. Bu sayede, teknik bilgisi olmayan kullanıcılar bile kendi güvenli şifre paylaşım platformlarını oluşturabilirler.

Password Pusher Nedir ve Neden Kullanmalısınız?

Password Pusher (pwpush), tek kullanımlık ve süresi dolan bağlantılar aracılığıyla şifreleri veya gizli notları güvenli bir şekilde paylaşmanızı sağlayan bir web uygulamasıdır. Temel özellikleri şunlardır:

  • Güvenlik: Şifreler veritabanında şifrelenmiş olarak saklanır ve oluşturulan bağlantılar üzerinden yalnızca bir kez (veya belirlenen sayıda) görüntülenebilir.
  • Geçicilik: Paylaşılan şifreler için son kullanma süresi (saat veya gün) ve maksimum görüntüleme sayısı belirleyebilirsiniz. Süresi dolan veya görüntülenen şifreler otomatik olarak silinir.
  • Açık Kaynak: Kodları tamamen açıktır, bu da şeffaflık sağlar ve güvenlik topluluğu tarafından incelenmesine olanak tanır.
  • Kendi Kendine Barındırma (Self-Hosted): Docker sayesinde kendi sunucunuza kolayca kurabilir, verilerinizin tam kontrolünü elinizde tutabilirsiniz.

Gereksinimler

Kuruluma başlamadan önce aşağıdaki gereksinimlere sahip olduğunuzdan emin olun:

  1. Ubuntu Sunucu: İnternete erişimi olan, güncel bir Ubuntu (tercihen LTS sürümü) sunucu.
  2. Docker: Sunucunuzda Docker’ın kurulu olması gerekir.
  3. Docker Compose: Uygulamayı daha kolay yönetmek için Docker Compose’un kurulu olması tavsiye edilir.
  4. Temel Linux Bilgisi: Komut satırında temel komutları çalıştırabilme becerisi.

Kurulum Adımları

Adım 1: Sunucuyu Güncelleme

İlk olarak, Ubuntu sunucunuzun paket listesini güncelleyelim ve mevcut paketleri yükseltelim:

sudo apt update
sudo apt upgrade -y

Adım 2: Docker Kurulumu

Eğer sunucunuzda Docker kurulu değilse, aşağıdaki komutlarla kolayca kurabilirsiniz:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

Docker’ın düzgün çalışıp çalışmadığını kontrol etmek için:

sudo systemctl status docker

Adım 3: Docker Compose Kurulumu

Docker Compose, birden fazla Docker konteynerini yönetmeyi kolaylaştırır. En son sürümü kurmak için:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Kurulumu doğrulamak için:

docker-compose --version

Adım 4: Password Pusher için Docker Compose Dosyası Oluşturma

Password Pusher’ı çalıştırmak için bir docker-compose.yml dosyası oluşturacağız. Bu dosya, uygulamanın nasıl çalışacağını tanımlar.

Öncelikle, Password Pusher için bir dizin oluşturalım ve o dizine geçelim:

mkdir pwpush
cd pwpush

Şimdi, nano veya tercih ettiğiniz bir metin düzenleyici ile docker-compose.yml dosyasını oluşturun:

nano docker-compose.yml

Aşağıdaki içeriği dosyaya yapıştırın:

YAML Dosyası Örneği

version: '3.7'

services:
  pwpush:
    image: pglombardo/pwpush:latest
    container_name: pwpush_app
    restart: always
    ports:
      - "5100:5100" # Dış portu (5100) iç portla (5100) eşleştirir. İsterseniz dış portu değiştirebilirsiniz.
    environment:
      # İsteğe bağlı: E-posta gönderme ayarları (örneğin SendGrid için)
      # SMTP_DELIVERY_METHOD: 'smtp'
      # SMTP_ADDRESS: 'smtp.sendgrid.net'
      # SMTP_PORT: 587
      # SMTP_USERNAME: 'apikey'
      # SMTP_PASSWORD: 'SENDGRID_API_KEYINIZ'
      # SMTP_DOMAIN: 'alanadiniz.com'
      # SMTP_AUTHENTICATION: 'plain'
      # SMTP_ENABLE_STARTTLS_AUTO: 'true'

      # İsteğe bağlı: Veritabanı olarak PostgreSQL kullanma (varsayılan olarak SQLite kullanır)
      # DATABASE_URL: 'postgres://pwpush_user:pwpush_password@pwpush_db:5432/pwpush_prod'
    # volumes:
      # Verilerin kalıcı olması için bir volume bağlayabilirsiniz (özellikle SQLite kullanıyorsanız önemlidir)
      # - pwpush_data:/app/db

  # İsteğe bağlı: PostgreSQL veritabanı servisi
  # pwpush_db:
  #   image: postgres:13
  #   container_name: pwpush_db
  #   restart: always
  #   environment:
  #     POSTGRES_USER: pwpush_user
  #     POSTGRES_PASSWORD: pwpush_password
  #     POSTGRES_DB: pwpush_prod
  #   volumes:
  #     - pwpush_pg_data:/var/lib/postgresql/data

# volumes:
  # pwpush_data:
  # pwpush_pg_data:

Önemli Notlar:

  • Port: Varsayılan olarak uygulama, sunucunuzun 5100 portunda çalışacaktır. Başka bir port kullanmak istiyorsanız, ports bölümündeki "5100:5100" ifadesinin ilk kısmını değiştirebilirsiniz (örn: "8080:5100").
  • Veritabanı: Varsayılan olarak Password Pusher, konteyner içinde SQLite kullanır. Konteyner silinirse veriler kaybolabilir. Verilerin kalıcı olması için volumes bölümünü aktif edebilir veya daha robust bir çözüm için PostgreSQL kullanabilirsiniz (Yukarıdaki örnekte PostgreSQL ayarları yorum satırı olarak verilmiştir).
  • E-posta: Şifre paylaşımları hakkında bildirim almak isterseniz, environment bölümündeki SMTP ayarlarını kendi e-posta sağlayıcınıza göre doldurmanız gerekir.

Dosyayı kaydedip kapatın (Nano’da Ctrl+X, sonra Y ve Enter).

Adım 5: Password Pusher’ı Çalıştırma

docker-compose.yml dosyasının bulunduğu dizindeyken aşağıdaki komutu çalıştırarak Password Pusher’ı başlatın:

sudo docker-compose up -d

-d parametresi, konteynerin arka planda çalışmasını sağlar.

Kurulumun durumunu kontrol etmek için:

sudo docker-compose ps

Veya çalışan konteynerleri listelemek için:

sudo docker ps

pwpush_app isimli konteynerin Up (Çalışıyor) durumunda olduğunu görmelisiniz.

Password Pusher’a Erişme ve Kullanma

Artık Password Pusher’ınız çalışıyor! Tarayıcınızı açın ve aşağıdaki adrese gidin (Eğer farklı bir port belirlediyseniz onu kullanın):

http://<Sunucu_IP_Adresiniz>:5100

Karşınıza Password Pusher arayüzü çıkacaktır:

  1. Password: Paylaşmak istediğiniz şifreyi veya gizli metni bu alana girin.
  2. Expire after: Şifrenin kaç gün sonra silineceğini seçin.
  3. Expire after: Şifrenin kaç görüntülemeden sonra silineceğini seçin.
  4. Deletable by users: Kullanıcıların bağlantıyı manuel olarak silebilip silemeyeceğini belirleyin.
  5. Create: Butonuna tıkladığınızda size özel, güvenli bir bağlantı oluşturulacaktır.

Bu bağlantıyı paylaşmak istediğiniz kişiye gönderin. Kişi bağlantıya tıkladığında şifreyi görecek ve belirlediğiniz kurallara göre (süre veya görüntüleme sayısı) bağlantı otomatik olarak kendini imha edecektir.

Güvenlik İyileştirmeleri: HTTPS Kurulumu (Önerilir)

Şu anki kurulumumuz HTTP üzerinden çalışmaktadır. Bu, verilerin sunucu ile tarayıcı arasında şifrelenmeden aktarıldığı anlamına gelir. Özellikle şifre gibi hassas verilerle uğraşırken HTTPS kullanmak kritik öneme sahiptir.

HTTPS’i etkinleştirmenin en kolay yollarından biri, bir ters proxy (reverse proxy) kullanmaktır. Nginx veya Caddy gibi web sunucularını ters proxy olarak ayarlayabilir ve Let’s Encrypt ile ücretsiz SSL sertifikaları alabilirsiniz.

Bu kurulum, bu kılavuzun kapsamı dışında olsa da, güvenli bir kullanım için mutlaka araştırıp uygulamanızı tavsiye ederim. Nginx ve Let’s Encrypt ile Docker konteynerleri için ters proxy kurulumu hakkında internette birçok kaynak bulabilirsiniz.

Tebrikler! Artık kendi Ubuntu sunucunuzda, Docker ile çalışan bir Password Pusher örneğine sahipsiniz. Bu araç sayesinde, şifrelerinizi ve hassas bilgilerinizi çok daha güvenli bir şekilde paylaşabilirsiniz. Docker’ın esnekliği sayesinde, bu kurulumu yönetmek ve güncellemek de oldukça kolay olacaktır. Kendi verilerinizin kontrolünü elinizde tutarak güvenliğinizi bir üst seviyeye taşıdınız. :)

5/5 - (1 vote)