VirtualBox İle PfSense kullanımı ve sanal makinelerin internete çıkması

 Herkese merhaba arkadaşlar bugün VirtualBox üzerine birkaç işletim sistemi kurup bu işletim sistemlerinin gelen ve giden ağ trafiğini kontrol etmek için FreeBSD tabanlı PfSense güvenlik duvarını kullanacağız. Ayrıca bu bilgisayarların internete çıkması için gerekli ayarlamaları yapacağız.

Gerekli Programlar : 

3.) Kali Linux --> https://www.kali.org/downloads/

 Yapacağımız uygulama aşağı yukarı bu resimdeki gibi olacak : 


 Sadece bu resimdeki Web Server kısmını kullanmayacağız. Bu resmi aldığım yeri de kaynaklar kısmında belirteceğim.

 Arkadaşlar NodeJS uygulamasında olduğu gibi burada da kurulumun önemli kısımlarının üzerinde duracağım. Kurulumda değişiklik yaptığım yerleri sizlere aktaracağım çünkü birçok yerde klasik ileri ileri mantığıyla kurulumu gerçekleştireceğiz. 

 Öyleyse kuruluma geçelim. Öncelikle VirtualBox'ı kuracağız. Hiçbir değişiklik yapmadan kurulumu klasik şekilde gerçekleştiriyoruz. Kurulum bitince programı çalıştırıyoruz; ve karşımıza şu ekrana benzer bir ekran geliyor : 


 Benim önceden yaptığım bir gruplama olduğu için VirtualBox biraz farklı görünebilir arkadaşlar sizde LabDers isimli kısım olmayacaktır. Biz zaten yeniden kurulum yapacağız bu nedenle LabDers'e fazla takılmayın. Bu ekran geldikten sonra sol üstteki yeni simgesine tıklayarak bir sanal makine oluşturmaya başlıyoruz. Yeni simgesine tıklayınca şu kısım geliyor : 


 Arkadaşlar burada Adı kısmına yazdığımız kelimelere göre VirtualBox o işletim sistemine göre gerekli simgeleri vs. ayarlıyor. Aslında o kadar da önemli değil ne yazdığınız; ama biz öncelikle Ubuntu Desktop'ı yükleyeceğimiz için Ubuntu yazarak devam edelim.


 Sürüm kısmında ise 64 bit seçmenizi öneririm; ama bazı bilgisayarlarda 64 bit seçenekleri olmuyor. Bunu düzeltmek için BIOS ayarlarında Advanced Options (Gelişmiş Ayarlar) kısmına geliyoruz; ve Intel Virtualization Technology seçeneğini enableb yapıyoruz. Ama bizim uygulamamız için bunu yapmak zorunda değilsiniz. 32 bit kursanızda hiçbir problem çıkmayacatır. Bunları yaptıktan sonra ileri diyerek devam ediyoruz. 



 Bir sonraki ekranda Bellek boyutu soruluyor arkadaşlar default (varsayılan) olarak verilen 1024 MB yeterlidir. Değiştirmeden bir şeyi ileri diyoruz.

 Daha sonraki ekranda Sabit disk soruluyor burada da bir şeyi değiştirmeden (varsayılan olarak "şimdi sanal bir sabit disk oluştur" kısmı seçili bunu değiştirmiyoruz) oluştur diyoruz.

 Sabit disk dosyası türü ekranında da "VDI" seçili bu VirtualBox'ın orijinal Disk Kalıbı bunu da değiştirmeden devam ediyoruz.

 Şimdi geldiğimiz ekran şu olmalı arkadaşlar : 


 Burası biraz önemli arkadaşlar bu kısımdan NodeJS uygulamasında da bahsetmiştim; ama yine bahsedeyim. Burada Değişken olarak ayrılan kısmını seçerseniz, seçtiğiniz boyuta göre bir kısım ayrılır (boyutu bir sonraki ekranda seçeceğiz) ; ama siz yükleme yaptıkça boyutu artar. Sabitlenmiş boyutu seçerseniz de seçtiğiniz boyutun tamamı diskte ayrılır. Bir örnekle açıklamak gerekirse işletim sistemi için 8 GB alan ayırdığınızı varsayalım. Eğer siz Değişken olarak ayrılanı seçerseniz bu 8 GB başlangıçta belki de 2 GB alan kaplayacak ve siz işletim sistemine program, güncelleme vs. yükledikçe artacak ta ki 8 GB olana kadar. Eğer sabitlenmiş boyutu seçerseniz bu 8 GB alan diskte direk olarak ayrılacak siz bir şey ler yükleseniz de yüklemeseniz de 8 GB alan dolu gözükecek. Buna göre seçimimizi yapıp ileri diyoruz (ben değişken olarak ayrılanı seçiyorum).

 Bir sonraki ekran şu olmalı : 


 Arkadaşlar burada üst kısımdan sanal sabit diski nereye yüklemek istiyorsak onu belirliyoruz. Altta ise sanal sabit diskin boyutunu seçiyoruz (bir önceki kısımda bahsettiğim alan). Burada önemli olan kısım şu : biz Ubuntu Desktop kuracağımız için 8 GB alan az gelecektir; bu nedenle daha yüksek bir boyut seçmeliyiz. Ben 16 GB seçip yükleyeceğim yeri de belirterek oluştur diyorum; ve sanal diskim oluşuyor.


 Gördüğünüz gibi Ubuntu geldi. Şimdi Ubuntu'ya çift tıklayarak açıyorum.


 Karşıma gelen bu ekranda kırmızı kare içine aldığım kısıma tıklıyorum; ve indirdiğim Ubuntu Desktop ISO dosyasını seçerek aç seçeneğine tıklıyorum ve daha sonra başlat diyorum.


 Karşımıza dil seçenekleri geliyor. Türkçeyi seçerek Ubuntuyu Kur seçeneğine tıklıyoruz (isterseniz ingilizce olarak devam edebilirsiniz).

 Sonraki ekranda ise kurulum ile ilgili bazı şeyler soruyor. Burada ilk seçenekte Ubuntu yüklenirken güncellemeleri yapmak isteyip istemediğimizi soruyor. İkinci seçenekte ise flash vs. gibi programları yüklemek isteyip istemediğimizi. Kendinize göre seçebilirsiniz. Ben ikisini de seçmeden devam ediyorum.


 Bir sonraki ekranda sadece Diski sil ve Ubuntu yükle seçeneğini seçerek devam ediyorum.


 Daha sonra değişiklikler diske kaydedilsin mi diye soruyor. Kabul ederek devam ediyorum.

 Sonra Türkiye Saatini seçerek devam ediyorum.


 Daha sonra Türkçe Q Klavyeyi seçiyorum.


 Son olarak adınız, parolanız vs. kısımlarını doldurarak kuruluma başlıyorum.



 Kurulum bittiğinde yeniden başlatmamız gerektiğini belirten bir ekran çıkıyor; ve sanal bilgisayarı yeniden başlatıyoruz.

 Parolamızı giriyoruz; ve Ubuntu Desktop sürümü bizi karşılıyor.


 Arkadaşlar burada sanal bilgisayarımızın interneti olup olmadığını bir kontrol edin lütfen çünkü sanal makinenin varsayılan ayarı olarak NAT seçilidir. Bu nedenle sanal bilgisayar sorunsuz bir şekilde internete bağlanmalı.


 Gördüğünüz gibi NAT seçili ve sanal bilgisayarım şu anda internete sorunsuz bir şekilde bağlanıyor. Ama buradaki asıl sorun güvenlik duvarını açtığımızda internete bağlanabilecek miyiz ? Bunu daha ileride göstereceğim.


 Bunları yaptıktan sonra bir de Kali Linux'u kuracağız arkadaşlar. Onun kurulumu içinde yine önemli kısımları anlatacağım VirtualBox'ta yeni kısmından yine bir sanal sabit disk oluşturacağız. İlk ekranda Kali yazdığınızda bir şey çıkmayacaktır. Fark etmez Linux 2.6 yı seçerek kursakta olur. Zaten bahsettiğim gibi burada ne seçtiğiniz çok önemli değil.


 Bundan sonraki kısımları yine aynı Ubuntu Desktopta olduğu gibi ayarlıyoruz. Yine boyut olarak 16 GB seçmemiz iyi olacaktır. Başlangıç sabit diski oluştuktan sonra bu sefer Kali Linux'un ISO dosyasını seçiyoruz ve başlatıyoruz.


 Daha sonra karşılaştığımız ekranda ise Graphical install seçeneğini seçiyoruz; bu seçeneği seçtiğimizde kurulumu grafik arayüz kullanarak yapıyoruz.


 Daha sonra Türkçe seçeneğini seçerek continue diyoruz.


 Kurulumun seçilen dil için çevirinin tam bitmediğiyle ilgili bir uyarı alıyoruz; ama biz yine de bu şekilde devam edelim gerekli olan yerler olursa çeviririz. Evet seçeneğini seçerek devam ediyoruz.


 Konum olarak Türkiyeyi seçiyoruz.


 Klavye olarakta Ubuntu da olduğu gibi Türkçe Q'yu seçiyorum ben. Sizin klavyeniz farklıysa ona göre seçim yapabilirsiniz. Bu seçimi de yaptıktan sonra kurulumumuz başlıyor.




  Daha sonra makine adını giriyoruz. Varsayılan olarak kali geliyor. Ben değiştirmeden devam ediyorum.


 Daha sonra ağ yapılandır kısmı geliyor. Burada bizim uygulamamız için bir şey değiştirmemiz gerekmiyor boş bırakarak devam ediyoruz.


 Sonra parola ekranı geliyor. Unutmayacağınız bir parola vererek devam edin. Bu parola bize oturum açmamız için lazım olacak


 Daha sonra kurulum devam ediyor; ve diskleri bölümlemek ile ilgili bir kısım geliyor. Burada LVM kullanmak ile ilgili seçenekler var. LVM kısaca disk yönetimi sağlamaktır. Boyut tahmininin zor olduğu durumlarda LVM ile disk ekleme,çıkarma vs. gibi işlemler yapılarak dosya sistemi genişletilir veya daraltılır. Bizim uygulamamız için buna gerek yok bu nedenle yardımcı ile diskin tamamını kullan seçeneğini seçerek devam ediyorum.


 Diskleri bölümle kısmında da zaten bir seçenek var onu seçerek devam diyoruz.


 Daha sonra da tüm dosyalar tek bölümde olsun diyoruz.


 Sonra bölümlemeyi bitir ve değişiklikleri diske kaydet seçeneğini seçiyoruz.


 Son olarak değişiklikler diske kaydedilsin mi ? diye soruyor ve varsayılan olarak Hayır seçili biz kaydetmek istediğimiz için Evet seçeneğini seçiyoruz; ve böylece kurulum asıl kısmına geçerek Kali Linux'u sanal bilgisayarımıza kuruyor.



 Kurulumdan sonra Ağ Yansısı (Network Mirror) ile ilgili bir seçenek geliyor. Bundan kısaca bahsetmek gerekirse Ağ Yansısı kullanıldığı zaman coğrafik olarak size yakın olan ve güncelliğini size garanti eden bir yansıtma sitesine otomatik olarak yönlendirilirsiniz. Yansıtma sitesi nedir diye sorarsanız da bir bilgisayar sunucusundan başka bir bilgisayar sunucusuna kopyalanan bir web sitesi veya dosyalar dizisidir; böylece site veya dosyalar birden fazla yerden kullanılabilir. Dolayısıyla size yakın olan yerden daha hızlı transfer yapabilirsiniz. Ancak yine bizim uygulamamız için fazla bir önem arz etmiyor. Bu nedenle ben Hayır seçeneğini seçerek devam ediyorum.


 Daha sonra GRUB önyükleme ile ilgili bir seçenek geliyor. Peki GRUB nedir ? GRUB başlangıçta hangi işletim sistemiyle başlamak istediğimizi seçtiğimiz özgür bir programdır. Bir bilgisayarda birden fazla işletim sistemi olabilir. Bunlar arasından hangisini yüklemek istiyorsak onu seçtiğimiz programdır GRUB. Bu nedenle sorulan soruya evet diyoruz ve böylece bir tane işletim sistemimiz olduğundan Kali Linux varsayılan olarak açılacak. Zaten bu sanal makine üzerine başka işletim sistemi kurmayacağız.


 Böylece kurulumu tamamlamış oluyoruz. Kali Linux başladığında bizden bir Kullanıcı Adı istiyor Kali Linux'un varsayılan Kullanıcı Adı root tur. Dolayısıyla Kullanıcı Adı na root ve şifreye de kurulum sırasında belirlediğimizi şifreyi yazıyoruz; ve bizi Kali Linux karşılıyor.


 Arkadaşlar yine Ubuntu'da olduğu gibi Kali Linux'unda internete çıkıp çıkamadığına bakmakta yarar var. Ben sorunsuz bir şekilde internete bağlanabiliyorum. Siz de bahsettiğim şekilde kurulum yaptıysanız; ve NAT kullanıyorsanız. Sizinde internete bağlanabilmeniz gerekiyor.

 Ubuntu ve Kali'yi kurduktan sonra asıl iş olan PfSense kurulumuna geçiyoruz. PfSense'i kurup Ubuntu ve Kali'ye gelen,giden ağ trafiklerinin güvenliğini sağlayacağız. Bunun için yine aynı şekilde yeni bir sanal disk oluşturuyoruz. Bölümleri aşağıda benim yaptığım gibi doldurabilirsiniz.


 PfSense'e direk ISO dosyasını göstermeden VirtualBox'ta PfSense ayarlarına gidiyoruz. Ağ kısmına geliyoruz ve Bağdaştırıcı 1 sekmesi altındaki Gelişmişe tıklıyoruz. Daha sonra B.Noktası Yönlendirmeye tıklıyoruz. NodeJS uygulamasında da belirttiğim gibi Ağ ayarları için en uygun çözümlerden birisi NAT üzerine port yönlendirmesi yapmak. Burada da onu yapıyoruz ve gerekli kısımları dolduruyoruz. Misafir bağlantı noktasını 80 ve Anamakine bağlantı noktasınıda 4565 yapıyorum (siz kafanıza göre boş bir portu verebilirsiniz).



 Bu ayarı yaptıktan sonra bu sefer Bağdaştırıcı 2 sekmesine geliyoruz. Ağ bağdaştırıcısını etkinleştiri tikliyoruz. Şuna takıldı kısmını Dahili ağ yaparak herhangi bir isim veriyoruz. Ben PFSense ismini verdim. Arkadaşlar burada Gelişmiş sekmesine geldiğimiz zaman Bağdaştırıcı Türünü görüyoruz. Bağdaştırıcı türü olarak Intel PRO/1000 ve türevlerini seçmeniz sizin yararınıza olacaktır; çünkü PCnet-FAST III gibi bağdaştırıcılar bazı problemler çıkartabiliyor. Hem Ubuntu'da hem de Kali Linux'ta buna dikkat etmelisiniz. Şimdi burada ne yapmış olduk ondan bahsetmek gerekirse. Bağdaştırıcı 1 kısmında WAN kısmına bakacak olan ağı seçtik ve Bağdaştırıcı 2 kısmında da LAN tarafına bakacak olan ağı seçtik. WAN'dan gelen ağ trafiği önce PfSense ile kontrol edilecek ve buna göre LAN'daki bilgisayarlara dağıtılacak. Bunları yaptıktan sonra artık PfSense tıklayıp açıyoruz; ve ISO dosyasını gösteriyoruz. Açılan kısımda AutoBoot kısmına bırakabilirsiniz. Bu sayede siz hiç bir şey yapmasanız da kendisi ilerlemeye başlayacaktır. veya 1 e basarak Boot Multi User kısmını seçebilirsiniz. İkisi de aynı şeyi yapar.


 Configure Console ekranında Fontlar vs. ile ilgili değiştirmek istediğiniz bir şey varsa değiştirebilirsiniz. Ben aynı şekilde bırakarak Accept these Settings seçeneğini seçiyorum.


 Sonra da Quick/Easy Install seçeneğini seçiyorum.


 Daha sonra Quick (Hızlı) kurulumun çok fazla soru sormadan kurulum yapacağını emin olup olmadığımızı soruyor. Ok diyerek devam ediyoruz.


 Install Kernel kısmında Standard Kerneli seçiyorum.



 Ve sonrada Reboot seçeneğini seçerek yeniden başlatıyorum.


 Arkadaşlar reboot işlemi bittiği zaman (VirtualBox'un logosu ekrana geldiğinde) üstteki menüde Aygıtlar -> Optik Sürücüler -> Diski sanal sürücüden kaldır kısmını seçmeliyiz. Eğer seçmezsek sürekli boot olacaktır ve hep yükleme ekranı gelecektir.

 Daha sonra boot için F1 e basabilirsiniz ekranıyla karşılaşıyoruz. İster F1 e basın isterseniz yine AutoBoot'a bırakın (hiç bir şey yapmayın) farketmez. Nihai olarak karşımıza PfSense konsolu geliyor.


 Arkadaşlar burada gördüğünüz gibi WAN kısmında 10.0.2.15 var. Burada kendi bilgisayarınızın IP adresini görmeyi umuyor olabilirsiniz; ama biz zaten bunu değiştireceğiz. Görüldüğü gibi LAN kısmında ise hiç bir şey yok onu da biz ekleyeceğiz. Bu ekleme işlemi için şu adımları izliyoruz : 

1.) Öncelikle 2 ye basıyoruz.
2.) Önce WAN'ı değiştirmek istediğimizden sonra 1'e basıyoruz (veya sizde WAN kaçıncı sırada ise).
3.) DHCP ile WAN Ipv4 adresini yapılandırmak isteyip istemediğimizi soruyor. Buna WAN için gerek yok n ye basarak devam ediyoruz. (DHCP : basit olarak sistemdeki bilgisayarlara IP adreslerini ve buna ek olarak değişik parametreleri atamak için kullanılan servistir).
4.) Daha sonra yeni bir IP adresi girmemiz isteniyor. Ben 192.168.11.1 giriyorum.
5.) Daha sonra alt ağ bit sayısını girmemiz isteniyor. 24 WAN için yeterli olacaktır.
6.) DHCP ile WAN IPv6 adresinin yapılandırılması soruluyor. Yine n diyerek devam ediyoruz.
7.) IPv6 için bir IP girmeyeceğimizden boş bırakarak devam ediyoruz.
8.) Protokol kısmına da n diyerek bitiriyoruz.

 Böylece WAN IP adresini değiştirmiş olduk.




 Aynı işlemleri LAN içinde yapıyoruz ben adres olarak 192.168.22.2 veriyorum; ve üstteki 5. adım olan subnet bit countu (alt ağ bit sayısı) 29 yapıyorum. DHCP serverı LAN açıp açmayacağımızı soruyor bu sefer y diyorum. Bir adres aralığı girmem isteniyor. Başlangıç olarak 192.168.22.3 ve bitiş olarak 192.168.22.5 giriyorum. Protokol kısmına yine n diyorum. Böylece LAN kısmını da halletmiş oldum.




