SQL Azure sunucularına hem Internet’ten yapılan bağlantılarda hem de Windows Azure’dan yapılan bağlantılarda SQL Azure Firewall güvenliği sağlamaktadır. Her bağlantı kurmak isteyen client’ın SQL Azure Firewall üzerinde yetkilendirimesi gerekmekte bu şekilde denial-of-service (DOS) ataklarının önüne geçilebilmektedir.

Bugünkü Adım Adım SQL Azure makalemde, SQL Azure Firewall mimarisine değindikten sonra Firewall yapılandırmasının hem Azure Portal hem de Database Manager üzerinden TSQL komutları ile nasıl yapıldığına bakıyor olacağız.

SQL Azure Firewall mimarisi aşağıdaki gibidir.

8[5]

Resimde de görüldüğü gibi SQL Azure sunucularının önünde SQL Azure Firewall bulunmaktadır. Bu Firewall hem Windows Azure’dan gelen client’ları hem de Internet üzerinden gelen client’ları kontrol etmektedir.

Şimdi Firewall yapılandırmasının nasıl yapıldığına bakalım.

Azure Portal Üzerinden Firewall Yapılandırması

Azure portalına giriş yaptıktan sonra subscription kısmından ilgili subscription’ı seçip daha sonra da mantıksal sunucuyu seçiyoruz. (Azure portala bağlanma konusu ile alakalı bir önceki makalemi okumanızı tavsiye ederim.) Bu esnada ekran görüntüsü aşağıdaki gibi olacaktır.

1

İlk olarak neden bir firewall yapılandırmasına ihtiyaç duyduğumuzu görmek için herhangi bir firewall rule’u tanımlamadan Test Connectivity butonuna basarak sunucuya bağlantıyı test edelim.

2

Gelen ekranda admin kullanıcısının şifresini girip connect butonuna bastığımızda aşağıdaki gibi bir hata mesajı alacağız.

3

Hata mesajının detayında 70.37.100.19 nolu IP’nin, server’a erişmesine izin verilmediği gözükmekte. Bu IP Windows Azure’un SQL Azure’a bağlanırken kullandığı IP ve firewall ayarlarında bu IP için izin verilmediği için bağlantı gerçekleşmemekte. Şimdi bu firewall ayarlamasını yapalım.

Bunun için şu andaki ekranı close diyerek kapayalım ve Firewall Rules butonuna basalım. Bu ekranda yukarıdaki IP için bir rule tanımlayacağız.

4

Şu an için herhangi bir tanımlanmış rule’umuz yok. Yeni bir rule tanımlamak için add butonuna basalım.

5

Gelen ekranda rule için bir ad ve IP aralığı (ben bu örneğim için tek bir IP’ye rule tanımlamak istediğimden dolayı her 2 tarafa aynı IP’yi yazacağım) verdikten sonra OK butonuna basarak bu rule’u kaydedelim.

6

7

Şimdi tekrar bağlantıyı test etmek için Test Connectivity butonunu tıklayalım.

8

Firewall tanımlasını yaptığımız için bağlantı işlemi sorunsuz gerçekleşti.

Bu şekilde add butonunu kullanarak hangi client’ların Azure sunucumuza bağlanmasını istiyorsak yeni rule’lar tanımlayabiliriz. Şimdi bu rule tanımlama işlemini Database Manager ile Azure DB’mize bağlanarak TSQL ile yapalım.

Database Manager Üzerinden TSQL Kullanarak Firewall Yapılandırması

Database Manager ile Azure portal’da sunucuyu seçtikten sonra sağ tarafta çıkan DB listesinde master DB’sini tıklayıp üst tarafta bulunan Manage butonuna tıklıyoruz.

9

Gelen ekranda admin kullanıcının şifresini yazıp connect butonuna tıklıyoruz.

10

Bağlantı kurulmadığını ve bir hata alındığını göreceğiz. error yazısına tıkladığımızda hatanın detayı görünmekte.

11

Alınan hata daha önce aldığımız firewall hatası ile aynı. Bunun nedeni Database Manager’ın Azure server’ımıza bağlantı kurabilmesi için gerekli firewall tanımlamasını yapmamış olmamız.

Bir önceki bölümde anlattığım şekilde firewall tanımlamasını yapıyoruz.

12

Tekrar Manage butonu vasıtasıyla master DB’sine bağlantı kurmaya deniyoruz ve sıkıntısız bir şekilde bağlantı kurabildiğimizi görüyoruz.

13

Şimdi TSQL komutlarını yazmak için yeni bir query ekranı açacağız. Bunun için sol üst tarafta bulunan New Query butonuna basıyoruz.

14

Açılan yeni sayfada query’lerimizi çalıştırmaya başlayabiliriz. İlk olarak tanımlı firewall rule’larımızı görelim.

Aşağıdaki sorguyu query ekranında yazıp sol üst tarafta bulunan execute butonuna basıyoruz.

select * from sys.firewall_rules

 

15

Sorguyu execute ettiğimizde 2 satırlık bir sonuç gelmekte. Bu kayıtlarda bizim az önce tanımlamış olduğumuz firewall rule’ları.

Yeni bir rule tanımlayalım.

exec sp_set_firewall_rule N'Sample Rule','5.5.5.5','5.5.5.6'

 

Tanımlamış rule’ları tekrar görüntüleyelim.

16

Gördüğünüz gibi yeni tanımlamış olduğumuz Sample Rule sorgu sonucunda gelmekte. Şimdi bu rule’da bir update yapıp IP aralığını değiştirelim.

exec sp_set_firewall_rule N'Sample Rule','6.6.6.6','6.6.6.6'

 

Son olarak tanımladığımız Sample Rule kuralını silelim.

exec sp_delete_firewall_rule N'Sample Rule'

 

Bugünkü Adım Adım SQL Azure makalemde SQL Azure’da firewall mimarisinin nasıl olduğunu ve base olarak firewall tanımlamaların nasıl yapıldığını gördük.

Bir sonraki Azure makalemde “Database Manager (Project Code-Named “Houston”) ile Platform Bağımsız SQL Azure Veritabanı Yönetimi” konusu üzerine konuşuyor olacağız.

 

İyi çalışmalar

Turgay Sahtiyan