<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Feyza Nur Dandal</title>
    <description>The latest articles on DEV Community by Feyza Nur Dandal (@feyzadandal).</description>
    <link>https://dev.to/feyzadandal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3976535%2F889e8a5f-67fa-4cae-a0af-a2e815a581ca.jpg</url>
      <title>DEV Community: Feyza Nur Dandal</title>
      <link>https://dev.to/feyzadandal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/feyzadandal"/>
    <language>en</language>
    <item>
      <title>fail-closed yapısı</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:51:47 +0000</pubDate>
      <link>https://dev.to/feyzadandal/fail-closed-yapisi-7ag</link>
      <guid>https://dev.to/feyzadandal/fail-closed-yapisi-7ag</guid>
      <description>&lt;p&gt;Geçen gün NAC sistemlerinin çalışma mantığını incelerken ilgimi çeken bir konu oldu. Bir cihaz ağa bağlanmak istediğinde sistem bazen "emin değilim" deyip bağlantıyı tamamen reddediyor.&lt;/p&gt;

&lt;p&gt;İlk başta bana garip geldi. Sonuçta veritabanı kısa süreliğine erişilemiyorsa ya da kullanıcı bilgisini doğrulayan servis cevap vermiyorsa, neden kullanıcıyı bekletmek yerine tamamen engelliyoruz?&lt;/p&gt;

&lt;p&gt;Biraz düşününce bunun aslında bilinçli bir tasarım kararı olduğunu fark ettim.&lt;/p&gt;

&lt;p&gt;Çünkü NAC sistemlerinin görevi internete bağlamak değil, &lt;strong&gt;kimin bağlanabileceğine karar vermek&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Mesela kullanıcı bilgilerini kontrol etmek için veritabanına gittiniz ama cevap alamadınız. Elinizde iki seçenek var.&lt;/p&gt;

&lt;p&gt;İlki, "Doğrulayamadım ama büyük ihtimalle sorun yoktur." deyip kullanıcıyı içeri almak.&lt;/p&gt;

&lt;p&gt;İkincisi ise "Doğrulayamıyorsam izin de vermem." demek.&lt;/p&gt;

&lt;p&gt;İlk yöntem kullanıcı açısından daha rahat görünüyor. Kimse bağlantısının kesilmesini istemez.&lt;/p&gt;

&lt;p&gt;Ama şöyle bir soru geliyor aklıma:&lt;/p&gt;

&lt;p&gt;Ya bağlanmaya çalışan kişi gerçekten yetkili biri değilse?&lt;/p&gt;

&lt;p&gt;Sadece doğrulama servisi çalışmadığı için kurumsal ağa erişim kazanmış olacak.&lt;/p&gt;

&lt;p&gt;İşte bu yüzden birçok güvenlik ürünü &lt;strong&gt;Fail Closed&lt;/strong&gt; denilen yaklaşımı tercih ediyor.&lt;/p&gt;

&lt;p&gt;Yani sistem emin olamadığında varsayılan cevap "izin verme" oluyor.&lt;/p&gt;

&lt;p&gt;Tabii bunun bir bedeli de var. Bazen gerçekten yetkili olan kullanıcılar da geçici olarak ağa bağlanamayabiliyor.&lt;/p&gt;

&lt;p&gt;Burada aslında güvenlik ile kullanılabilirlik arasında bir tercih yapılıyor.&lt;/p&gt;

&lt;p&gt;Ben bu konuyu öğrenmeden önce hata durumunda kullanıcıyı mümkün olduğunca mağdur etmemek gerektiğini düşünürdüm. Ama konu ağ güvenliği olunca bakış açısı değişiyor.&lt;/p&gt;

&lt;p&gt;Bazen en güvenli karar, "emin değilsem izin vermem" diyebilmek oluyor.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>cybersecurity</category>
      <category>security</category>
    </item>
    <item>
      <title>Policy Engine Sıfırdan Nasıl Tasarlanır?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:30:38 +0000</pubDate>
      <link>https://dev.to/feyzadandal/policy-engine-sifirdan-nasil-tasarlanir-3eof</link>
      <guid>https://dev.to/feyzadandal/policy-engine-sifirdan-nasil-tasarlanir-3eof</guid>
      <description>&lt;p&gt;Policy Engine'i ilk duyduğumda onu yalnızca "if-else yazan bir servis" olarak düşünüyordum.&lt;/p&gt;

&lt;p&gt;Ancak zamanla fark ettim ki iyi tasarlanmış bir Policy Engine aslında küçük bir karar motorudur.&lt;/p&gt;




&lt;h2&gt;
  
  
  Policy Nedir?
&lt;/h2&gt;

&lt;p&gt;En basit haliyle policy, belirli şartlar sağlandığında uygulanacak kuraldır.&lt;/p&gt;

&lt;p&gt;Örneğin:&lt;/p&gt;

&lt;p&gt;IF&lt;/p&gt;

&lt;p&gt;Department = IT&lt;/p&gt;

&lt;p&gt;THEN&lt;/p&gt;

&lt;p&gt;VLAN = 20&lt;/p&gt;

&lt;p&gt;Gerçek sistemlerde ise yüzlerce hatta binlerce politika bulunabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Policy Engine'in Görevi
&lt;/h2&gt;

&lt;p&gt;Policy Engine'in tek görevi karar vermektir.&lt;/p&gt;

&lt;p&gt;Şunları yapmamalıdır:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL sorgusu yazmak&lt;/li&gt;
&lt;li&gt;Redis yönetmek&lt;/li&gt;
&lt;li&gt;HTTP isteği almak&lt;/li&gt;
&lt;li&gt;Kullanıcı oluşturmak&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bunlar başka servislerin sorumluluğudur.&lt;/p&gt;




&lt;h2&gt;
  
  
  Policy Nasıl Değerlendirilir?
&lt;/h2&gt;

&lt;p&gt;Genellikle süreç şu şekilde ilerler:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;FastAPI gerekli kullanıcı bilgilerini toplar.&lt;/li&gt;
&lt;li&gt;Policy Engine'e standart bir veri modeli gönderilir.&lt;/li&gt;
&lt;li&gt;Kurallar öncelik sırasına göre değerlendirilir.&lt;/li&gt;
&lt;li&gt;İlk eşleşen politika seçilir.&lt;/li&gt;
&lt;li&gt;Sonuç FastAPI'ye geri döndürülür.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Bu yaklaşım hem okunabilir hem de test edilebilir bir yapı oluşturur.&lt;/p&gt;




&lt;h2&gt;
  
  
  Neden Ayrı Bir Servis?
&lt;/h2&gt;

&lt;p&gt;Policy kuralları zaman içinde sürekli değişebilir.&lt;/p&gt;

