Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Canyoupwn.me ~

TR | Onion Pi Kurulum

v.1 – Raspberry PI

Yazımıza henüz adını duymamış olanlar için “Raspberry PI nedir” sorusuyla başlayalım. Raspberry PI,  üzerinde SD kart girişi,USB girişi, ses girişi,GPIO(General-Purpose Input/Output) girişleri, Ethernet girişi ve HDMI girişi olan kredi kartı büyüklüğündeki bilgisayardır. Yapılma amacı Büyük Krallık’ta öğrencilere Bilgisayar Bilimini öğretmektir. Peki ya Onion PI nedir?

 

Raspberry PI

Raspberry PI Model B+

 

v.1.2 – Onion PI

Onion PI Adafruit tarafından geliştirilen bir Raspberry Pi projesidir. Raspberry üzerine Tor kurulması ve Raspberry’nin Access Point olarak kullanılması sonucunda internete sürekli değişen IP adreslerinden çıkma prensibine dayanır. Bu da bize gizlilik kazandırır. Adafruit websitesinde Onion Pi setleri satılmaktadır. Fakat elinizde Raspberry Pi varsa zaten kendi OnionPI’ınızı kurabilirsiniz.

 

raspberry onion pi

Onion Pi

 

v.2 – Onion Pi Kurulum Aşaması

v.2.1 – Gerekli Donanımlar

  1. Raspberry PI
  2. Ethernet Kablosu
  3. WiFi Adapter (Raspberry PI 3 modelinde WiFi donanımı gömülü gelmektedir. Bu donanım önceki modeller içindir.)
  4. SD Kart (Önerilen minimum 8 GB)
  5. Raspberry PI için güç kaynağı
  6. HDMI Kablosu (İlk Raspberry kurulumu için)
  7. Keyboard ve Mouse (İlk Raspberry kurulumu için)

v.2.2 – Hazırlıklar

Öncelikle Raspberry üzerine bir işletim sistemi kurmamız gerekmektedir. Raspbian,Ubuntu Mate,Windows 10 IoT önerilen sistemler arasındadır. Yeni başlayanlar için öneri; SD kartınıza NOOBS yükleyerek kolaylıkla Raspbian kurabilirsiniz. Buradan NOOBS indirebilirsiniz.

NOOBS ile Raspbian kurmanız için yapmanız gerekenler adım adım şunlardır :

  1. SD kartınızı biçimlendirin.
  2. İndirdiğiniz NOOBS dosyasının içindekileri SD kartınıza taşıyın.
  3. SD kartı Raspberry PI SD Kart girişine yerleştirin.
  4. Keyboard , Mouse ve HDMI kablolarını Raspberry PI USB girişlerine yerleştirin.
  5. Son olarak güç kablosunu takın.
  6. HDMI kablosunu bağladığınız ekranda birkaç saniye sonra NOOBS grafik arayüzü ile karşılaşacaksınız, buradan kurmak istediğiniz işletim sistemini seçin.
NOOBS grafik arayüzü

NOOBS grafik arayüzü

Kurulum bittikten sonra yeniden başlatma gerçekleşecektir. Cihaz server modunda açılacaktır. Grafik arayüzü başlatmak isterseniz “startx” yazmanız yeterli olur. İsteğe bağlı olarak terminalden “sudo raspi-config” yazarak bu arayüzden ayarlarla oynayabilirsiniz.

raspi-config üzerinden Advanced Options sekmesinden SSH bağlantısını açabilirsiniz.

Hatırlatma : “raspbian default user : pi” ve “raspbian default password : raspberry“dir.

 

v.2.2.1 – Uzaktan Kullanım için SSH ve VNC Kurulumları

İşletim sistemini de kurduktan sonra her zaman Raspberry Pi cihazınıza keyboard veya HDMI ile monitör bağlantısı sağlamak zorunda değilsiniz Kurulum sonrası evinizdeki Access Point’e bağlanın. Artık cihazda wlan0 veya eth0 üzerinde bir IP adresimiz mevcut. Eğer raspi-config üzerinden SSH bağlantısını açtıysanız Windows için PuTTy üzerinden ip adresini girerek, Linux için terminalden “ssh [email protected]<raspi-ip-adresi>” komutuyla SSH bağlantısı sağlayabilirsiniz.

