HSTS WordPress Doğrulaması

hsts-preloading

Merhaba,

SSL sertifikalar artık zorunlu hale geldi/geliyor ve sitenizde ssl olsa bile hackerlar yinede sitenizi dinleyebilir kullanıcılarınızın bilgilerini çalabilirler. Bunu daha zor hale getirme için sitenizi HSTS preload listesine eklemeniz gerekli.

HSTS Nedir?

Hypertext Strict Transport Security header ile yollanan bir web güvenliği standartıyken, bu sayede tarayıcıların belli bir siteyi ziyaret ederken güvenli HTTPS bağlantısı kurmasını sağlar. Böylece cookie çalınma girişimleri ve downgrade saldırıları da önlenir. Bu Strict-Transport-Security parametresiyle sağlanırken, tüm bağlantıların güvenli gerçekleşmesine dikkat eder, güvensiz HTTPS konusundaki olası ihmalleri önler. Header içinde bu parametrenin uygulanacağı bir zaman aralığı belirlenir.

HSTS Preload Nedir?

HSTS Preload ile daha önceden HSTS yüklenmiş bir dizi web sitesinin listesini alırsınız. Bu sayede de ilk bağlantı denemelerinde downgrade saldırılarının ya da cookie çalınma riskinin önüne etkili bir şekilde geçer. Bir web tarayıcısı HSTS Preload listeli bir web sitesine ilk kez girdiğinde, zaten sadece güvenli bağlantı kurulacağını bilecektir.

HSTS Preload listesiyle ilgili tek problem ise üstesinden gelmenin biraz zaman almasıdır. Çünkü bu konuda tarayıcıların insafına kalırsınız ve yeni güncellemelerden önce listeye sizi de eklemeleri gerekir. Bazı tarayıcılarda bu birkaç haftalık bir süreç olurken, kimisinde ise aylar boyunca sürebiliyor. Artık bu TLD’lere sahip olan ve bir SSL sertifikasıyla güvenliği sağlanmış her site listeye varsayılan olarak alınıyor.

HSTS Uygulamadan Önce Nelere Dikkat Etmeli?

HSTS ekleyip uygun bir header ayarlamadan önce dikkat etmeniz gereken birkaç püf nokta var;

– Web sitenizde hâli hazırda bir SSL sertifikası bulunmalı.

– Eğer alt domainleriniz varsa bunları korumak için wildcard kullanmalısınız.

– 301 yönlendirmeleri kullanarak tüm HTTP sayfalarınızı HTTPS olanlara yönlendirmelisiniz.

– Google’a göre en iyi uygulama maksimum iki yıllık olmalı.

– SubDomain ve preload headerları da eklenmelidir.

Önemli Not: Sadece ‘preload’ eklemek sizi HSTS preload listesine almayacaktır. Bunun için aşağıda bahsedeceğimiz adımları izlemek gerekmektedir.

Microsoft IIS Sunucuları için HSTS Headerı

protected void Application_BeginRequest(Object sender, EventArgs e) { switch (Request.Url.Scheme) { case “https”: Response.AddHeader(“Strict-Transport-Security”, “max-age=31536000; includeSubDomains; preload”); break; case “http”: var path = “https://” + Request.Url.Host + Request.Url.PathAndQuery; Response.Status = “301 Moved Permanently”; Response.AddHeader(“Location”, path); break; } }

Nginx İçin HSTS Headerı

add_header Strict-Transport-Security ‘max-age=300; includeSubDomains; preload; always;’

Lighttpd İçin HSTS Headerı

server.modules += ( “mod_setenv” ) $HTTP[“scheme”] == “https” { setenv.add-response-header = (“Strict-Transport-Security” => “max-age=300; includeSubDomains; preload”) }

Asp config için kullanılan kod:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains; preload" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

WordPress Functions.php kodu:

WordPress için geçerli olan kod aşağdaıki gibi olacaktır. Görünüm den Düzenleyici seçin. Functions.php açın yukarılarda ilk kod blogundan sonra aşağıdaki kodu ekleyin.

/**  
 * Hsts Preload İşlemi - Trdesigner.
*/
add_action( 'send_headers', 'tgm_io_strict_transport_security' );
/**
 * Enables the HTTP Strict Transport Security (HSTS) header - TrDesigner.
 *
 * @since 1.0.0 trdesigner
 */
function tgm_io_strict_transport_security() {
 
    header( 'Strict-Transport-Security: max-age=31536000; includeSubDomains; preload' );
 
}
/* HSTS Trdesigner */
hsts-dogrulama
Doğrulaması yapılmış domain görünümü
hsts-dogrulamasiz
Doğrulaması yapılmamış domain görünümü


NOT: Sadece subdomaine uygulasanız geçerli olmuyor. Mesela bu blog tüm şartları yerine getirdiği halde ana domainden doğrulaması ile kabul edilmektedir. Konsorsiyum bu şekilde doğrulama listesine kabul ediyor bilginize.

Bir yanıt yazın