&lt;p&gt;Yeni departmanlar eklenebilir.&lt;/p&gt;

&lt;p&gt;Yeni cihaz tipleri tanımlanabilir.&lt;/p&gt;

&lt;p&gt;Yeni VLAN yapıları oluşturulabilir.&lt;/p&gt;

&lt;p&gt;Policy Engine bağımsız olduğunda bu değişiklikler diğer servisleri etkilemeden yönetilebilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Gelecekte Neler Eklenebilir?
&lt;/h2&gt;

&lt;p&gt;Modern Policy Engine'lerde yalnızca sabit kurallar bulunmaz.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Saat bazlı politikalar&lt;/li&gt;
&lt;li&gt;Konum bazlı erişim&lt;/li&gt;
&lt;li&gt;Risk skoru&lt;/li&gt;
&lt;li&gt;Cihaz güvenlik seviyesi&lt;/li&gt;
&lt;li&gt;Yapay zekâ destekli karar mekanizmaları&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;gibi gelişmiş özellikler de eklenebilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;Policy Engine yalnızca karar veren bir servis değildir.&lt;/p&gt;

&lt;p&gt;Doğru tasarlandığında tüm güvenlik mimarisinin merkezinde yer alan, esnek ve genişletilebilir bir kural motoruna dönüşebilir.&lt;/p&gt;

&lt;p&gt;Backend geliştiricileri için Policy Engine tasarımını anlamak, ölçeklenebilir sistemler geliştirme konusunda önemli bir adımdır.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>backend</category>
      <category>softwareengineering</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Bir RADIUS Paketi Satır Satır Nasıl Okunur?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:29:32 +0000</pubDate>
      <link>https://dev.to/feyzadandal/bir-radius-paketi-satir-satir-nasil-okunur-4alf</link>
      <guid>https://dev.to/feyzadandal/bir-radius-paketi-satir-satir-nasil-okunur-4alf</guid>
      <description>&lt;p&gt;İlk kez bir RADIUS logu açtığımda karşıma onlarca bilinmeyen alan çıkmıştı.&lt;/p&gt;

&lt;p&gt;User-Name&lt;/p&gt;

&lt;p&gt;NAS-IP-Address&lt;/p&gt;

&lt;p&gt;Calling-Station-Id&lt;/p&gt;

&lt;p&gt;Message-Authenticator...&lt;/p&gt;

&lt;p&gt;İlk bakışta oldukça karmaşık görünüyordu.&lt;/p&gt;

&lt;p&gt;Aslında her satırın çok net bir görevi vardır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Access-Request
&lt;/h2&gt;

&lt;p&gt;Bir cihaz ağa bağlanmak istediğinde Switch önce bir Access-Request paketi oluşturur.&lt;/p&gt;

&lt;p&gt;Bu paket, FreeRADIUS'a gönderilir.&lt;/p&gt;

&lt;p&gt;Buradaki amaç şudur:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Bu kullanıcı ağa bağlanmak istiyor."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  User-Name
&lt;/h2&gt;

&lt;p&gt;Bu alan çoğu zaman kullanıcı adını içerir.&lt;/p&gt;

&lt;p&gt;Örneğin:&lt;/p&gt;

&lt;p&gt;feyza&lt;/p&gt;

&lt;p&gt;Bazı MAB senaryolarında ise kullanıcı adı yerine MAC adresi bulunabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Calling-Station-Id
&lt;/h2&gt;

&lt;p&gt;Bu alan genellikle istemci cihazın MAC adresini içerir.&lt;/p&gt;

&lt;p&gt;Örneğin:&lt;/p&gt;

&lt;p&gt;AA:BB:CC:11:22:33&lt;/p&gt;

&lt;p&gt;Switch cihazı bu adres üzerinden tanımaya çalışır.&lt;/p&gt;




&lt;h2&gt;
  
  
  NAS-IP-Address
&lt;/h2&gt;

&lt;p&gt;NAS (Network Access Server), bağlantıyı başlatan ağ cihazıdır.&lt;/p&gt;

&lt;p&gt;Bu alan, isteği gönderen Switch veya Access Point'in IP adresini içerir.&lt;/p&gt;

&lt;p&gt;Böylece RADIUS sunucusu isteğin hangi ağ cihazından geldiğini bilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  NAS-Identifier
&lt;/h2&gt;

&lt;p&gt;Bazı ortamlarda cihazın IP adresi yerine anlamlı bir isim kullanılır.&lt;/p&gt;

&lt;p&gt;Örneğin:&lt;/p&gt;

&lt;p&gt;Switch-HQ-01&lt;/p&gt;

&lt;p&gt;Bu alan log analizini kolaylaştırır.&lt;/p&gt;




&lt;h2&gt;
  
  
  NAS-Port
&lt;/h2&gt;

&lt;p&gt;İstemcinin bağlı olduğu fiziksel port bilgisidir.&lt;/p&gt;

&lt;p&gt;Örneğin:&lt;/p&gt;

&lt;p&gt;Port 24&lt;/p&gt;

&lt;p&gt;Bu bilgi özellikle kablolu bağlantılarda oldukça değerlidir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Message-Authenticator
&lt;/h2&gt;

&lt;p&gt;Bu alan paketin bütünlüğünü doğrulamak için kullanılır.&lt;/p&gt;

&lt;p&gt;Shared Secret ile birlikte çalışarak paketin değiştirilmediğinin doğrulanmasına yardımcı olur.&lt;/p&gt;




&lt;h2&gt;
  
  
  Access-Accept
&lt;/h2&gt;

&lt;p&gt;Backend gerekli kontrolleri tamamladıktan sonra FreeRADIUS Switch'e cevap gönderir.&lt;/p&gt;

&lt;p&gt;Örneğin:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Access-Accept&lt;/li&gt;
&lt;li&gt;Access-Reject&lt;/li&gt;
&lt;li&gt;Access-Challenge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En sık karşılaşılan cevap Access-Accept'tir.&lt;/p&gt;

&lt;p&gt;Bu cevap içerisinde VLAN bilgisi gibi ek özellikler de bulunabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;Bir RADIUS paketini okuyabilmek, NAC geliştiren bir mühendisin en önemli yetkinliklerinden biridir.&lt;/p&gt;