Bu işlemlerden sonra PfSense'i aşağı kısma alabiliriz (kapatmayın). Daha sonra Kali Linux'ta ve Ubuntu Desktopta Ayarlar ->  Ağ -> Bağdaştırıcı 1 kısmını izliyoruz. Hem Kali Linux'ta hem de Ubuntu Desktopta şuna takıldı kısmını Dahili ağ ve adını da PFSense te LAN kısmına verdiğimiz gibi PFSense yapıyoruz. Ubuntu Desktop ve Kali Linux bizim LAN tarafındaki bilgisayarlarımız olacak.


 Böylece Kali Linux'u ve Ubuntu Desktopu PfSense'in arkasına almış olduk artık WAN dan gelen ağlar önce PfSense ten geçecek ve güvenliyse LAN da bulunan Kali Linux'a ve Ubuntu Desktop'a gönderilecek tabi ki birde PfSense'in ayarlarını web arayüzünden yapmalıyız. Arkadaşlar burada host bilgisayardan WAN Ip adresini girerek PfSense arayüzüne ulaşamayız; çünkü bu bir güvenlik riski doğurur. Bu nedenle PfSense bunu da engellemiştir. PfSense web arayüzüne erişmek için LAN daki herhangi bir bilgisayarı kullanmalıyız. Yani Ubuntu Desktop'ı veya Kali Linux'u VirtualBox'tan açıyoruz. İnternet tarayıcısına girerek LAN tarafındaki bilgisayarlara verdiğimiz IP olan 192.168.22.2 yi giriyoruz. Bağlantınız güvenli değil kısmında gelişmiş sekmesine gelerek ayrıcalık tanı kısmına tıklıyoruz; ve sonunda PfSense'in web arayüzüne erişim sağlıyoruz.


 PfSense'in varsayılan bilgileri : 

