Raspberry Pi’ı ağ kablosu ile ağa/internete bağladığınız port (kablolu ağ bağlantısı girişi) ethernet port’u girişi ve bağlandığınız ağın teknolojisi ise ethernet ağı olarak adlandırılır. Örneğin evinizdeki veya iş yerinizdeki bilgisayar ve akıllı telefon gibi cihazları switch/hub ile birbirine bağlar ve ağa bağlı olan modemi kullanarak ethernet ağınız üzerinden internete erişmesini sağlarsınız. Böyle bir ağda tüm cihazlar birbirleriyle haberleşmek için MAC (Fiziksel Adres) adresi denilen adresleri kullanırlar. MAC adresleri üretilen tüm ağ cihazlarına benzersiz olarak atanan tekil adreslerdir[1]. Bilgisayarınız modem üzerinden internete çıkarken, modem ile konuşmak için MAC adresini kullanır. Bu adresler ağ üzerinden, ARP denilen (MAC adresi çözümleme protokolü) protokol kullanılarak elde edilir yani IP adresleri ARP adındaki protokol ile MAC adreslerine dönüştürürler. Raspberry Pi’ın ağ arabirimi, tüm ağa bir istek yayını yaparak IP adresini bildiği bir arabirimin MAC adresini sorar. Ağda bu adrese sahip herhangi bir arabirim de MAC adresi ile cevaplar. Yani, bir ethernet ağına dâhil olan tüm cihazların bir MAC adresi olmak zorundadır. Aşağıda bir Raspberry Pi bilgisayarının MAC adresi görülmektedir (Hwaddr).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
pi@raspberry ~ $ ifconfig enxb827eb262ffd: Link encap:Ethernet HWaddr b8:27:eb:4d:25:84 inet addr:192.168.0.102 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:25248 errors:0 dropped:0 overruns:0 frame:0 TX packets:33536 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6747383 (6.4 MiB) TX bytes:22188902 (21.1 MiB) |
Mac adresleri iki nokta işareti ile birbirinden ayrılmış 6 sayıdan (16 taban) oluşan 6×8=48 bitlik sayılardan oluşur ve her üretici kendisine ait bir aralığı kullanır. Raspberry Pi’larda kullanılan MAC adres havuzu b8:27:eb ile başlayan adresleri içerir.
ArpON adındaki program ağdaki MAC adreslerini izleyerek bir değişiklik olduğunda haberdar olmanızı sağlar. Örneğin interneti kullanmak amacıyla ağınıza kablo ile veya kablosuz olarak (dizüstü/tablet/akıllı telefon) dâhil olan cihazlardan anında haberdar olmanızı sağlar. Kablosuz internetinizin parolasını başkasıyla paylaştığınızda veya ağınıza izinsiz bir giriş yapıldığında bundan haberdar olabilirsiniz. Programın bir başka amacı da MITM (aradaki adam) saldırısı düzenleyenlerin çokça kullandığı MAC adres şaşırtma (MAC Spoofing) yönteminden de haberdar olmanızı sağlar. Böylece ağınızın güvenliği artırmış olursunuz. ARP şaşırtma yöntemi ile uygulanan MITM saldırısı ile ağınıza bağlanabilen bir saldırgan tüm iletişiminizi, ağda gidip gelen yazışmalarınızı, girdiğiniz siteleri ve parolaları, e-postalarınızı, kısaca istediği her şeyi görebilir. Aracı yüklemek için aşağıdaki komutu uygulayın:
1 |
pi@raspberry ~ $ sudo apt -y install arpon |
ArpON ayarlarını /etc/default/arpon dosyasında saklar. Bu dosyayı nano ile açarak ilgili satırları düzenleyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
pi@raspberry ~ $ sudo nano /etc/default/arpon # Defaults for arpon initscript # sourced by /etc/init.d/arpon # installed at /etc/default/arpon by the maintainer scripts # You must choose between static ARP inspection (SARPI) and # dynamic ARP inspection (DARPI) # # For SARPI uncomment the following line (please edit also /etc/arpon.sarpi) # DAEMON_OPTS="-q -f /var/log/arpon/arpon.log -g -s" # For DARPI uncomment the following line DAEMON_OPTS="-q -f /var/log/arpon/arpon.log -g -d" # Modify to RUN="yes" when you are ready RUN="yes" |
Eğer ağınızda bir DHCP sunucu çalışıyor ve IP yapılandırmalarını otomatik olarak atıyorsa sondan dördüncü satırın yorum karakterini (#) kaldırarak etkinleştirin. Ağınızdaki cihazların IP yapılandırmalarını sabit olarak tanımladıysanız sondan 7. satırı da aynı şekilde etkinleştirin. Son satırdaki RUN seçeneğinin değerini de “yes” olarak ayarlayın.
Sırada, arasındaki iletişimi güvenli hale getirmek istediğiniz bilgisayarların MAC numaralarını öğrenmeye geldi. Bu MAC numaralarını ArpON ‘a statik/kalıcı olarak tanımlayacağız böylece ağımıza dâhil olan bir saldırgan ARP şaşırtma tekniği ile (ARP spoofing) ile Raspberry Pi’ımızdan modeme doğru olan iletişimi kendine yönlendiremeyecek, göremeyecek ve müdahale edemeyecektir. Aşağıdaki çizimde Raspberry Pi’a kurduğumuz ArpON servisinin ARP şaşırtma saldırılarına karşı ne şekilde bir güvenlik sağladığı gözükmektedir.

ArpON ile sağlanan halfdublex güvenlik
Şekilden de anlaşılabileceğini gibi Raspberry Pi’dan modeme doğru olan ağ trafiği korunmuştur (half duplex mod). Bu güvenliği iki yönlü sağlamak için eğer modemin yönetim paneli izin veriyorsa Raspberry Pi’ın MAC adresi sabit (statik) olarak tanımlanmalıdır.
Şimdi gelelim Raspberry Pi’a kurduğumuz ArpON servisinin kullanabilmesi için sabit MAC adreslerini tanımlamaya. MAC adresini tanımlayacağımız dosya /etc/arpon.sarpi’dir. Bu dosyada modemin veya ağ iletişimini güvenlik altına almak istediğimiz cihazların IP ve MAC adreslerini tanımlayacağız. Modeminizin MAC adresini öğrenmek için en kolay yol komut satırına arp –a komutunu yazmaktır. Ayrıca modemin kontrol panelinden veya cihaz kutusunun altındaki etiketten MAC adresini öğrenebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
pi@raspberry ~ $ arp -a ? (192.168.0.100) at 50:e5:49:c5:00:00 [ether] PERM on eth0 ? (192.168.0.22) at e8:ab:fa:11:00:00 [ether] PERM on eth0 ? (192.168.0.101) at 13:14:15:01:02:03 [ether] PERM on eth0 ? (192.168.0.152) at e8:ab:fa:04:05:06 [ether] PERM on eth0 ? (192.168.0.1) at 07:08:09:dd:fe:bd [ether] PERM on eth0 ? (192.168.0.21) at 10:11:12:f0:29:0a [ether] on eth0 ? (192.168.0.110) at <incomplete> on eth0 ? (192.168.0.167) at <incomplete> on eth0 |
Yukarıdaki ARP listesinde gözüken 192.168.0.1 IP adresli cihaz modemdir ve MAC adresi de 07:08:09:dd:fe:bd ‘dir. Mac adresini öğrendiğimize göre arpon.sarpi dosyasına tanımlamamızı yapabiliriz. Dosyayı sudo yetkisi vererek nano ile açıp aşağıdaki gibi doldurun:
1 2 3 4 5 6 7 8 9 10 11 |
pi@raspberry ~ $ sudo nano /etc/arpon.sarpi # Example of arpon.sarpi # # WRT54G Router 192.168.0.1 07:08:09:dd:fe:bd # |
Dilerseniz emin olduğunuz IP=MAC çiftlerini de bu dosyaya ekleyerek ağdaki diğer bilgisayarlar ile Raspberry Pi arasındaki iletişimi güvenli hale getirebilirsiniz. Ayar ve tanımlamalarımızı yaptıktan sonra ArpON servisi çalışmaya hazırdır. Servis komutu ile ArpON’u başlatalım:
1 |
pi@raspberry ~ $ sudo service arpon start |
ArpON servisi kayıtlarını /var/log/arpon/arpon.log dosyasında saklar. Dosyanın içeriğini görmek için tail komutundan faydalanabilirsiniz:
1 |
pi@raspberry ~ $ sudo tail –f /var/log/arpon/arpon.log |
[1] MAC adresi sorgulama – http://www.macvendorlookup.com/