&lt;p&gt;Çünkü sistemde yaşanan birçok problem doğrudan RADIUS logları üzerinden analiz edilir.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>networking</category>
      <category>security</category>
    </item>
    <item>
      <title>Device Profiling Nedir? NAC Bir Cihazın Yazıcı mı Laptop mu Olduğunu Nasıl Anlar?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:28:47 +0000</pubDate>
      <link>https://dev.to/feyzadandal/device-profiling-nedir-nac-bir-cihazin-yazici-mi-laptop-mu-oldugunu-nasil-anlar-p15</link>
      <guid>https://dev.to/feyzadandal/device-profiling-nedir-nac-bir-cihazin-yazici-mi-laptop-mu-oldugunu-nasil-anlar-p15</guid>
      <description>&lt;p&gt;Network Access Control sistemlerini öğrenmeye başladığımda aklıma gelen ilk sorulardan biri şuydu:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Sistem, bağlanan cihazın gerçekten yazıcı mı yoksa bir bilgisayar mı olduğunu nasıl anlayabiliyor?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;İlk akla gelen cevap MAC adresidir.&lt;/p&gt;

&lt;p&gt;Ancak modern NAC çözümleri bunun çok ötesine geçer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Neden Sadece MAC Adresi Yetmez?
&lt;/h2&gt;

&lt;p&gt;MAC adresleri değiştirilebilir.&lt;/p&gt;

&lt;p&gt;Bir saldırgan bilgisayarının MAC adresini şirketteki bir yazıcının MAC adresiyle değiştirebilir.&lt;/p&gt;

&lt;p&gt;Bu saldırıya &lt;strong&gt;MAC Spoofing&lt;/strong&gt; denir.&lt;/p&gt;

&lt;p&gt;Eğer sistem yalnızca MAC adresine güvenseydi, saldırgan kolayca yazıcı gibi davranabilirdi.&lt;/p&gt;




&lt;h2&gt;
  
  
  Device Profiling Nedir?
&lt;/h2&gt;

&lt;p&gt;Device Profiling, ağa bağlanan cihazın özelliklerini analiz ederek cihaz tipini tahmin etme sürecidir.&lt;/p&gt;

&lt;p&gt;Amaç yalnızca "kim bağlandı?" sorusunu değil,&lt;/p&gt;

&lt;p&gt;"Nasıl bir cihaz bağlandı?" sorusunu da cevaplamaktır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Hangi Bilgiler Kullanılır?
&lt;/h2&gt;

&lt;p&gt;Modern NAC ürünleri birçok farklı kaynağı birlikte değerlendirir.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MAC adresinin üretici bilgisi (OUI)&lt;/li&gt;
&lt;li&gt;DHCP Fingerprint&lt;/li&gt;
&lt;li&gt;İşletim sistemi&lt;/li&gt;
&lt;li&gt;LLDP/CDP bilgileri&lt;/li&gt;
&lt;li&gt;Açık servisler&lt;/li&gt;
&lt;li&gt;Trafik davranışı&lt;/li&gt;
&lt;li&gt;Kullanılan protokoller&lt;/li&gt;
&lt;li&gt;Cihazın geçmiş bağlantıları&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tek başına hiçbir bilgi yeterli değildir.&lt;/p&gt;

&lt;p&gt;Ancak hepsi birlikte değerlendirildiğinde oldukça doğru sonuçlar elde edilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Gerçek Bir Senaryo
&lt;/h2&gt;

&lt;p&gt;Veritabanında kayıtlı cihaz:&lt;/p&gt;

&lt;p&gt;MAC:&lt;br&gt;
AA:BB:CC...&lt;/p&gt;

&lt;p&gt;Tür:&lt;br&gt;
HP LaserJet Yazıcı&lt;/p&gt;

&lt;p&gt;Ancak yeni bağlantıda sistem şunları görüyor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows 11&lt;/li&gt;
&lt;li&gt;SMB trafiği&lt;/li&gt;
&lt;li&gt;Tarayıcı kullanımı&lt;/li&gt;
&lt;li&gt;Chrome User-Agent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bu durumda Device Profiling servisi şunu söyleyebilir:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Bu MAC yazıcıya ait görünüyor ancak davranışları bir bilgisayara ait."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sonuç olarak erişim reddedilebilir veya cihaz karantinaya alınabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Device Profiling Neden Ayrı Bir Servis Olabilir?
&lt;/h2&gt;

&lt;p&gt;Profil çıkarma işlemi zamanla oldukça karmaşık hale gelir.&lt;/p&gt;

&lt;p&gt;Yeni cihaz tipleri eklenebilir.&lt;/p&gt;

&lt;p&gt;Yeni fingerprint kuralları yazılabilir.&lt;/p&gt;

&lt;p&gt;Bu nedenle büyük NAC ürünlerinde Device Profiling çoğu zaman bağımsız bir servis olarak tasarlanır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;Device Profiling, yalnızca cihazı tanımaya çalışan bir mekanizma değildir.&lt;/p&gt;

&lt;p&gt;Asıl amacı, kimlik doğrulama sürecini daha güvenli hale getirmek ve sahte cihazların kurumsal ağa erişmesini zorlaştırmaktır.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>infosec</category>
      <category>networking</category>
      <category>security</category>
    </item>
    <item>
      <title>Mikroservis Mimarisi: Monolith Yerine Neden Mikroservis?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:27:10 +0000</pubDate>
      <link>https://dev.to/feyzadandal/mikroservis-mimarisi-monolith-yerine-neden-mikroservis-ahd</link>
      <guid>https://dev.to/feyzadandal/mikroservis-mimarisi-monolith-yerine-neden-mikroservis-ahd</guid>
      <description>&lt;p&gt;İlk backend projelerimde her şeyi tek uygulamanın içine yazıyordum.&lt;/p&gt;

&lt;p&gt;Authentication, kullanıcı yönetimi, loglama, bildirimler...&lt;/p&gt;

&lt;p&gt;Hepsi tek kod tabanındaydı.&lt;/p&gt;

&lt;p&gt;Bu yaklaşım küçük projelerde işe yarasa da büyük sistemlerde ciddi sorunlar oluşturuyor.&lt;/p&gt;




&lt;h2&gt;
  
  
  Monolith Nedir?
&lt;/h2&gt;

&lt;p&gt;Monolith mimaride tüm uygulama tek bir servis olarak çalışır.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frontend

↓

Backend

↓

Database
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;İlk başta oldukça basit görünür.&lt;/p&gt;

&lt;p&gt;Ancak proje büyüdükçe;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kod karmaşıklaşır.&lt;/li&gt;
&lt;li&gt;Test etmek zorlaşır.&lt;/li&gt;
&lt;li&gt;Yeni özellik eklemek riskli hale gelir.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Mikroservis Yaklaşımı
&lt;/h2&gt;

&lt;p&gt;Mikroservis mimarisinde her servis yalnızca tek bir iş yapar.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Authentication Service

Policy Service

Device Service

Audit Service

Notification Service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Her biri bağımsız geliştirilebilir.&lt;/p&gt;