Öncelikle VNC kısmı kesinlikle şart değildir. İlave bilgidir. Yine de ben grafik arayüz istiyorum derseniz ne yapmanız gerekiyor?

  • Öncelikle “sudo apt-get install tightvncserver” komutuyla tightvnc yükleyelim.
  • Yükleme bittikten sonra “tightvncserver” yazalım. Bu komut ilk kullanımda VNC bağlantısı sağlamak için şifre belirlemenizi sağlar.
  • Sonraki adım “vncserver :1 -geometry 1920×1080 -depth 24” komutudur. Bu komutla istenilen boyutta, 5901 portundan grafik arayüzü açar.
  • Cihaza bağlanmak istediğiniz Linux makinenize de “sudo apt-get install xtightvncviewer” komutu ile grafik arayüze erişmenizi sağlayacak olan servisi yükleyin.
  • Daha sonra Linux terminalinize “xtightvncviewer” çalıştırdığınızda servis sizden hedef makinenin IP adresi ve portunu isteyecektir. “<ip adresi:5901>” girdikten sonra Raspberry PI grafik arayüzüne Linux makineniz üzerinden ulaşmış olursunuz.

 

Hatırlatma : VNC portları 5901 portu ile başlar. İkinci bir tightvncserver başlatmanız durumunda karşı tarafta bu bağlantıyı “<ip adresi:5902>” şeklinde sağlayabilirsiniz.

v.3.1 – Raspberry PI Access Point Oluşturma

Kurulumun en zahmetli kısmına geldik. Bu aşamadan sonra cihazımıza Tor yükleyip internette farklı IP adresleri ile gezebileceğiz ama bu kısmı bitirmemiz gerek. Açıkçası bu kısımda artık pes etmek üzereydim. Defalarca denemeye rağmen Access Point oluşturamadım. Bu kısımda dikkat etmeniz gereken en önemli şey doğru dhcp servisini kullanmak ve doğru driver adı girmek.

  • “sudo apt-get update” komutuyla repolara bir güncelleme atalım.
  • “sudo apt-get install dnsmasq hostapd” komutuyla bize dhcp hizmeti sağlayacak olan “dnsmasq” ve cihazı Access Point olarak kullanmamıza yarayacak “hostapd”yi cihaza kuralım. Siz isterseniz dhcp olarak “isc-dhcp-server”da kurabilirsiniz. Fakat beni gerçekten uğraştırdığı için kurulumu daha kolay olan dnsmasq‘ı öneriyorum.
  • Bu aşamada işimiz wlan0 ile. sudo nano /etc/dhcpcd.conf komutu ile dhcpcd konfigürasyon dosyasını açıp dosyanın en altına “denyinterfaces wlan0” satırını ekliyoruz. Bu kısım static ip adresi verebilmemiz içindi.
  • wlan0’a Static IP adresi verebilmek için ve dhcp oluşturabilmek için “sudo nano /etc/network/interfaces” komutu ile interfaces dosyasını düzenlemeye başlıyoruz. Burada dikkatli olmamız gerek. Yanlış yapılacak ayarlamalar eth0,lo,wlan1 gibi interfaceleri bozabilir. Burada wlan0 kısmını bulup şu satırları ekliyoruz.

allow-hotplug wlan0
iface wlan0 inet static
adress 192.169.1.1 #istediğiniz ip adresini kullanabilirsiniz.
netmask 255.255.255.0
network 192.169.1.1
broadcast 192.169.1.255
#wpa-conf /etc/wpa-supplicant/wpa-supplicant.conf

Ben daha farklı bir ip adresi verdim. Düzenlemesini yaptığınız dosya hemen hemen şu şekilde gözükmelidir.

/etc/network/interfaces

sudo nano /etc/network/interfaces

