Azure Firewall Rules
Bundan önceki makalemde temel olarak Azure Firewall servisinden bahsetmiştim. Bu bölümde ise temel olarak Azure Firewall servisi için kural mantığının nasıl çalıştığını ve temel bir kuralın nasıl yazılacağını anlatacağım.
Temel olarak mimariyi hatırlamak için ilk makalemde paylaştığım resmi bir kez daha paylaşıyorum.
Temel olarak bağlantıları outbound yani dışarıya yönlü ve inbound yani içeriye yönlü olmak üzere ikiye ayırıyoruz. Bu aslında her firewall üreticisinde ortak kullanılan terimlerdir.
Hem içeriden dışarıya hem de dışarıdan içeriye olan trafiği yönetmek için temel olarak NAT rules, network rules ve application rules oluşturabiliriz. Kurallarda öncelik sırası düşük numara daha öncelikli anlamına gelir. 100 ile 65.000 arasında örneğin 100, 200’ den daha öncelikli bir kuralı temsil eder. En ideal sıralama 100, 200, 300 şeklinde artırımlardır ancak tabi ki yine bu sizin kullanımınıza göre farklılıklar gösterebilir.
Kural isimleri sadece harfler, numaralar, altçizgi nokta veya kısa çizgi yani tire içerebilir. Bir harf veya rakamla başlamalı ve bir harf, rakam veya altçizgi ile bitmelidir. Maksimum isim uzunluğu ise 80 karakter olabilir.
Aşağıdaki durumların bir istisnası eğer azure firewall üzerinde threat intelligence-based Filtering aktifleştirilirse en yüksek öncelikli kural bu olur. Peki nedir bu Intelligence-based Filtering?
Threat Intelligence-Based Filtering
Tehdit istihbaratı tabanlı filtreleme, azure için bilinen kötü amaçlı ip adresleri ve etki alanlarından gelen / giden trafiği engeller veya uyarır. Bu özellik bir azure firewall hizmeti için ek olarak açılabilir yani aktif olarak kullanmak zorunda değilsiniz. Ip adresleri ve etki alanları Microsoft threat Intelligence veri tabanından elde edilir. Eğer bu özelliği açarsanız en baskın kural aslında burada Microsoft tarafından yönetilen bir servis olur.
Outbound Connectivity
Azure ortamından dış dünyaya çıkan tüm trafik için “outbound” kelimesi kullanılır ve bunun için temelde iki kural seti kullanırız. Network rule ve Application rule olarak isimlendirdiğimi bu kural setlerinden network rule önceliklidir. Eğer bir paket network rule ile kesişir ise diğer kurallar çalışmaz, ancak kesişmez ve trafik http,https veya MSSQL paketi ise Apllication kuralları devreye girer. Bunlarda kendi içerisinde öncelik sırasına göre uygulanır. Bu çok temel bir bilgi olup bunu mutlaka bilmeniz gereklidir. Eğer bu paket yukarıdaki herhangi bir sınıflandırmaya girmiyor ise yani network rule ile örtüşmeyen ve http, https veya mssql paketi değil ise infrastructure rule collection dediğimiz ve varsayılan olarak yani Azure Firewall da bulunan “built-in” kuralları karşılar. Bu kurallar aslında varsayılan olarak izin kuralı olup temel servislerin (Compute access to storage Platform Image Repository (PIR), Managed disks status storage access ve Azure Diagnostics and Logging (MDS)) sorunsuz çalışması için trafiğe geçiş izni verir. Eğer trafik bu servis istekleri ile de örtüşmüyor ise varsayılan olarak deny yani yasaklanır, erişim izni verilmez.
Inbound Connectivity
Azure kaynaklarınıza internet veya benzeri dış ortamlardan gelen her türlü trafik için inbound terimini kullanıyoruz ve burada kullandığımız kavramda NAT oluyor. Aslında ADSL modemlerden bile bildiğimiz Destination Network Address Translation (DNAT) aktif olarak dışarıdan gelen istekleri iç kaynaklara yönlendirmek için kullandığımız teknolojidir. NAT kuralları Network kurallarından önce uygulanır. Bir eşleşme olur ise NAT kuralı önceliğe sahiptir, bunun istisnası network rule tarafında “deny” kuralı yazmaktır.
Application rules inbound trafik için uygulanmaz. Eğer inbound trafik için http/s trafiğini filtrelemek istiyorsanız Web Application Firewall yani WAF kullanmanız gereklidir.
Peki şimdi hızlıca kağıt üzerinde kural mantığını inceleyelim, sonrasında ise bunları uygulamalı olarak bir sonraki makalemde ekranları kullanarak gerçek bir azure ortamında kullanacağız.
Şimdi bakalım mantığı anladık mı görelim.
Aşağıdaki gibi bir durumda google.com’ a erişebilir miyiz?
Evet, çünkü google.com network rule tarafında izinli ve hatırlarsanız network rule öncelikliydi.
Peki bu durumda SSH trafiği izinli midir?
Hayır, erişim sağlanmaz çünkü iki network rule arasında da öncelikli olan kural yani Deny kuralı burada baskın olacaktır. Burada önemli bir bilgide şudur;
Eğer bir izin kuralı deny olarak yani yasak kurılına dönüştürülür ise aktif sessionlar kesilir. Bu nedenle bu tür değişikliklerden önce bu bilgiyi aklınızdan çıkarmayın lütfen.
Umarım faydalı bir yazı olmuştur.
İlgili diğer yazılar
İlgili yazılar