&lt;p&gt;Bağımsız dağıtılabilir.&lt;/p&gt;

&lt;p&gt;Bağımsız ölçeklenebilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  NAC Sistemlerinde Neden Kullanılır?
&lt;/h2&gt;

&lt;p&gt;Bir NAC ürünü yalnızca kullanıcı doğrulamaz.&lt;/p&gt;

&lt;p&gt;Aynı anda;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RADIUS isteklerini işler.&lt;/li&gt;
&lt;li&gt;Policy hesaplar.&lt;/li&gt;
&lt;li&gt;Cihazları yönetir.&lt;/li&gt;
&lt;li&gt;Log toplar.&lt;/li&gt;
&lt;li&gt;Alarm üretir.&lt;/li&gt;
&lt;li&gt;Yönetim paneline veri sağlar.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tüm bunları tek uygulamada toplamak zamanla yönetilemez hale gelir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Single Responsibility
&lt;/h2&gt;

&lt;p&gt;Mikroservislerin en büyük avantajlarından biri tek sorumluluk ilkesini desteklemesidir.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;/p&gt;

&lt;p&gt;Policy Engine yalnızca karar verir.&lt;/p&gt;

&lt;p&gt;Audit servisi yalnızca log tutar.&lt;/p&gt;

&lt;p&gt;Notification servisi yalnızca bildirim gönderir.&lt;/p&gt;

&lt;p&gt;Her servis kendi alanında uzmanlaşır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Dezavantajları
&lt;/h2&gt;

&lt;p&gt;Elbette mikroservis her zaman en doğru seçim değildir.&lt;/p&gt;

&lt;p&gt;Servisler arası iletişim,&lt;/p&gt;

&lt;p&gt;Dağıtık loglama,&lt;/p&gt;

&lt;p&gt;Monitoring,&lt;/p&gt;

&lt;p&gt;Deployment&lt;/p&gt;

&lt;p&gt;gibi yeni problemleri de beraberinde getirir.&lt;/p&gt;

&lt;p&gt;Bu nedenle küçük projelerde monolith çoğu zaman daha mantıklı olabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;Mikroservis mimarisi yalnızca büyük şirketlerin kullandığı popüler bir yaklaşım değildir.&lt;/p&gt;

&lt;p&gt;Doğru uygulandığında bakım kolaylığı, ölçeklenebilirlik ve ekiplerin bağımsız çalışabilmesi açısından büyük avantaj sağlar.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>backend</category>
      <category>microservices</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>MAC Spoofing Nedir? NAC Sistemleri Bunu Nasıl Engeller?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:26:11 +0000</pubDate>
      <link>https://dev.to/feyzadandal/mac-spoofing-nedir-nac-sistemleri-bunu-nasil-engeller-2hbc</link>
      <guid>https://dev.to/feyzadandal/mac-spoofing-nedir-nac-sistemleri-bunu-nasil-engeller-2hbc</guid>
      <description>&lt;p&gt;MAC Authentication Bypass (MAB) öğrenirken aklıma şu soru gelmişti:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Bir saldırgan yazıcının MAC adresini kopyalarsa sisteme giremez mi?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Aslında bu soru, Network Access Control ürünlerinin neden var olduğunu anlamak için mükemmel bir başlangıç noktası.&lt;/p&gt;




&lt;h2&gt;
  
  
  Önce MAC Adresi Nedir?
&lt;/h2&gt;

&lt;p&gt;Her ağ kartının üretici tarafından verilen benzersiz bir MAC adresi vardır.&lt;/p&gt;

&lt;p&gt;Örneğin:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;00:1A:2B:3C:4D:5E
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Switch cihazları birbirinden ayırmak için öncelikle bu adresi kullanır.&lt;/p&gt;




&lt;h2&gt;
  
  
  MAC Spoofing Nedir?
&lt;/h2&gt;

&lt;p&gt;MAC Spoofing, bir cihazın kendi MAC adresini başka bir cihazın MAC adresiyle değiştirmesidir.&lt;/p&gt;

&lt;p&gt;Örneğin saldırgan;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Laptop

↓

MAC = Yazıcının MAC'i
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;şeklinde davranabilir.&lt;/p&gt;

&lt;p&gt;Artık Switch ilk bakışta bu cihazı yazıcı sanabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Peki NAC Burada Neden Hemen Aldatılmıyor?
&lt;/h2&gt;

&lt;p&gt;Çünkü modern NAC çözümleri yalnızca MAC adresine bakmaz.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cihaz tipi&lt;/li&gt;
&lt;li&gt;İşletim sistemi&lt;/li&gt;
&lt;li&gt;DHCP Fingerprint&lt;/li&gt;
&lt;li&gt;LLDP/CDP bilgileri&lt;/li&gt;
&lt;li&gt;Daha önce bağlandığı Switch&lt;/li&gt;
&lt;li&gt;Port bilgisi&lt;/li&gt;
&lt;li&gt;Davranış analizi&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;gibi birçok farklı bilgi birlikte değerlendirilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Gerçek Bir Senaryo
&lt;/h2&gt;

&lt;p&gt;Diyelim ki şirkette kayıtlı bir yazıcının MAC adresi şu olsun:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AA:BB:CC:11:22:33
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ancak aynı MAC adresiyle bu kez Windows 11 çalışan bir laptop bağlanıyor.&lt;/p&gt;

&lt;p&gt;Policy Engine veya Device Profiling servisi şunu fark edebilir:&lt;/p&gt;

&lt;p&gt;Beklenen cihaz:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HP LaserJet Yazıcı
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Gelen cihaz:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Windows Laptop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;MAC aynı olsa bile cihaz davranışı tamamen farklıdır.&lt;/p&gt;

&lt;p&gt;Bu durumda erişim reddedilebilir veya cihaz karantina VLAN'ına alınabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Quarantine VLAN
&lt;/h2&gt;

&lt;p&gt;Birçok NAC çözümünde şüpheli cihazlar doğrudan şirket ağına alınmaz.&lt;/p&gt;

&lt;p&gt;Bunun yerine yalnızca belirli güvenlik servislerine erişebildikleri özel bir VLAN'a yönlendirilirler.&lt;/p&gt;

&lt;p&gt;Buna Quarantine VLAN adı verilir.&lt;/p&gt;

&lt;p&gt;Bu yaklaşım hem güvenliği artırır hem de olası saldırıları sınırlar.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;MAC Spoofing, yalnızca MAC adresine güvenen sistemler için ciddi bir tehdittir.&lt;/p&gt;