Username : admin
Password : pfsense

 Bu bilgileri giriyoruz ve sonunda PfSense bağlandık.




 Burdan sonra ayarları kendimize göre dolduruyoruz. Ben bazı önemli PfSense özelliklerinden de bahsedip konuyu bitireceğim. Bu özellikleri de Kali Linux'tan giriş yaparak gösterelim.

 Time server önemlidir; çünkü bir saldırı durumunda önce loglara bakılır. Bütün cihazlar aynı saatte değilse loglardan birisi çok az bile ileride olsa bunu görmek çok zor olur; ve log programları istenmeyen sonuçlar üretebilir.

 RFC1918, 10 lu 192 li ve 172 li IP adreslerini engellemeye yarar. Çünkü bu adresler private (özel) IP adresleridir ve internette görülmezler. Bunlar plakası olmayan araçlar gibidirler. Fiziksel olarak bahçenizde vs. kullanabilirsiniz; ama trafiğe çıkamazsınız. Bu şekilde düşünülebilir.

 Load Balancing, yapılan istekleri sunuculara bölmeye yarar. Fazla istek yapıldığında hepsinin bir sunucuya gidip diğer sunucunun boş kalmasını önler.



 Wake on lan tamamen kapalı bir bilgisayarın uzaktan (ağ üzerinden) açılmasını sağlar.



 VPN 2 tane ağ arasında şifreli ağ kurmak için kullanılır.



 IPsec te VPN e benzer IP den IP ye giden trafiği şifrelemek için kullanılır.



 Trafic Shaping bir trafiğe öncelik vermeye yarar.



 Arkadaşlar biraz uzun oldu; ama elimden geldiğince konuyu ve uygulamayı size anlatmaya çalıştım. Umarım hoşunuza gitmiştir. Ağ Güvenliği dersi Hocam olan Murat ÖZALP'e teşekkürü bir borç bilirim. Herkese iyi günler.

Kaynaklar : 

Yorumlar

Bu blogdaki popüler yayınlar

ARTIRILMIŞ GERÇEKLİK

SANAL GERÇEKLİK

PfSense’e WAN’dan, SSH’ten ve HTTPS’ten bağlanma. PfSense NAT (Port Yönlendirme), Captive Portal (Bantgenişliği Limiti) ve PfSense “packet capture” uygulaması