
1. Giriş
Günümüzde kişisel verilerin kontrolü ve güvenliği her zamankinden daha önemli. Dosyalarınızı, fotoğraflarınızı, takvimlerinizi, notlarınızı ve hatta şifrelerinizi Amazon, Google veya Microsoft gibi büyük bulut sağlayıcılarına bağımlı olmadan merkezi bir sistemde yönetmek isteyebilirsiniz. Bunun için self-hosting ismi verilen yöntemi kullanmanız yani kendi sunucunuzu kendi cihazlarınızda barındırmanız gerekir. Ancak kendi evinizde sunucu çalıştırmak, sunucuya internet bağlantısı olan heryerden erişememe ve veri güvenliğini sağlayamama gibi teknik problemleri beraberinde getirir. Bu problemler çoğu zaman karmaşık ve yüksek maliyetli yöntemler ile çözülür.GemCloud projesi
bu problemlerin kolay, maliyetsiz ve güvenli bir şekilde çözülmesini sağlar.
2. Nextcloud Kurulum
Nextcloud açık kaynak kodlu bir bulut çözümüdür. Fotoğraf ve dosya depolama, sohbet, takvim, şifre yöneticisi, kanban görev planlama gibi uygulamaları bir arada sunar. Gemstone geliştirme kartına terminal bağlantısı yaptıktan sonra aşağıdaki komut ile Nextcloud kurulumunu başlatınız.admin kullanıcı şifresi olarak kullanılmaktadır. Güçlü ve akılda kalıcı bir şifre
seçerek şifrenizi saklayınız.

3. Dış Dünyadan Erişim
Evinizde kullanmış olduğunuz bilgisayarlarınıza ip adresi ile erişim yalnızca ev içerisindeki ağda mümkün olmaktadır. Son yıllarda popüler hale gelen robot süpürgeler, akıllı aydınlatma sistemleri, mobil telefondan kontrol edilen klima ve çeşitli ev aletlerinin dış dünyadan erişelebilir olması ise bu cihazların üreticiler tarafından kurulan çeşitli sunuculara veri aktarımı gerçekleştirilerek mümkün olmaktadır. Gemstone Cloud projesine dış dünyadan erişebilmek için en kolay çözüm internet servis sağlayıcınızı arayarak (ISP: TurkNet, Turktelekom, Superonline vb.) Statik IP talebinde bulunmanız ve modem ayarlarından port yönlendirmesi yapmanızdır. Bunu yapmak istemeyen kullanıcılar için ise Tailscale, Localtunnel gibi çeşitli çözümler bulunmaktadır.- Örnek Akıllı Ev Sistem Ağı
- ISP Modem ve Lokal Ağ
3.1. Tailscale Kurulum


Machines -> Add device -> Linux server seçeneğini seçiniz.

Generate install script butonuna tıklayarak oluşan tailscale kurulum
komutunu kopyalayınız. Ardından Gemstone karta terminal bağlantısı yaparak
kopyaladığınız komutu terminalde çalıştırınız.

Machines bölümünden Connected yazıp yazmadığına
bakarak doğrulayınız.

DNS menüsüne girip sayfanın en altında bulunan Enable HTTPS butonuna, ardından Enable butonuna
tıklayınız.

Machines -> Add device -> Client device seçeneğini seçiniz.

Connected etiketiyle görmeniz gerekmektedir.

admin şifresi ise kurulum esnasında girdiğiniz CLOUD şifresidir.

3.4. Tailscale Neden Kullanılıyor ?
IPv4 adreslerinin sınırlı sayıda olması nedeniyle, internet servis sağlayıcıları CGNAT (Carrier-Grade NAT) kullanarak birden fazla kullanıcıyı tek bir IPv4 adresi üzerinden internete çıkarır. Bu durum, evde çalışan sunuculara (bizim durumumuzda Nextcloud) doğrudan erişimi engeller. Tailscale, bu sorunu çözmek için WireGuard tabanlı bir VPN ağı kurarak, CGNAT ve geleneksel NAT engellerini aşar. Kullanıcılar, internet erişimi olan her yerden, yalnızca yetkilendirilmiş cihazlarla güvenli bir şekilde Nextcloud sunucusuna bağlanabilir. Böylece, herkese açık IP paylaşımına gerek kalmadan, kapalı ve kontrollü bir ağ ortamı sağlar.3.5. Static IP ile Kullanım
Yapım aşamasında…4. Gelişmiş Güvenlik
4.1. Nextcloud İki Adımlı Doğrulama
Admin hesabına giriş yaptıktan sonra üste bulunan profil resmine tıklayarak, açılan menüdenPersonal Settings
seçeneğine tıklayınız.

Security seçeneğini seçip Enable TOTP kutucuğunu işaretleyiniz.

Authentication alanına girip Verify butonuna tıklayarak işlemi tamamlayınız.

4.2. Tailscale Tailnet Lock Aktifleştirme
Kurulan bu sistemde Nextcloud’a erişim yalnızca tailnet ağına eklediğimiz cihazlarla yapılabildiğinden sistem güvenlidir. Ancak burada ağa eklenecek cihazları kontrol edenTailscale firmasının Coordination Server ismini verdiği kapalı
kaynaklı bir sunucusu mevcuttur. Tailnet’e bir cihazın katılıp katılamayacağının kararı bu sunucu tarafından
verilmektedir.
En kötü senaryoda Tailscale firması sizi hedef alırsa, Coordination Server kullanarak sizin izniniz dışında
tailnetinize cihaz ekleyebilir. Tailscale firması bu sorunu Tailnet Lock ismi verilen bir yöntemle çözmektedir.
Tailnet Lock; ağa katılmaya olanak sağlayan anahtarları Tailscale firmasının kendi Coordination Serverinde
tutmak yerine sizin belirlediğiniz ağınızda bulunan iki cihazda tutmaktadır. Böylelikle tailnetinize girişleri
yalnızca bu iki cihaz yönetebilmektedir.
Kontrol panelinden Settings -> Device management -> Enable tailnet lock butonuna tıklayınız.

Add new signing node butonuna tıklayıp hali hazırda tailnette bulunan iki cihazı seçiniz.
Eğer sizin tailnetinizde başka cihazlar da varsa burada seçilen cihazlar güvendiğiniz cihazlar olmalıdır.

Configure disablement options bölümüne gidip Don’t send disablement secret to Tailscale support seçeneğine tıklayınız.
Run command from signing node bölümünde oluşan komutu kopyalayıp eklediğimiz cihazların birinde çalıştırmamız gerekmektedir.
(Örneğin Gemstone kartta çalıştırabilirsiniz.)

disablement-secret:XXXXXXXX şeklindeki devre dışı bırakma kodlarını güvenli bir yere not
ediniz. Kontrol panelinde Machines kısmında ise seçtiğimiz iki cihazın altında Signing node ibaresini
görmemiz gerekmektedir.

Locked out olarak gözükeceklerdir.

Sign machine butonuna basılmalı ardından cihazın işletim sistemine uygun seçeneklerden biri
seçilip sign işlemi tamamlanmalıdır. İşlemin ardından cihaz ağa bağlanmış olur. Sign işlemini Gemstone kartta
yapmak için CLI seçeneğini seçip oluşan komutu karta terminal bağlantısı yapıp terminalde çalıştırınız.