&lt;p&gt;Modern NAC çözümleri ise cihazı yalnızca MAC adresiyle değil, birçok farklı özelliğiyle değerlendirerek çok katmanlı bir güvenlik modeli oluşturur.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>networking</category>
      <category>security</category>
    </item>
    <item>
      <title>802.1X ve MAB: Laptop ile Yazıcı Aynı Şekilde Neden Doğrulanmaz?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:21:23 +0000</pubDate>
      <link>https://dev.to/feyzadandal/8021x-ve-mab-laptop-ile-yazici-ayni-sekilde-neden-dogrulanmaz-18k9</link>
      <guid>https://dev.to/feyzadandal/8021x-ve-mab-laptop-ile-yazici-ayni-sekilde-neden-dogrulanmaz-18k9</guid>
      <description>&lt;p&gt;Bir şirkette hem çalışan laptopları hem de yazıcılar aynı ağa bağlanır.&lt;/p&gt;

&lt;p&gt;Peki neden hepsi aynı doğrulama yöntemini kullanmaz?&lt;/p&gt;

&lt;p&gt;Bu sorunun cevabı 802.1X ve MAB teknolojilerinde yatıyor.&lt;/p&gt;




&lt;h2&gt;
  
  
  802.1X Nedir?
&lt;/h2&gt;

&lt;p&gt;802.1X, kullanıcı veya cihazın kimliğini doğrulamak için kullanılan standart bir ağ erişim kontrol mekanizmasıdır.&lt;/p&gt;

&lt;p&gt;Bir çalışan bilgisayarı düşünelim.&lt;/p&gt;

&lt;p&gt;Kullanıcı giriş yapabilir.&lt;/p&gt;

&lt;p&gt;Şifre girebilir.&lt;/p&gt;

&lt;p&gt;Sertifika kullanabilir.&lt;/p&gt;

&lt;p&gt;Yani cihaz kimliğini güçlü bir şekilde kanıtlayabilir.&lt;/p&gt;

&lt;p&gt;Bu nedenle çalışan bilgisayarlarında genellikle 802.1X tercih edilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  MAB (MAC Authentication Bypass)
&lt;/h2&gt;

&lt;p&gt;Şimdi bir yazıcı düşünelim.&lt;/p&gt;

&lt;p&gt;Yazıcının;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kullanıcı adı yok.&lt;/li&gt;
&lt;li&gt;Şifresi yok.&lt;/li&gt;
&lt;li&gt;Giriş ekranı yok.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dolayısıyla 802.1X kullanamaz.&lt;/p&gt;

&lt;p&gt;Bu durumda Switch cihazın MAC adresini kullanarak doğrulama sürecini başlatır.&lt;/p&gt;

&lt;p&gt;Bu yönteme MAC Authentication Bypass denir.&lt;/p&gt;




&lt;h2&gt;
  
  
  MAB Güvenli mi?
&lt;/h2&gt;

&lt;p&gt;MAB oldukça pratik bir çözümdür.&lt;/p&gt;

&lt;p&gt;Ancak tek başına güçlü bir güvenlik yöntemi değildir.&lt;/p&gt;

&lt;p&gt;Çünkü MAC adresleri taklit edilebilir (MAC Spoofing).&lt;/p&gt;

&lt;p&gt;Bu nedenle modern NAC ürünleri yalnızca MAC adresine güvenmez.&lt;/p&gt;

&lt;p&gt;Bunun yerine;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Device Profiling&lt;/li&gt;
&lt;li&gt;Policy Engine&lt;/li&gt;
&lt;li&gt;Güvenlik kuralları&lt;/li&gt;
&lt;li&gt;Davranış analizi&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;gibi ek mekanizmalar kullanılır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Hangisi Daha İyi?
&lt;/h2&gt;

&lt;p&gt;Mümkün olduğunca kullanıcı cihazlarında 802.1X tercih edilir.&lt;/p&gt;

&lt;p&gt;MAB ise daha çok;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yazıcılar&lt;/li&gt;
&lt;li&gt;IP Kameralar&lt;/li&gt;
&lt;li&gt;IP Telefonlar&lt;/li&gt;
&lt;li&gt;Barkod okuyucular&lt;/li&gt;
&lt;li&gt;IoT cihazları&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;gibi kullanıcı etkileşimi olmayan cihazlarda kullanılır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;802.1X ve MAB rakip teknolojiler değildir.&lt;/p&gt;

&lt;p&gt;Aksine birbirini tamamlayan iki farklı kimlik doğrulama yöntemidir.&lt;/p&gt;

&lt;p&gt;Kurumsal ağlarda doğru cihaz için doğru yöntemi seçmek hem güvenlik hem de kullanıcı deneyimi açısından büyük önem taşır.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>networking</category>
      <category>security</category>
    </item>
    <item>
      <title>DHCP Gerçekte Nasıl Çalışır? Bilgisayar IP Adresini Nereden Alır?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:20:22 +0000</pubDate>
      <link>https://dev.to/feyzadandal/dhcp-gercekte-nasil-calisir-bilgisayar-ip-adresini-nereden-alir-8gd</link>
      <guid>https://dev.to/feyzadandal/dhcp-gercekte-nasil-calisir-bilgisayar-ip-adresini-nereden-alir-8gd</guid>
      <description>&lt;p&gt;Bilgisayarımızı ağa bağladığımızda birkaç saniye içinde internete çıkabiliyoruz.&lt;/p&gt;

&lt;p&gt;Peki IP adresimiz bize nasıl veriliyor?&lt;/p&gt;

&lt;p&gt;Bunu yapan servis DHCP'dir.&lt;/p&gt;




&lt;h2&gt;
  
  
  DHCP Nedir?
&lt;/h2&gt;

&lt;p&gt;DHCP (Dynamic Host Configuration Protocol), cihazlara otomatik olarak ağ bilgileri dağıtan bir protokoldür.&lt;/p&gt;

&lt;p&gt;Bu bilgiler yalnızca IP adresinden ibaret değildir.&lt;/p&gt;

&lt;p&gt;DHCP aynı zamanda;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Alt ağ maskesi&lt;/li&gt;
&lt;li&gt;Varsayılan ağ geçidi&lt;/li&gt;
&lt;li&gt;DNS sunucusu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;gibi bilgileri de gönderir.&lt;/p&gt;




&lt;h2&gt;
  
  
  DHCP Olmasaydı?
&lt;/h2&gt;

&lt;p&gt;Her kullanıcıya tek tek IP vermemiz gerekirdi.&lt;/p&gt;

&lt;p&gt;Yüzlerce cihaz bulunan bir şirkette bunun ne kadar zor olacağını tahmin etmek zor değil.&lt;/p&gt;

&lt;p&gt;DHCP bu süreci tamamen otomatik hale getirir.&lt;/p&gt;




&lt;h2&gt;
  
  
  DORA Süreci
&lt;/h2&gt;

&lt;p&gt;DHCP dört adımdan oluşur.&lt;/p&gt;

&lt;h3&gt;
  
  
  Discover
&lt;/h3&gt;

&lt;p&gt;Cihaz ağa bağlanır.&lt;/p&gt;

&lt;p&gt;"Burada DHCP sunucusu var mı?"&lt;/p&gt;

&lt;p&gt;diye yayın yapar.&lt;/p&gt;




&lt;h3&gt;
  
  
  Offer
&lt;/h3&gt;

&lt;p&gt;DHCP sunucusu cevap verir.&lt;/p&gt;

&lt;p&gt;"Sana şu IP adresini verebilirim."&lt;/p&gt;




&lt;h3&gt;
  
  
  Request
&lt;/h3&gt;

&lt;p&gt;İstemci teklifi kabul ettiğini bildirir.&lt;/p&gt;




&lt;h3&gt;
  
  
  Acknowledge
&lt;/h3&gt;

&lt;p&gt;DHCP sunucusu IP adresini resmen istemciye tahsis eder.&lt;/p&gt;

&lt;p&gt;Artık cihaz iletişim kurabilir.&lt;/p&gt;

&lt;p&gt;Bu dört adım DORA olarak bilinir.&lt;/p&gt;




&lt;h2&gt;
  
  
  NAC ile İlişkisi
&lt;/h2&gt;

&lt;p&gt;DHCP genellikle kullanıcı başarılı şekilde doğrulandıktan sonra devreye girer.&lt;/p&gt;

&lt;p&gt;Önce kullanıcı uygun VLAN'a yerleştirilir.&lt;/p&gt;

&lt;p&gt;Daha sonra o VLAN'a ait DHCP sunucusundan IP adresi alır.&lt;/p&gt;

&lt;p&gt;Bu nedenle farklı VLAN'larda farklı IP blokları görmek oldukça normaldir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;DHCP sayesinde milyonlarca cihaz hiçbir manuel ayar yapılmadan saniyeler içinde ağa bağlanabilir.&lt;/p&gt;

&lt;p&gt;Kurumsal ağlarda ise DHCP, VLAN yapısıyla birlikte çalışarak kullanıcıların doğru ağ yapılandırmasını almasını sağlar.&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>networking</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>VLAN Nedir? Aynı Switch Üzerinde Birden Fazla Ağ Nasıl Oluşturulur?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:19:32 +0000</pubDate>
      <link>https://dev.to/feyzadandal/vlan-nedir-ayni-switch-uzerinde-birden-fazla-ag-nasil-olusturulur-54j3</link>
      <guid>https://dev.to/feyzadandal/vlan-nedir-ayni-switch-uzerinde-birden-fazla-ag-nasil-olusturulur-54j3</guid>
      <description>&lt;p&gt;Kurumsal ağları öğrenmeye başladığımda aklıma ilk gelen soru şuydu:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Madem herkes aynı switch'e bağlı, neden herkes birbirini göremiyor?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Cevap oldukça basit: VLAN.&lt;/p&gt;

&lt;p&gt;Aslında VLAN, fiziksel olarak aynı switch üzerinde bulunan cihazları mantıksal olarak farklı ağlara ayırmamızı sağlayan bir teknolojidir.&lt;/p&gt;




&lt;h2&gt;
  
  
  VLAN Nedir?
&lt;/h2&gt;

&lt;p&gt;VLAN (Virtual Local Area Network), fiziksel ağdan bağımsız olarak mantıksal ağlar oluşturmayı sağlayan bir teknolojidir.&lt;/p&gt;

&lt;p&gt;Örneğin tek bir switch düşünelim.&lt;/p&gt;

&lt;p&gt;Bu switch'e;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Muhasebe&lt;/li&gt;
&lt;li&gt;İnsan Kaynakları&lt;/li&gt;
&lt;li&gt;Yazıcılar&lt;/li&gt;
&lt;li&gt;Misafir kullanıcılar&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;aynı anda bağlı olabilir.&lt;/p&gt;

&lt;p&gt;Ancak bunların aynı ağı kullanmasını istemeyiz.&lt;/p&gt;

&lt;p&gt;İşte burada VLAN devreye girer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Gerçek Hayattan Bir Örnek
&lt;/h2&gt;

&lt;p&gt;Bir otel düşünün.&lt;/p&gt;

&lt;p&gt;Herkes aynı binanın içinde kalıyor.&lt;/p&gt;

&lt;p&gt;Ancak herkesin oda numarası farklı.&lt;/p&gt;

&lt;p&gt;Siz başka bir odanın kapısını açamazsınız.&lt;/p&gt;

&lt;p&gt;Çünkü odalar birbirinden ayrılmıştır.&lt;/p&gt;

&lt;p&gt;VLAN da benzer mantıkla çalışır.&lt;/p&gt;

&lt;p&gt;Aynı switch üzerinde olsalar bile cihazlar farklı ağlarda bulunabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  NAC İçerisinde VLAN
&lt;/h2&gt;

&lt;p&gt;Bir kullanıcı başarıyla doğrulandıktan sonra Policy Engine karar verir.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;/p&gt;

&lt;p&gt;IT çalışanı → VLAN20&lt;/p&gt;

&lt;p&gt;Muhasebe → VLAN30&lt;/p&gt;

&lt;p&gt;Yazıcı → VLAN40&lt;/p&gt;

&lt;p&gt;Misafir → VLAN99&lt;/p&gt;

&lt;p&gt;Bu karar daha sonra Switch'e iletilir.&lt;/p&gt;

&lt;p&gt;Switch ilgili portu uygun VLAN'a yerleştirir.&lt;/p&gt;




&lt;h2&gt;
  
  
  VLAN Neden Kullanılır?
&lt;/h2&gt;

&lt;p&gt;VLAN yalnızca düzen sağlamak için kullanılmaz.&lt;/p&gt;

&lt;p&gt;Aynı zamanda;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Güvenliği artırır.&lt;/li&gt;
&lt;li&gt;Broadcast trafiğini azaltır.&lt;/li&gt;
&lt;li&gt;Departmanları birbirinden ayırır.&lt;/li&gt;
&lt;li&gt;Yetkisiz erişimi sınırlar.&lt;/li&gt;
&lt;li&gt;Ağ yönetimini kolaylaştırır.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Her VLAN Ayrı Bir Ağdır
&lt;/h2&gt;

&lt;p&gt;Çoğu zaman her VLAN'ın kendine ait IP bloğu bulunur.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;/p&gt;

&lt;p&gt;VLAN20 → 192.168.20.0/24&lt;/p&gt;

&lt;p&gt;VLAN30 → 192.168.30.0/24&lt;/p&gt;

