En Ucuz ve Güvenli Nas Sistemi Yapmak

Amaç : Bilgilere 7/24 erişim.

Gereksinimler : çalışır durumdaki Raspberry Pi 1 veya 2, internete bağlı router modem, internet bağlantısı, SSH (Mesela Putty) programı.

Sonuç : Harika! 😕

Herhangi bir USB girişli harici harddiskinizi Raspberry Pi aracılığı ile modeme bağlayarak, tüm bilgilerinize (döküman, film,müzik,fotoğraf vb.) 7/24 ulaşabilmek istemez miydiniz? Israrla isteyiniz! Çünkü bu sistem linux işletim sisteminden dolayı esnek, güvenli ve bir o kadar ekonomik. Raspberry Pi ile yıllık 50 TL’yi geçmeyen elektrik masrafınız olur, linux işletim sistemi bedava, istediğiniz eklentileri ekleyip çıkarabilirsiniz, ve ssh üzerinden ulaşabildiğiniz için de güvenli. Kısaca, benim gibi bilgilerinize 7/24 erişim istiyorsanız, bu yöntem sayesinde bunu gerçekleştirebilirsiniz.

Nasıl : Öncelikle internetinizin çalıştığına emin olun.
Raspberry Pi ‘yi kablo ethernet yoluyla modeme bağlayın, ve IP aldığından emin olun.
Harici belleğinizin Raspberry Pi ‘nin USB girişine bağlı olduğundan emin olun.

Yani kısacası ekipmanların çalıştığına emin olun. “Kablosunu takmamışım, internete bağlamamışım, elektrikler kesildi” cümlelerini duymak istemiyorum 😕

sistemdeki ekipmanların çalıştığına eminseniz, Arch Linux’un ARMv6 ve ARMv7 bölümlerinden, sistem yüklemeleri için olan imajlarını bulabilirsiniz. Ben Raspberry Pi (ARMv6) için olan bu imajı kullanarak sistemi kurdum; bu linkten indirebilirsiniz.

pi-server.zip dosyasını indirdikten sonra, Win32Diskimager ile imajı, SDCardımıza yazıyoruz. Raspberry Pi ‘ye yerleştirip, sistemi çalıştırabiliriz. Bu sırada (benim evimdeki sistem gereği) başka bir bilgisayardan SSH bağlantısı yaparak, Raspberry’ye ulaşabiliriz. Siz Raspberry üzerinden çalışıyorsanız, bu SSH bölümünü geçebilirsiniz.

Ben SSH için Putty kullanıyorum, Putty üzerinden sisteme bağlanmak için sistemin adresini bilmem gerekiyor, ben biliyorum. Siz bilmiyorsanız, modem anasayfasındaki LAN istemcileri kısmından, sisteminizde bağlantı yapan cihazların IP adreslerini sabitleyebilirsiniz. Ben Raspberry Pi ‘nin adresini 192.168.2.2 olarak ayarladım.

Sisteme Erişim – SSH :
Putty üzerinden, Pi’ye bağlanıyorum. “root” kullanıcı adı ve aynı şifresi ile sisteme giriş yapmaya hazırız. Girişi yaptıktan sonra aşağıdaki gibi bir ekranla karşılaşacaksınız.

Sistemi Güncelleme :
şimdi sıra sistemi güncellemekte, bu kısımdaki bütün ihtiyaçlarınızı Arch Wiki adresinden karşılayabilirsiniz.

pacman -Syu

Edit : diğer komutlara buradan ulaşabilirsiniz : https://wiki.archlinux.org/index.php/Pacman_Rosetta

Update ve upgrade işlemlerini yapıyoruz. Sistemin güncel olması bizi sorunlardan, karşılaşılabilecek güvenlik önlemlerinden koruyacaktır.

Eski sürümlerden ileriye atlamışsanız, cmdline.txt dosyasının kod satırında, harddiskin yanına rw şeklinde yazma korumasını açmayı unutmayın!

Samba :
Windows makineler üzerinden, klasör ve veri paylaşımı için, sisteme Samba eklentisini eklemek gerekecektir. Samba’yı bu sisteme nasıl ekleyeceğimizi bu linkten öğrenebilirsiniz. Sistem grup adınızı WORKGROUP yapmayı unutmayın. Böylece windows üzerinde de rahatlıkla görülecektir.

Harici Belleğin Sisteme Tanıtımı :
Sistem güncel ve herşey olduğu gibi çalışıyor, ama NAS’ı NAS yapan harici belleğin sisteme eklenmesi de gerekenler arasında. Bunun için 1-2 dosya ile oynuyoruz.

Harici diskiniz NTF formatlanmış ise, “pacman -S ntfs-3g” kodunu kullanrak linux sisteme ntf okuma yöntemini ekliyoruz.

/mnt/ klasörü içinde bir klasör yaratıyoruz, ve harici belleğimizi buradaymış gibi sisteme tanıtıyoruz.

mkdir /mnt/herhangibirisim” ile klasörümüzü yarattık.

Sistemin harici diskimizi nasıl tanıdığına bakalım, “fdisk -l” kodu ile sistemdeki belleklerin durumuna bakabiliriz. Benimki /dev/sda1 olarak gözüküyor.

