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
Ç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;
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-listadd address=0.0.0.0/8 comment=Self-Identification [RFC 3330] disabled=no list=bogonsadd address=10.0.0.0/8 comment=Private[RFC 1918] - CLASS A # Check if you need this subnet before enable it disabled=yes list=bogonsadd address=127.0.0.0/8 comment=Loopback [RFC 3330] disabled=no list=bogonsadd address=169.254.0.0/16 comment=Link Local [RFC 3330] disabled=no list=bogonsadd address=172.16.0.0/12 comment=Private[RFC 1918] - CLASS B # Check if you need this subnet before enable it disabled=yes list=bogonsadd address=192.168.0.0/16 comment=Private[RFC 1918] - CLASS C # Check if you need this subnet before enable it disabled=yes list=bogonsadd address=192.0.2.0/24 comment=Reserved - IANA - TestNet1 disabled=no list=bogonsadd address=192.88.99.0/24 comment=6to4 Relay Anycast [RFC 3068] disabled=no list=bogonsadd address=198.18.0.0/15 comment=NIDB Testing disabled=no list=bogonsadd address=198.51.100.0/24 comment=Reserved - IANA - TestNet2 disabled=no list=bogonsadd address=203.0.113.0/24 comment=Reserved - IANA - TestNet3 disabled=no list=bogonsadd 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 filteradd 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=synadd action=drop chain=input comment=Drop to syn flood list disabled=no src-address-list=Syn_Flooderadd 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,1add action=drop chain=input comment=Drop to port scan list disabled=no src-address-list=Port_Scanneradd action=jump chain=input comment=Jump for icmp input flow disabled=no jump-target=ICMP protocol=icmpadd 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=!supportadd action=jump chain=forward comment=Jump for icmp forward flow disabled=no jump-target=ICMP protocol=icmpadd action=drop chain=forward comment=Drop to bogon list disabled=no dst-address-list=bogonsadd 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=tcpadd action=drop chain=forward comment=Avoid spammers action disabled=no dst-port=25,587 protocol=tcp src-address-list=spammersadd action=accept chain=input comment=Accept DNS - UDP disabled=no port=53 protocol=udpadd action=accept chain=input comment=Accept DNS - TCP disabled=no port=53 protocol=tcpadd action=accept chain=input comment=Accept to established connections connection-state=established disabled=noadd action=accept chain=input comment=Accept to related connections connection-state=related disabled=noadd action=accept chain=input comment=Full access to SUPPORT address list disabled=no src-address-list=supportadd action=drop chain=input comment=Drop anything else! # DO NOT ENABLE THIS RULE BEFORE YOU MAKE SURE ABOUT ALL ACCEPT RULES YOU NEED disabled=yesadd 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=icmpadd action=accept chain=ICMP comment=Echo reply disabled=no icmp-options=0:0 protocol=icmpadd action=accept chain=ICMP comment=Time Exceeded disabled=no icmp-options=11:0 protocol=icmpadd action=accept chain=ICMP comment=Destination unreachable disabled=no icmp-options=3:0-1 protocol=icmpadd action=accept chain=ICMP comment=PMTUD disabled=no icmp-options=3:4 protocol=icmpadd action=drop chain=ICMP comment=Drop to the other ICMPs disabled=no protocol=icmpadd action=jump chain=output comment=Jump for icmp output disabled=no jump-target=ICMP protocol=icmp
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.
Ü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ı.
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.
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.
İ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.
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.
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
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.
Zoom için öncelikli kuyruk oluşturuyoruz ve kullanacağımız networkü tanımlıyoruz.
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.
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.
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.
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 katmanı referans olarak alındığı için birebir olarak günümüzde kullanılmaz.
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.
İş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.
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.
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.
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.