&lt;p&gt;Bu sayede kullanıcılar hangi VLAN'da oldukları IP adreslerinden bile anlaşılabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;VLAN, modern ağların temel yapı taşlarından biridir.&lt;/p&gt;

&lt;p&gt;NAC ürünlerinin amacı yalnızca kullanıcıyı doğrulamak değil, doğru VLAN'a yerleştirerek güvenli bir ağ segmentasyonu oluşturmaktır.&lt;/p&gt;

</description>
      <category>infrastructure</category>
      <category>networking</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Priority Neden Vardır? İlk Eşleşen Kural Neden Kazanır?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:17:57 +0000</pubDate>
      <link>https://dev.to/feyzadandal/priority-neden-vardir-ilk-eslesen-kural-neden-kazanir-3dkc</link>
      <guid>https://dev.to/feyzadandal/priority-neden-vardir-ilk-eslesen-kural-neden-kazanir-3dkc</guid>
      <description>&lt;p&gt;Policy Engine içinde yüzlerce kural bulunduğunu düşünün.&lt;/p&gt;

&lt;p&gt;Peki bir kullanıcı aynı anda birden fazla kurala uyuyorsa ne olur?&lt;/p&gt;

&lt;p&gt;İşte bu problemi çözmek için Priority kavramı kullanılır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Çakışan Kurallar
&lt;/h2&gt;

&lt;p&gt;Örneğin elimizde şu iki kural olsun:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Policy 1

Department = Employee

↓

VLAN10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Policy 2

Department = Employee

AND

Role = IT

↓

VLAN20
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bir IT çalışanı her iki kurala da uyar.&lt;/p&gt;

&lt;p&gt;Peki hangisi uygulanacak?&lt;/p&gt;




&lt;h2&gt;
  
  
  Priority
&lt;/h2&gt;

&lt;p&gt;Her politika bir öncelik değerine sahiptir.&lt;/p&gt;

&lt;p&gt;Önceliği daha yüksek olan politika önce değerlendirilir.&lt;/p&gt;

&lt;p&gt;İlk eşleşen politika bulunduğunda değerlendirme sona erer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Neden İlk Eşleşmede Duruyor?
&lt;/h2&gt;

&lt;p&gt;Çünkü performans önemlidir.&lt;/p&gt;

&lt;p&gt;Eğer sistem her kullanıcı için yüzlerce politikayı tek tek değerlendirseydi;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gereksiz işlem yapılırdı.&lt;/li&gt;
&lt;li&gt;Yanıt süresi uzardı.&lt;/li&gt;
&lt;li&gt;Sunucu yükü artardı.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;İlk uygun kural bulunduğunda durmak çok daha verimlidir.&lt;/p&gt;




&lt;h2&gt;
  
  
  En Özel Kural En Üste
&lt;/h2&gt;

&lt;p&gt;Policy yazarken genel kabul gören yaklaşım şudur:&lt;/p&gt;

&lt;p&gt;En özel kurallar önce gelir.&lt;/p&gt;

&lt;p&gt;En genel kurallar en sona bırakılır.&lt;/p&gt;

&lt;p&gt;Örneğin;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IT yöneticileri&lt;/li&gt;
&lt;li&gt;IT çalışanları&lt;/li&gt;
&lt;li&gt;Tüm çalışanlar&lt;/li&gt;
&lt;li&gt;Misafir kullanıcılar&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Bu sıralama hem okunabilirliği artırır hem de beklenmeyen davranışların önüne geçer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Gerçek Hayattan Bir Örnek
&lt;/h2&gt;

&lt;p&gt;Bir havaalanında önce diplomatik pasaport sahipleri kontrol edilir.&lt;/p&gt;

&lt;p&gt;Daha sonra business yolcuları.&lt;/p&gt;

&lt;p&gt;En son normal yolcular.&lt;/p&gt;

&lt;p&gt;Bunun nedeni de aslında bir öncelik mekanizması olmasıdır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;Priority yalnızca kuralları sıralamak için kullanılan bir sayı değildir.&lt;/p&gt;

&lt;p&gt;Doğru kullanıldığında sistem performansını artırır, kural çakışmalarını önler ve yönetimi kolaylaştırır.&lt;/p&gt;

&lt;p&gt;Policy Engine tasarımında en kritik kavramlardan biri doğru önceliklendirmedir.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>performance</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Policy Engine: Sistemin Karar Mekanizması</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:17:03 +0000</pubDate>
      <link>https://dev.to/feyzadandal/policy-engine-sistemin-karar-mekanizmasi-2l0f</link>
      <guid>https://dev.to/feyzadandal/policy-engine-sistemin-karar-mekanizmasi-2l0f</guid>
      <description>&lt;p&gt;Bir kullanıcı şirkete bağlandıktan sonra en önemli soru şudur:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bu kullanıcı hangi ağa bağlanacak?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;İşte bu sorunun cevabını Policy Engine verir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Policy Engine Nedir?
&lt;/h2&gt;

&lt;p&gt;Policy Engine, önceden tanımlanmış kuralları değerlendirerek karar veren bileşendir.&lt;/p&gt;

&lt;p&gt;Kendi başına kullanıcı oluşturmaz.&lt;/p&gt;

&lt;p&gt;Veritabanını yönetmez.&lt;/p&gt;

&lt;p&gt;Switch'e doğrudan komut göndermez.&lt;/p&gt;

&lt;p&gt;Sadece elindeki bilgileri değerlendirir ve bir karar üretir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Hangi Bilgilere Bakar?
&lt;/h2&gt;

&lt;p&gt;Bir Policy Engine örneğin şu bilgileri kullanabilir:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kullanıcının departmanı&lt;/li&gt;
&lt;li&gt;Cihaz tipi&lt;/li&gt;
&lt;li&gt;MAC adresi&lt;/li&gt;
&lt;li&gt;İşletim sistemi&lt;/li&gt;
&lt;li&gt;Konum&lt;/li&gt;
&lt;li&gt;Günün saati&lt;/li&gt;
&lt;li&gt;Güvenlik durumu&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bu bilgiler doğrultusunda uygun politika seçilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Basit Bir Örnek
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IF Department = IT

THEN VLAN = 20
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;veya&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IF Device = Printer

THEN VLAN = 40
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bu kurallar yüzlerce hatta binlerce olabilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Neden Ayrı Bir Servis?
&lt;/h2&gt;

&lt;p&gt;İlk bakışta tüm kuralları FastAPI içine yazmak kolay görünebilir.&lt;/p&gt;

&lt;p&gt;Ancak zamanla;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yönetmesi zorlaşır.&lt;/li&gt;
&lt;li&gt;Test edilmesi güçleşir.&lt;/li&gt;
&lt;li&gt;Yeni kurallar eklemek karmaşık hale gelir.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bu nedenle birçok büyük sistemde Policy Engine ayrı bir servis olarak tasarlanır.&lt;/p&gt;

&lt;p&gt;FastAPI gerekli bilgileri toplar.&lt;/p&gt;

&lt;p&gt;Policy Engine sadece karar verir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tek Sorumluluk İlkesi
&lt;/h2&gt;

&lt;p&gt;Bu tasarım Single Responsibility Principle'ın güzel bir örneğidir.&lt;/p&gt;

&lt;p&gt;FastAPI veri akışını yönetir.&lt;/p&gt;

&lt;p&gt;Policy Engine iş kurallarını değerlendirir.&lt;/p&gt;

&lt;p&gt;Bu sayede sistem daha okunabilir ve sürdürülebilir hale gelir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;Bir NAC sisteminde güvenliğin büyük bölümü Policy Engine üzerinde şekillenir.&lt;/p&gt;

&lt;p&gt;Doğru yazılmış politikalar sayesinde her kullanıcı yalnızca erişmesi gereken kaynaklara ulaşabilir.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>networking</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Async/Await ve Event Loop: Binlerce Kullanıcı Aynı Anda Nasıl Bağlanıyor?</title>
      <dc:creator>Feyza Nur Dandal</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:16:12 +0000</pubDate>
      <link>https://dev.to/feyzadandal/asyncawait-ve-event-loop-binlerce-kullanici-ayni-anda-nasil-baglaniyor-o70</link>
      <guid>https://dev.to/feyzadandal/asyncawait-ve-event-loop-binlerce-kullanici-ayni-anda-nasil-baglaniyor-o70</guid>
      <description>&lt;p&gt;Backend geliştirmeye başladığımda "async" kelimesini sadece kodun başına yazılan bir anahtar kelime sanıyordum. Daha sonra bunun modern web uygulamalarının en önemli performans mekanizmalarından biri olduğunu fark ettim.&lt;/p&gt;

&lt;p&gt;Özellikle Network Access Control (NAC) gibi aynı anda binlerce cihazın bağlanabildiği sistemlerde async programlama vazgeçilmezdir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Senkron Çalışma Nasıl Olur?
&lt;/h2&gt;

&lt;p&gt;Diyelim ki aynı anda üç kullanıcı şirkete bağlanmak istiyor.&lt;/p&gt;

&lt;p&gt;Senkron çalışan bir sistemde işlemler şu şekilde ilerler:&lt;/p&gt;

&lt;p&gt;Kullanıcı 1 → İşlem tamamlanır.&lt;/p&gt;

&lt;p&gt;Kullanıcı 2 → Bekler.&lt;/p&gt;

&lt;p&gt;Kullanıcı 3 → Bekler.&lt;/p&gt;

&lt;p&gt;Her kullanıcı kendisinden öncekinin işleminin bitmesini beklemek zorundadır.&lt;/p&gt;

&lt;p&gt;Bu yaklaşım küçük uygulamalarda çalışabilir ancak kurumsal sistemlerde ciddi performans sorunlarına yol açar.&lt;/p&gt;




&lt;h2&gt;
  
  
  Asenkron Çalışma
&lt;/h2&gt;

&lt;p&gt;Asenkron yapıda ise durum farklıdır.&lt;/p&gt;

&lt;p&gt;FastAPI bir kullanıcı için PostgreSQL'den veri beklerken boş durmaz.&lt;/p&gt;

&lt;p&gt;Bu sırada başka kullanıcıların isteklerini işlemeye devam eder.&lt;/p&gt;

&lt;p&gt;Yani bekleme süresi boşa harcanmaz.&lt;/p&gt;

&lt;p&gt;Bu sayede aynı donanımla çok daha fazla kullanıcıya hizmet verilebilir.&lt;/p&gt;




&lt;h2&gt;
  
  
  Async/Await Nedir?
&lt;/h2&gt;

&lt;p&gt;Python'da;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;get_user&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;kodu aslında şunu söyler:&lt;/p&gt;

&lt;p&gt;"Veriyi getir. Ben bu sırada başka işler yapayım. Veri hazır olunca bana haber ver."&lt;/p&gt;

&lt;p&gt;İşte await'in temel mantığı budur.&lt;/p&gt;




&lt;h2&gt;
  
  
  Event Loop Nedir?
&lt;/h2&gt;

&lt;p&gt;Asenkron sistemlerin arkasında çalışan görünmez yöneticiye Event Loop denir.&lt;/p&gt;

&lt;p&gt;Event Loop;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yeni istekleri alır.&lt;/li&gt;
&lt;li&gt;Bekleyen işlemleri takip eder.&lt;/li&gt;
&lt;li&gt;Hazır olan işlemleri çalıştırır.&lt;/li&gt;
&lt;li&gt;Sistemin boş kalmasını engeller.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bunu bir restoran garsonuna benzetebiliriz.&lt;/p&gt;

&lt;p&gt;Garson sipariş verdikten sonra mutfağın önünde beklemez.&lt;/p&gt;

&lt;p&gt;Diğer masalara hizmet etmeye devam eder.&lt;/p&gt;

&lt;p&gt;Sipariş hazır olduğunda geri döner.&lt;/p&gt;

&lt;p&gt;Event Loop da tam olarak bu mantıkla çalışır.&lt;/p&gt;




&lt;h2&gt;
  
  
  NAC Sistemlerinde Neden Önemlidir?
&lt;/h2&gt;

&lt;p&gt;Bir şirket ağına aynı anda yüzlerce cihaz bağlanabilir.&lt;/p&gt;

&lt;p&gt;Her cihaz için;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Redis sorgusu&lt;/li&gt;
&lt;li&gt;PostgreSQL sorgusu&lt;/li&gt;
&lt;li&gt;Policy değerlendirmesi&lt;/li&gt;
&lt;li&gt;RADIUS cevabı&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;gibi işlemler yapılır.&lt;/p&gt;

&lt;p&gt;Bu süreçler asenkron yönetilmediğinde kullanıcılar gereksiz yere beklemek zorunda kalır.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sonuç
&lt;/h2&gt;

&lt;p&gt;Async programlama yalnızca daha hızlı kod yazmak değildir.&lt;/p&gt;

&lt;p&gt;Asıl amacı sistem kaynaklarını verimli kullanmak ve aynı anda daha fazla isteği yönetebilmektir.&lt;/p&gt;

&lt;p&gt;Bu nedenle modern backend framework'lerinin büyük bölümü asenkron mimariyi desteklemektedir.&lt;/p&gt;

</description>
      <category>backend</category>
      <category>performance</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