bu satırları ekledikten sonra Ctrl+X ile kaydedip çıkıyoruz. Daha sonra dhcpd’yi yeniden başlatmamız gerekiyor.

  • Bunun için “sudo service dhcpd restart” komutunu çalıştırıyoruz. wlan0’ı kapatıp açmak adına da sudo ifdown wlan0 komutunun ardından sudo ifup wlan0 komutunu çalıştırıyoruz. Bu kısımda adress ile ilgili bir hata alırsanız bu hatanın nedeni yukarda yazdığımız satırlardaki boşluklardan kaynaklıdır. Hata alınması durumunda “adress,netmask,network,broadcast” satırlarını başlarındaki boşlukları tekrardan düzenleyin.
  • Terimiz soğumadan hostapd’yi yapılandırmaya başlıyoruz. HostAPD’yi çalıştırmamız için hostapd.conf adında bir konfigürasyon dosyası oluşturmamız gerekiyor. Hemen “sudo nano /etc/hostapd/hostapd.conf” komutunu çalıştırıyoruz ve şu satırları ekliyoruz. Bu aşamada sizin cihazınızın driverı farklı olabilir. Bu driver işe yaramazsa “rtl871xdrv” deneyin. Yine işe yaramazsa internette küçük çaplı bir araştırma işinizi görür.
/etc/hostapd/hostapd.conf

sudo nano /etc/hostapd/hostapd.conf

bu satırları ekledikten sonra konfigürasyon dosyamız oluşturuldu. Kaydedip çıkıyoruz. Artık cihazımız Access Point olarak çalıştırılmaya hazır.

“sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf” komutuyla çalıştırabiliriz. Daha kolay yolu var tabii. Sonuçta hostapd’yi servis olarak çalıştıracağız. Bu yüzden “sudo nano /etc/default/hostapd” yazıp #DAEMON_CONF=”” yazan satırı buluyoruz. Başındaki “#” karakterini kaldırıp tırnakların içerisine /etc/hostapd/hostapd.conf yazdıktan sonra dosyayı kaydedip çıkıyoruz.

/etc/default/hostapd

sudo nano /etc/default/hostapd

Bağlandıktan sonra ben neden internete bağlanamadım diyenler olabilir. Üzülmesinler çünkü henüz daha dnsmasq ve iptables konfigürasyonlarını tamamlamadık. Eth0 ile wlan0 arasındaki internet akışına henüz izin vermedik. Hemen dnsmasq konfigürasyonu ile başlıyoruz.

  • sudo nano /etc/dnsmasq.conf komutu ile dnsmasq.conf adında bir dosya oluşturuyoruz. Bu dosyanın içine aşağıdaki satırları kaydedip çıkıyoruz.

 

interface=wlan0
listen-adress=192.169.1.1
#az önce belirttiğimiz ip adresi
bind-interfaces
server=8.8.8.8
#google dns
domain-needed
bogus-priv
dhcp-range=192.169.1.50,192.169.1.100,12h
#bağlanacak kişiye verilecek ip adresi aralıkları dhcpde 12 saatliğine kiralanacak.

Satırların eklenmesi sonunda dosya şu şekilde gözükmelidir.

/etc/dnsmasq.conf

sudo nano /etc/dnsmasq.conf

  • Sıra geldi iptables kurallarına. İlk olarak ipv4 forwarding özelliğini açalım. “sudo nano /etc/sysctl.conf” komutu ile bu konfigürasyon dosyasını açalım. Bu dosya içerisinde aradığımız şey #net.ipv4.ip_forward=1 satırı. Bu satırın başındaki # karakterini kaldırarak satırı aktif hale getirelim. Kaydedip çıktıktan sonra ilk rebootta bu özellik aktif hale gelecektir.
  • eth0 ve wlan0 arasındaki trafiği sağlamak için gerekli iptables kuralları şunlardır.

 

iptables kuralları

iptables kuralları

 

  • Bu komutları teker teker terminalde çalıştırdıktan sonra “sudo iptables -L” komutu ile doğruluğunu kontrol edelim. Fakat önemli bir hatırlatma yapayım. Cihazı yeniden başlattığınız takdirde bu kurallar kaybolacaktır. Bu yüzden bu kuralları sabit hale getirelim.
    sudo sh -c “iptables-save > /etc/iptables.ipv4.nat” komutu ile şu anki iptables kurallarını iptables.ipv4.nat dosyasına kaydedelim.