mount /dev/sda1 /mnt/herhangibirisim

kodunu kullandık, ve sisteme 1 kereliğine harici belleğimizi tanıttık. 1 sefer tanıttığımız için, bu durumu sürekli yapalım. Her açılışta sistem bu belleği tanısın istiyoruz. Bunun için

nano /etc/fstab

kodu ile, her açılışta sistemdeki bellekleri sisteme tanıtacak olan dosyamızı açıyoruz. Sonrasında buraya

/dev/sda1 /mnt/herhangibirisim vfat defaults 0 0

satırını ekliyoruz (benim harici bellek linux için fat32 formatlandı, bu sebeple vfat yazıyor; sizinki ntfs ise ntfs-3g yazabilirsiniz.).

mount -a” ile yukarıdaki satırı sisteme okuttuk. Böylece sistemimiz her açıldığında harici belleğimizi tanımak için hazır.

Dosyalara Erişim :
Üstteki linkte bahsedilen Samba ile, erişime açtığımız harici belleğimizi, artık sistem üzerinden başka bilgisayarlar ile erişebilir duruma getirdik. Dosyaları değiştirmek, silmek, veya onları taşımak isterseniz (benim sistemimde güvenli olmadığı için ben bu kurala yes dedim) Samba ayar dosyasında “read only = no” satırının yer aldığına emin olun.

Sistem Dosyalarına Erişmek :
Sistem dosyalarına erişmek için WinSCP veya başka diğer SFTP programı kullanabilirsiniz. Bağlantı oluştururken aşağıdaki adımları izleyin,

File Protocol : SFTP
Host Name : 192.168.2.2
Port Number : 22
User Name : root
User Password : root

Bu kurallar ile bağlandığınızda /mnt/herhangibirisim klasöründe harici bellek dosyalarınızı görüntüleyebilirsiniz. Sisteme dosya eklemek, silmek ve değiştirmek isterseniz, bu güvenli bağlantı üzerinden yapabilirsiniz (2 Gb boyutundaki bir dosyayı, harici belleğime 6 dakikada atabiliyorum).

Sistem Adını Değiştirmek :

Bir başka deyişle bilgisayar adını değiştirmek için, /etc/hostname dosyasını düzenleyebilirsiniz. Buraya yazacağınız isim, bilgisayar isminiz olacaktır. Ben NAS olarak değiştirdim. Tüm bilgisayarlarda NAS ismi ile sisteme erişiyorum.

Root kullanıcı şifresini değiştirmek :
Güvenlikten bahsettiğimize göre, root kullanıcı adının şifresini “passwd” kodu ile değiştirelim, bundan sonraki erişimlerde değiştirdiğimiz şifreyi kullanacağımızı unutmayalım. Ayarlarımızı ona göre yenileyelim.

Root ile kullanıcı erişimini engellemek, ve başka bir kullanıcı ile giriş yapmak :

Madem güvenlikten bahsediyoruz, o zaman herkes tarafından bilinen “root” kullanıcısı ile giriş yapmayı engellemek akıllıca olacaktır. Tüm işlemlerinizi bitirdikten sonra, bir kullanıcı yaratıp, yarattığınız kullanıcıya “root” hakları tanımanız, sizi güvenlik olarak bir üst seviyeye taşıyabilir. Çünkü yarattığınız kullanıcı ismini, dışarıdan sisteminize sızmaya çalışan biri bulamayacaktır. Bu sayede tahmin etmesi gereken 2 aşamalı bir sisteminiz olmuş olur 😉

Bunun için, aşağıdaki adımları izleyin :

useradd -m kullaniciadi

passwd kullaniciadi

Kullanıcımızı ekledik, ve kendisine şifre atadık. Şimdi kendisine root hakları tanıyalım :

nano /etc/sudoers

komutu ile sudoers dosyasını açıyoruz, içerisine aşağıdaki satırı ekleyelim :

kullaniciadi ALL=(ALL) ALL

CTRL + X ile dosyayı kaydedip, kapatın.

nano /etc/ssh/sshd_config

ile sshd_config dosyasını düzenlemek için açalım, aşağıdaki satırları ekleyin :

Port 667
PasswordAuthentication no
PermitRootLogin no

Yukarıdaki satırlar size, standart olan 22 portu yerine, (tahmini zorlaştırmak için) başka bir port ile giriş yapmanızı sağlayacaktır (667 olan port numarasını, gnvenlik için 1024’den küçük tutarak herhangi bir numara ile değiştirebilirsiniz); root haklarına sahip olan “kullaniciadi” kullanıcısı hariç, “root” kullanıcısı ile de giriş yapmanız engellendiğinden, şifrenizi deneyecek bir kullanıcı adı olmayacaktır.

Bu durumda saldırgan, port numarasını, kullanıcı adını ve bunları bulursa şifrenizi tahmin etmek durumunda kalacaktır. İşlerini biraz daha zorlaştırdık.

Son Olarak Bu Sistem ile Ne mi Yapıyorum? :
Evimde tüm bilgisayar, TV, ve mobil cihazlar ile sisteme erişerek, harici belleğimdeki filmlere 7/24 ulaşabiliyorum.

Yaşasın! 😕

Sanver: