CryptPad Kurulum :Google Docs yerine Gizliliğe Dikkat Eden Kullanıcılar için Şifreli Belgeler
CryptPad, belgeler, elektronik tablolar, sunumlar için harika açık kaynak çevirimiçi pakettir. Google’ın Google Docs ofis ürünleri paketi, bir çok kullanıcı için popüler olmasına rağmen, güvenilir bulunmaz. CryptPad, adın da anlaşılabileceği gibi dosyalarınızı kullandığınız bulutta size özel bir anahtar ile şifreler. Şuan kendi resmi sitesinde Covid-19 pandemi dolayısıyla üye olduktan sonra daha önce 50MB olan depolama alanını 1GB olarak güncelledi. Sınırsız olarak kullanmak için ücretli üye olmanız veya kendi sisteminiz üzerine yüklemeniz gerekmektedir. Bulut hizmeti olarak düşündüğünüzde bir çok özelliği barındırıyor. Bu özellikler şöyledir:
-Belge oluşturma/düzenleme için Zengin Metin düzenleyici sunar
-Elektronik Tablo oluşturma ve yönetme yeteneği sunar
-Renk şemasına sahip ayrı bir kod düzenleyici sağlar
-Sunum oluştuma yeteneği
-Kolayca özel veya genel bir anket oluşturma
-Bir Kanban panosu düzenleyicisi sunar
-Not almak veya ihtiyacınız olan herhangi bir şeyi almak için bir beyaz tahta sağlar
-Dosyalarınız/belgeleriniz için parola koruması sağlar
-Belgeleriniz için kendi kendini imha etme işlevi
-Bağlantı paylaşımını kullanarak belgeyi herkese açma veya kısıtlı tutma yeteneği
-Biriyle paylaşmadan önce belgelerin iznini mutlaka kontrol edin
-iframe snippet’ini kullanarak pad’i istediğiniz yere kolayca gömün
-Belgeleri sohbet etmek/düzenleme için işbirliği seçenekleri
-İstemci tarafı şifreleme(Sunucu belgelerinizin içeriğini bilmiyor)
Daha fazlası için Github adresinde kodlarını inceleyebilirsiniz.
Yükleme
Donanım
Geliştirme ekibi, ana makinede minimum olarak aşağıdaki donanım gereksinimlerini kullanır ve önerir:
- Debian 10
- 2 GB RAM
- 2 x86 CPU
- 20 GB depolama alanı (planlanan kullanıma bağlı olarak)
Uyarı
CryptPad, gizliliği en üst düzeye çıkarmak ve ana makinenin güvenliği ihlal edilmiş olsa bile elde edilebilecek faydalı bilgi miktarını en aza indirmek için tasarlanmıştır. Ancak ana makinenin güvenli olduğundan emin olmak yöneticilere bağlıdır. Bununla ilgili talimatlar bu kılavuzun kapsamı dışındadır ancak en iyi uygulamalar şunları içerir:
- Parola tabanlı SSH erişimini devre dışı bırakma
- Herhangi bir güvenlik yamasıyla işletim sistemini düzenli olarak güncelleme
- Sunucu erişimi olan kişi sayısını sınırlama
- Aynı ana bilgisayar üzerinde paralel olarak çalışan güvenli olmayan uygulamalardan kaçınma
- CryptPad’in kendisini düzenli olarak güncelleme
,
Kuruluma başlamadan önce aşağıdaki yazılımların kurulu olduğundan emin olun:
- GİT
- nodejs (v12.14.0 sürümünü kullanıyoruz)
- Kullanılması NVM önerilir
- npm
- bower
- ile yüklendi
npm install -g bower
- ile yüklendi
CryptPad deposunu klonlayın
git clone https://github.com/xwiki-labs/cryptpad.git cryptpad
bağımlılıklar
cd cryptpad
npm install
bower install
Yapılandırma
Örnek yapılandırmayı kopyalayın
cd cryptpad/config
cp config.example.js config.js
Lütfen yapılandırma dosyasını okuyun ve gerektiğinde değişkenleri değiştirin.
Sunucu şimdi ile başlatılabilir
cd cryptpad node server
Örnek artık çalışmaya hazırdır ancak henüz internetten erişilemiyor.
Servis olarak ekleme
CryptPad’i otomatik olarak yeniden başlayan bir arka plan programı olarak çalıştırmak isteyebilirsiniz.
Bir şekilde CryptPad çalıştırmak için systemd servis, örnek takip edin cryptpad.service dosyasını.
- Örneğin kaydet
cryptpad.service
de/etc/systemd/system/
- Gerekli ayarlamaları yapın (örn. kullanıcı adı, yol, nodejs sürümü)
- Hizmeti başlangıçta ile etkinleştirin .
systemctl enable cryptpad
Servis olarak nodejs uygulamaların diğer yolları arasında, örneğin foreverjs veya pM2 .
Etki Alanları
CryptPad’in güvenlik özelliklerinden tam olarak yararlanmak için iki alana ihtiyacınız var.
- Kullanıcıların örneğinize eriştiği ana alan
- Bir dizi kısıtlayıcı İçerik-Güvenlik İlkesi başlığının uygulandığı bir “korumalı alan” etki alanı veya alt etki alanı
Bu sistemin amacı, saldırganların kullanıcı verilerini sızdırmasına izin veren Siteler Arası Komut Dosyası Çalıştırma (XSS) güvenlik açıklarının riskini sınırlamaktır. Hassas hesaplama (kriptografik anahtarların işlenmesi gibi) ana etki alanında işlenirken, kullanıcı arayüzü sanal alan etki alanında uygulanır.
Örnek Nginx yapılandırma dosyası, etkili olabilmesi için ancak, doğru örneğini yapılandırmanız gerekir, korumalı alan sistemini etkinleştirmek için ilgili başlıkları içermektedir. İhtiyacın olacak:
- iki alan veya alt alan
- CryptPad’i Yapılandır bölümünde
cryptpad/config/config.js
açıklandığı gibi her iki etki alanını dahil etmek için - her iki alanı da kapsayan bir SSL sertifikası oluşturmak için. Geliştirme ekibi acme.sh kullanır ve bu, örnek yapılandırmada yansıtılır.
- örnek Nginx yapılandırmasındaki ilgili değişkenlere hem etki alanlarını hem de sertifikaları doğru şekilde atamak için
Dikkat:
Korumalı alan sistemi olmadan üretimde CryptPad kullanmak, kullanıcıların bilgilerini riske atabilir.
Geliştirme ekibi, önerilen ayarları doğru şekilde uygulayan herhangi bir üçüncü taraf yapılandırmasından (Apache, HAProxy, Lighttpd) haberdar değildir. Bunları kendi (ve kullanıcılarınızın) riski size ait olacak şekilde kullanın!
Nginx’i kurun ve yapılandırın
CryptPad’in uygulama sunucusu, websocket aracılığıyla aktif bağlantıları yönetir ve statik varlıklara (HTML, Javascript, CSS, vb.) hizmet eder. Bu temel yapılandırma, yerel geliştirme için yapılandırılması çok kolay olacak şekilde tasarlanmıştır, ancak trafiği SSL ile korumaz veya birçok eşzamanlı kullanıcıyı çok iyi işlemez.
Bir üretim ortamında, geliştirme ekibi aşağıdaki nedenlerle Nginx’i önerir :
- Trafiği SSL ile koruyun (böylece kullanıcılarınız HTTPS aracılığıyla örneğinize ulaşabilir)
- Yerleşik tek iş parçacıklı NodeJS web sunucusu yerine daha ölçeklenebilir bir web sunucusuyla statik içerik sunarak çok daha fazla kullanıcıya ölçeklendirin
- Uygulama sunucusunun yalnızca websocket bağlantılarını yönetmeye odaklanmasına izin verin
Uyarı
CryptPad bir alt klasörde çalıştırılamaz. Sunucunuzu kök etki alanı veya bir alt etki alanı üzerinden erişecek şekilde yapılandırdığınızdan emin olun.
İşletim sisteminiz tarafından dağıtılan Nginx sürümünün web yuvalarını desteklemeyebileceğini unutmayın. CryptPad’e hizmet etmek için önerilen minimum sürüm 1.10.3
.
Nginx’i CryptPad için yapılandırmak için:
- CryptPad örnek Nginx yapılandırma dosyasını , ana Nginx yapılandırması tarafından kullanılması/içe aktarılması için kopyalayın, örneğin
/etc/nginx/conf.d/cryptpad.conf
. - Yapılandırma dosyasını doğru etki alanları ve sertifika yollarıyla düzenleyin.
- Ana makinede henüz yapmadıysanız çalıştırın .
openssl dhparam -out /etc/nginx/dhparam.pem 4096
Statik varlıklara ve sayfalara https://cryptpad.yourdomain.com/index.html
artık ana etki alanında erişilebilir olmalıdır.
CryptPad’i yapılandırın
Kurulumu tamamlamak için cryptpad/config/config.js
en azından şunları içerdiğinden emin olun :
- Doğru alanlar:
- Bunun yerine ana etki alanı:
httpUnsafeOrigin: 'http://localhost:3000',
- Şunun yerine Sandbox etki alanı:
httpSafeOrigin: "https://some-other-domain.xyz",
- Bunun yerine ana etki alanı:
- Aşağıdakilerin yerine bir yönetici e-postası (İletişim sayfasında görünür):
adminEmail: 'i.did.not.read.my.config@cryptpad.fr',
Denetim
CryptPad, örnek yapılandırma testlerini çalıştıran bir tanılama sayfası sağlar. https://cryptpad.yourdomain.com/checkup/
Her şeyin doğru şekilde yapılandırıldığından emin olmak için yukarıdaki tüm adımları tamamladıktan sonra ziyaret edin .
Yöneticileri yapılandırın
CryptPad yüklendikten sonra, ana sayfadaki Register butonunu kullanarak bir hesap oluşturun. Bu hesabı örnek yönetici yapmak için:
- Kullanıcı Menüsü (sağ üstteki avatar) > Ayarlar > Hesap > Genel İmza Anahtarı’nda bulunan ortak anahtarlarını kopyalayın
- Bu anahtarı
cryptpad/config/config.js
aşağıdaki diziye yapıştırın (yorumu kaldırın ve yer tutucuyu değiştirin):
Örnek:...
adminKeys: [
"[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]",
],
- CryptPad’i yeniden başlatın
Destek posta kutusunu yapılandırın
Sürüm 4.6.0 ve üstü
4.6 sürümünden beri destek posta kutusu Yönetim panelinden yapılandırılabilir .
- Örnek yönetici hesabıyla
/admin/#support
sayfayı ziyaret edin - Destek Anahtarları Oluştur’a tıklayın
- Destek posta kutusu artık etkin
- Posta kutusuna erişmek için önbelleği temizleyin: Genel sekmesi > HTTP Önbelleğini Temizle
Diğer yöneticilerin destek posta kutusuna erişmesine izin vermek için:
- Destek sayfasının altındaki anahtarı kopyalayın
- Başka bir yönetici hesabına gönder
- Destek posta kutusuna erişmek için destek sayfasındaki Özel anahtar ekle alanını kullanabilirler.