# Uzak Sunucuda Dosya Şifreleme

<!-- toc -->

Günümüzde uzak sunucuda veya yaygın ifade ile "*bulutta*" dosya depolamak çok yaygın ve neredeyse bir gereklilik halini aldı. Bunun temel sebeplerinden bir tanesi iş ve dijital dosya üretim süreçlerinin birden fazla cihaza yayılması ve tüm bu cihazlar arasında elle veya otomatik eşitleme sistemleri kurulmasın zorluğu idi. Bu durum günümüzde [Syncthing](syncthing.md) gibi yazılımların imkanları ile değişmiş olsa da yerleşik alışkanlıklar veya teknik gereklilikler hala uzak sunucularda veri barındırmayı gerektiriyor. Bunun en temel örneklerinden biri alınan yedekler. Yedeklerin kişinin fiziki alanının dışında bir başka kişinin elinde bulunmasının verdiği güvenlik faydalı bir unsur. Bunun yanı sıra [sınır geçiş güvenliği](/beseri_guvenlik/sinir_guvenligi.md) uzak sunucu depolama çözümlerinin çok etkili kullanılabildiği bir alan.

Lakin *bulut yoktur başkasının bilgisayarı vardır* deyişi haksız yere söylenmiş bir söz sayılmaz. Nihayetinde siz uzak sunucuya şifrelemeden yüklediğiniz her dosya sunucunun hakimiyetine sahip olan kişilerin elinde özel bir çaba göstermeden görülebilir durumdadır. Bu bakımdan hem kullandığınız depolama sağlayıcısının kötü niyeti veya devletlerle olan olası anlaşmaları konu olabileceği gibi bireysel kötücül bir aktörün bu alana ulaşıp verilerinize erişmesi de mümkündür. Bu sebeple uzak sunucu kullanımında dosya sistemi şifrelemesi çok etkili bir güvenlik tedbiri olarak kullanılabilir.

## Uzak sunucunun dosya sistemine dahil edilmesi

Her "bulut" sistemi dosya sistemine erişmeniz için farklı imkanlar sunabilmekte. Bunların kimi özgür olmayan yazılımların kullanımını gerektirirken kimi de web arayüzünden erişim gerektirmekte. Burada anlatılan şekilde sorunsuzca dosyalarınızı şifrelemek için uzak sunucuda bulunan dizininizin yerel bilgisayarınızdaki dosya sistemine dahil edilmesi gerekli. Bunun için hizmet sağlayıcınızın aşağıdaki protokollerden birini desteklemesi veya kendi yazılımları ile benzer bir sonucu sunması gereklidir:

* Sftp
* WebDav
* Samba
* Ftps

