Basic Authentication Kapanışı İçin Güncelleme

Microsoft Ocak ayından sonra birbirinden farklı e-posta protokolleri için Basic Authentication’u kapatacağını tenant yöneticilerine duyurmuştu.

Çözüm olarak sunulan Exchange servisleri için Modern Authentication mimarisi Basic Authentication’a göre daha güvenli bir yapı sunmaktadır. Basic Authentication’dan Modern Authentication‘a geçişin nedenini detaylı öğrenmek için yazımı okumaya devam edin.

Microsoft 1 Ekim 2022’den itibaren, seçmece yaparak Tenant seçerek MAPI, RPC, OAB, EWS, POP, IMAP, EAS ve Remote PowerShell protokolleri için Basic Authentication’u kapatmaya başlayacak ve kapatma işlemi gerçekleşmeden önce Message Center’a 7 gün öncesinden bildirim gönderecek. 😊 Çoğu insan bu kısımdaki mailleri görmediği gelindiği düşünülürse aslında hata gelmeye başlandığında fark edilecek.

Tenant yöneticileri ve kullanıcıların SMTP Auth tarafındaki soru işaretleri çözüm sunuldu;

Microsoft, Modern Authentication kısmında SMTP Auth için herhangi bir ayarı kapatmayacaklarını bildirdi. Peki Microsoft 365, neden Basic Authentication yerine Modern Authentication’a geçişi zorunlu kılıyor?

 

HTTP Basic Authentication (Temel kimlik doğrulaması), kullanıcı adı ve parola parametreleri ile erişim talebi gönderen klasik bir oturum açma yöntemidir. Bu yöntemde önce client sunucuya bir erişim talebi gönderir. Bu talebe istinaden sunucu Authorization (yetkilendirme) bilgilerini rica eder. Doğrulama yönteminde istemcinin doğru giriş bilgilerini girmesi gerekmektedir.

Basic Authentication ile kullanacağımız bir sayfada gerçekleşen HTTP el sıkışma aşamalarını aşağıda anlatmaya çalışacağım ancak daha detaylı bir şekilde incelemek isterseniz RFC-7617 The ‘Basic’ HTTP Authentication Scheme dökümanı inceleyebilirsiniz.

1. Tarayıcı (İstemci), Basic Authentication kullanan sayfaya istek atar.                                                                                                                        

2. Sunucu, HTTP durum kodunu (401) ve istemcinin Basic Authentication başlatması gerektiğini belirten Basic değerli WWW-Authenticate değişkenini http başlığıyla gönderir.

WWW-Authenticate : Basic

3. İstemci tarayıcısı bu başlıkla karşılaştığında aşağıdaki gibi kullanıcı adı ve şifre için bir giriş alanına sahip pencereyi oluşturur.

4. İstemci, açılır pencerede kullanıcı adı ve şifre bilgilerini girer ve gönderir. Burada tarayıcı, base64 kodlamasını kullanarak girilen kullanıcı adını ve şifreyi iki nokta üst üste işaretiyle http header halinde sunucuya iletilir.  

Örneğin, kullanıcı adını admin ve şifreyi 12345 olarak girdiğinizi varsayalım. Tarayıcı bunu aşağıdaki gibi kodlayacaktır.

Kodlama : Base64Encode('admin:12345')
Çıktı   : YWRtaW46MTIzNDU=

5. İstemci tarayıcısı daha sonra Authorization başlığının içine bu Base64 değerini ekleyerek gönderir. Aşağıdaki gibi kodlanmış değerden önce Basic dizesini başına da ekleneceğini unutmayın.

Authorization : Basic YWRtaW46MTIzNDU=

6. Sunucu, Authorization başlığında istemci tarafından gönderilen encode değerini sunucuda kayıtlı olan kullanı adı ve şifrenin aynı şekilde alınmış base64 encode değeri ile karşılaştırır. Her iki değer de eşleşirse, istenen verilerle birlikte HTTP durum kodu 200‘ü gönderir. Ancak encode değerleri eşleşmezse, sunucu WWW-Authenticate ile belirtildiği gibi 401 gönderir ve 2. adıma döner.

Basic Auth. ile hazırladığım örnek bir sayfada doğrulama sonrası yetki almış bir şekilde gezindiğim sayfanın HTTP başlığında aşağıdaki resimde olduğu gibi Authorization etiketini görürüz.

İlgili İçerikler

Yazılım Testi Nedir? Temel Kavramlar ve Uygulama Yöntemleri Rehberi

Yazılım Testinin Tanımı ve Amacı Yazılım testi, bir yazılım ürününün...

DevOps Yolculuğunda İdeal Çalışma Ortamları

DevOps, yazılım geliştirme (Development) ve operasyon (Operations) ekipleri arasındaki...

API’lerin Çalışma Şekli: Basit Bir Açıklama

API (Application Programming Interface - Uygulama Programlama Arayüzü), farklı...

Stratejik Düşünme

1. Stratejik Düşünmenin Temelleri Stratejik düşünmenin tanımı ve organizasyonlar için...

Prompt Mühendisliği – Zero-Shot Chain-of-Thought Nedir?

Prompt Mühendisliği, yapay zekâ modelleriyle etkileşim kurarken kullanılan komutların...
Sonraki İçerik

İncelemelerim