instant_ipv4forward

  • sudo nano /etc/rc.local komutu ile bu dosyayı açıp dosyanın en altında bulunan “exit 0″ satırının bir üstüne
    iptables-restore < iptables.ipv4.nat satırını ekleyip kaydedelim.
/etc/rc.local

sudo nano /etc/rc.local

Her şey hazır! Tek yapmamız gereken hostapd ve dnsmasq’ı servis olarak çalıştırmak.

sudo service hostapd start
sudo service dnsmasq start

Artık Pi-AP Access Pointimize bağlanıp internetin bize sunduğu nimetlerden yararlanabiliriz. Fakat bu uzun kurulumdan sonra asıl amacımızı hatırladım, Onion PI kurmak. Biraz dinlendikten sonra son aşamaya geçebiliriz. Pes etmek üzere olanlar için söyleyeyim, son aşama bu aşama kadar uzun sürmüyor.

v.3.2.0.final – TOR

Öncelikle cihazımıza “sudo apt-get install tor” komutu ile tor yüklüyoruz. Tor config dosyasını düzenlemek adına

“sudo nano /etc/tor/torrc” ile dosyayı açıp aşağıdaki satırları ## Tor opens a socks proxy on port 9050 by default satırının üstüne kopyalıyoruz.

Log notice file /var/log/tor/notices.log
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
TransPort 9040
TransListenAddress 192.169.1.1 #bizim belirttiğimiz ip adresi
DNSPort 53
DNSListenAddress 192.169.1.1

ekledikten sonra kaydedip çıkıyoruz. Şekil a.1 :

sudo nano /etc/tor/torcc

sudo nano /etc/tor/torcc

Şimdi yapmamız gereken iptables kurallarını Tor’a göre ayarlamak. “sudo iptables -F” ve “sudo iptables -t nat -F” komutlarını girip bu kuralları sıfırlayıp yeni kurallarımızı eklemeye başlıyoruz.

tor_iptables1

#bu komut ssh portundan iletişimi sağlamaya devam edebilmek için.

tor__iptables2

#bu komut wlan0 üzerinden gelen DNS trafiğini tor trafiğine yönlendirmek için.

tor_iptables3

#bu komut wlan0 üzerinden akan bütün TCP trafiğini tor proxy üzerine yönlendirmek için.

iptables_save

#bu komut ile yeni iptables kurallarımızı iptables.ipv4.nat dosyası üzerine kaydediyoruz.

  • iptables kuralları ile işimiz bitti. Son olarak tor log dosyası oluşturacağız. Aşağıdaki komutları teker teker çalıştırıyoruz.
Tor log dosyası oluşturma adına çalıştırılacak olan komutlar

Tor log dosyası oluşturma adına çalıştırılacak olan komutlar


log dosyasını oluşturup gerekli izni verdikten sonra artık tor’u servis olarak çalıştırabiliriz.

sudo service tor start

Eğer her açılışta Tor’un otomatik olarak çalışmasını istiyorsanız terminale sudo update-rc.d tor enable” yazmanız gerekiyor.

Sonunda kurulum tamamlandı. Umarım hata almadan kurulumu tamamlayabilirsiniz. Ben o kadar çok sorunla karşılaştımki bu yazıyı yazmam gerçekten uzun sürdü.

v.4.0.0 – Test

Kurulumu tamamladıktan sonra cihazı test ettim. Onion PI Access Pointime bağlandım. İnternetimin nasıl bir yol izlediğini görebilmek için kendime “Traceroute” attım. Sonuçlar tatmin ediciydi :

 

traceroute çıktısı

traceroute çıktısı

Kurulum esnasında sorunlarla karşılaşırsanız iptables kurallarını tekrardan gözden geçirmenizi öneririm. HostAP çalıştırırken bir sorun ile karşılaşırsanız bu da büyük ölçüde driver kaynaklı bir sorundur. Uğraştırsa da başarılı bir şekilde kurulumu tamamladık. Bir sonraki yazıda görüşmek üzere !

xvtMaBkU

About CanYouPwnMe

Hero!

Follow Me