Bu protokollerden biri ile GNU/Linux ile birlikte en yaygın kullanılan masaüstü ortamı olan [GNOME'un](https://www.gnome.org/) varsayılan dosya yöneticisi olan [Nautilus](https://wiki.gnome.org/Apps/Nautilus) ile dosya sisteminize çok rahat bir şekilde ekleyebilirsiniz. Bunun için öncelikle hizmet sağlayıcınızdan bir bağlantı edinmeniz gerekiyor. Örneğin WebDav bağlantılar için bu `https://depo.oyd.org.tr/remote.php/dav/files/xxx/` şeklinde olabilir. Kimi dosya yöneticileri özellikle protokol belirtilmesine ihtiyaç duyduğundan bunu `davs://depo.oyd.org.tr/remote.php/dav/files/xxx/` biçiminde de kullanmanız gerekebilir. 

Bağlantıyı elde ettikten sonra Nautilus'un sağ navigasyon menüsünden `Diğer konumlar` sekmesine girip alt tarafta bulunan `Sunucuya Bağlan` çubuğa adresi yazıp ` bağlan düğmesine tıklayın.

![](uzaksunucu/sn_baglan.png)

Bağlantınızın başarılı olması durumunda yetkilendirme için bir pencere karşınıza gelecektir. Buraya hesap bilgilerinizi girerek parolanızın ne süre ile hatırlanacağını seçerek devam edebilirsiniz. Şayet parolanızı her yeni oturumda girmekten yorulmazsanız tavsiyemiz bu yönde olur. Aksi halde bilgisayarınızın [Luks](cihaz_sifreleme.md) ile şifreli olduğu bir durumda görece sorun olmadan bu parolayı kalıcı olarak kaydedebilirsiniz.

![](uzaksunucu/sn_yetki.png)

Yetkilendirmenin ardından sağ navigasyon menüsünde yeni alanınızı görebilirsiniz. Dilerseniz üzerine sağ tıklayıp bir `bookmark` ekleyip sabit olarak orada kalmasını sağlayabilir, yeni bir ad verebilirsiniz.

## SiriKali ile dizin şifreleme

[Sirikali](https://mhogomchungu.github.io/sirikali/) GNU/Linux işletim sistemleri için yazılmış çeşitli dosya sistemi şifreleme imkanlarını bir arada sunan bir önyüzdür. Bu araç ile uçbirim karmaşasına girmeden cryfs, gocryptfs, encfs gibi araçları kullanmak mümkün. Sirikali ve tüm şifreleme araçlarını kurmak için aşağıdaki komutu bir uçbirimde çalıştırabilirsiniz.

Debian tabanlı işletim sistemlerinde:

`sudo apt-get install sirikali encfs cryfs gocryptfs`

RPM tabanlı işletim sistemlerinde (Fedora, Redhat, Centos):

`sudo yum install sirikali encfs cryfs gocryptfs`

Kurulumun ardından Sirikali'yi çalıştırdığınızda aşağıdaki gibi basit bir ekran sizi karşılayacaktır.

![alt-text](luks_usb/siri_anaekran.png)

Şifreli bir dosya dizini oluşturmak için "Create Volume" düğmesine tıklayıp çıkan şifreleme araçlarından birini seçmelisiniz. Şifreleme araçları farklı özellikler sunmakla tercihinizi aşağıdaki bilgilere göre yapabilirsiniz:

* CryFS: Görece yeni bir yazılım olmakla birlikte sunduğu özellikler bakımında önem arz ediyor. CryFS dizinde bulunan dosyaları sabit bloklar şeklinde şifrelemekte ve bu sayede dosya düzeni ve üstveriye ilişkin bilgi sızdırmamakta. Bu özellik nedeni ile diğer tercihlere göre daha yavaş çalışması söz konusu. Bu durum özellikle ağ üzerinden yapılan işlemlerde sorun çıkarabilir. [Copyleft](https://www.gnu.org/licenses/copyleft.en.html) GPL lisansı ile dağıtılması bir avantaj olarak görülebilir.

* gocryptfs: CryFS'nin aksine dizin yapısını ve dosyaları koruyarak şifrelemekte. Bu sayede şifrelenen dizinin birebir bir kopyası oluşturulmakta. Aynı zamanda reverse(ters) mod sahibi olduğu için belirli dizinlerin yedeklenmesinde faydalı olmakta. gocryptfs dosyaların boyutları, oluşturulma zamanları ve dizin hiyerarşisi hakkında üstveriyi korumamakta.

* Encfs: Köklü bir geçmişi olmasına rağmen 2014'te fark edilen açıklarından dolayı kullanılması artık önerilmemekte.

Kullanmak istediğiniz yazılımı seçtikten sonra karşınıza gelen ekranda; şifreli dizinizin ismini, bulunmasını istediğiniz dizini (bu kapsamda bir önceki bölümde anlatıldığı üzere uzak sunucu dizniniz veya altındaki bir dizini), yetkilendirmek için kullanacağınız yöntemi (key: parola için) ve parolanızı belirledikten sonra "create" düğmesine basarak dizininizi oluşturabilirsiniz.

![alt-text](luks_usb/siri_olustur.png)

![alt-text](luks_usb/siri_olustur2.png)









