Güvenli web için 10 altın kaide

Dijital dönüşümün hızlanmasıyla birlikte, gerek kurumsal gerekse son kullanıcıya yönelik birçok hizmet ve işlem web uygulamalarıyla yönetilir ayla geldi. Bankacılıktan eğitime, sağlıktan ulaşıma değin o kadar fazla süreç web uygulamaları üzerinden yürüyor. Çağdaş yaşamın kritik bileşenlerinden biri haline gelen bu uygulamaların güvenliğini garanti altına almak ise hizmet sağlayıcıların en önemli görevlerinden biri oldu. Türkiye’nin öncü siber emniyet entegratörü Innovera, güvenli bir internet deneyimi için web başvuru formu geliştiricilerin alması gereken güvenlik tedbirlerini 10 maddede özetledi:

İki dev ismin kavgası büyüyor 2019061300281747385.jpg Daha Güvenli Web Uygulamaları İçin 10 Altın Kural

1. Tehlikesiz temas ve aktüel sertifikalar kullanın

Tarayıcıların adres çubuğunda yeşil bir kutucuğun içerisinde bulunan “Tehlikesiz” ibaresi, alt olduğumuz internet sitesinin uçtan uca şifrelendiğini gösteriyor. Bu ibareye sahip yapabilmek için ise sitenin “HTTPS” protokolüyle çalışması gerekiyor. Basmakalıp HTTP sayfalarının sonuna eklenen “S” ibaresi, adını İngilizce güvenlik kelimesinden alıyor ve interneti şifreleyerek güvenli ayla getiriyor. Bu yüzden ödeme ve üyelik sayfaları gibi kullanıcı kadar veri girişi yapılan her internet sayfasında bu protokolün kullanılması gerekiyor.

Güvenli internetin gelişmesine öncülük eden Google gibi arama motorları, her internet sitesinin bu protokolü kullanmasını öğüt ediyor. Güvenli bağlantılar, ayrı hizmet sağlayıcılardan satın alınan “SSL Sertifikaları” ile elde ediliyor. Bu sebeple sertifikalandırma süreçlerinde hem güvenilir bir firma ile amaçlamak hem de sertifikanın aktüel olduğuna emin elde etmek gerekiyor.

 2. Dış ağa açık antre ekranlarına captcha yerleştirin

Bir siteye üye olurken ortaya çıkan “Ben robot değilim” kutucuğunu hepimiz yakından tanıyoruz. Bu kutucuğa tıkladığımızda, yapay akıl ve makine öğreniminden beslenen algoritmalar internet üzerindeki tüm faaliyetlerimizi denetleme ederek bizim reel bir insan olup olmadığımızı kontrol ediyor. Belirsiz bir hareket sezdiğinde ise karşımıza görseller çıkararak bizden doğru seçimleri yapmamızı bekliyor.

“Captcha” olarak adlandırılan ve hayatımıza okunması baskı harf kombinasyonlarıyla giren bu denetleme sistemini, şirketinizin dış ağa açık olan antre ekranlarında kullanabilirsiniz. Çoklu hatalı denemelerde hesabı açıklanmış bir zaman kısıtlayarak, brute force olarak da bilinen ve sistemlere sızmak için ardı ardına bilgi girişi yapılması gereken saldırıların önüne geçebilirsiniz.

3. İstemcilerde çerez güvenliğini sağlayın

İnternet üzerindeki her hareketimizde arkamızda bir iz bırakıyoruz. Bu izler pazarlama ve reklam için kullanılabileceği gibi kötü amaçlarla da kullanılabiliyor. Bu sebeple kullanıcıların dijital dünyadaki etap izleri anlamına gelen çerezlerin (cookie) en iyi şekilde korunduğuna emin edinmek gerekiyor. Örneğin çerezlerin samesite başlıklarındaki emniyet “httponly” ve “secure” kullanarak artırılabiliyor. İnternet sitesinde CSRF ve XSS üzerinden oluşabilecek riskler ise sunucunun başlık (header) bilgilerine “sameorigin (SOP), cross-origin resource sharing (CORS)” ve “http nosniff” ibarelerinin eklenmesiyle minimuma iniyor. Bu işlemler birazcık teknik olsa da kısa bir internet araştırmasıyla kolaylıkla uygulanabiliyor.

4. Tahmin edilebilir dizinlerden kaçının

Başvuru sunucusu üzerinde tahmin edilebilir dizin isimleri olmadığından belirlenmiş elde etmek, kritik dosyaların güvenliği için oldukça önemli. Dışarıdan erişilmesini istemediğiniz bir dosyanın adını “belge” olarak kaydettiğinizde, site domaininin sonuna eklenen “/evrak” kelimesi, herhangi bir kullanıcının ilgili dosyalara erişmesi anlamına geliyor. Bu sebeple dosya ve dizinlere yüksek hassasiyetle yaklaşmaya daha isimlendirme aşamasındayken başlamak gerekiyor.

5. Botlara uyarı edin

Web uygulamanızdaki alıngan dizinlerin robots.txt dosyası içinde yer almadığından belli olun. Google, Yandex ve Bing gibi arama motorları tarafından yaratılan ve interneti ahenkli olarak tarayan zeki botlar, her internet sayfasını tek tek tarayıp arama sonuçlarında tüm dünyaya sunmak için durmaksızın çalışıyor. Özel bilgiler içeren ve sizden başka kimsenin görmesini istemediğiniz sayfaların yanlışlıkla bir Google aramasında çıkmasını istemezsiniz. Neyse ancak basit robots.txt düzenlemeleri ile bu durumun önüne geçilebiliyor.

6. Zinde parolalar kullanın

2019 yılında azımsanmayacak sayıda insan halen doğum tarihi ve isimlerinden oluşan kombinasyonlarla parolalar oluşturuyor. Bu parolalar keza kötü niyetli kişiler göre rahatlıkla tahmin edilebiliyor keza de dakikada binlerce test yapabilen zararlı yazılımlar tarafından kolaylıkla çözülebiliyor. Bu yüzden en düşük sekiz karakterden oluşan ve içerisinde rakam, özel şahsiyet, büyük ve minik harf barındıran dinç şifreler meydana getirmek gerekiyor.

7. Her framework ve kütüphaneyi kullanmayın

İnternet üstünde çalışan bütün uygulamalar, sayısız framework ve kütüphaneden faydalanıyor. Framework; web uygulamasının ortaya çıkmasını sağlayan çalışma ortamını, kütüphane ise daha önce başkaları göre hazırlanmış hazır kod parçacıklarını temsilcilik ediyor. Bu ikili, genelde yapılacak işin ihtiyacına kadar projenin başlangıç aşamalarında seçiliyor. Web uygulamanızda bir kütüphane kullandığınızda, doğrusu dıştan destek almış oluyorsunuz. Ekibinizden olmayan, ayrı bir geliştirici kadar yazılı kod parçacıklarını projenize dahil ediyorsunuz. Kısacası seçici olmakta büyük üstünlük var. Güncel versiyonlara sahip olmayan ya da günümüz teknolojileriyle ahenkli çalışmayan kütüphane ve framework’ler yarardan çok hasar getirebiliyor.

8. Formlarınızı güvende tutun

Uygulamalarda yer alan form işlemlerinde, kullanıcılarınız için rastgele yapılmış eşsiz bir token (geçici anahtar) ile “Siteler Arası Talep Sahteciliği (CSRF)” zafiyetine karşı tedbir alabilirsiniz. Bu token’lar kullanıcıların yerine getirmek istedikleri işlem için yalnızca bir defa üretilir ve bir süre daha sonra başvuru formu dışı kalır. Bu Vesile Ile uygulamanızda uçtan uca güvenlik sağlar.

9. Arıtma işlemi (Sanitize)

Kullanıcılarınızdan gelen tüm verilerin yoklama edilerek işleme alındığından muhakkak olmak adına arıtma işlemi (Sanitize) yapılmalıdır. Sanitize, girdinin makul bir formata çevrilmesi işlemidir. Beyaz liste mantığı ile sanitize işlemine misal saptamak gerekirse, kullanıcıdan alınan TCKN verisinin içinde geçen ve sayı olmayan tüm karakterlerin silinmesidir. Kara liste mantığı ile sanitize işlemine misal devretmek gerekirse kullanıcıdan alınan isim parametresi gibi alanlarda bulunan ve dilekçe için risk oluşturabilecek (tek çivi, çift çivi vb.) karakterlerin silinmesi gösterilebilir. Data denetimi gerçekleştirirken, uygun alanlarda beyaz liste mantığı ile tedbir alınmasını önermekteyiz.

10. Ayrıntılı kusur mesajı göstermeyin

Ortaya çıkan kusur mesajlarını bir bir denetim ederek, kullanıcılarınıza gereğinden artı bilgi sunan detaylı kusur mesajlarının verilmesini engellemeniz gerekiyor. Zira bir siber kavgacı, detaylı bir hata mesajından sisteminizin nasıl çalıştığına ilişkin zihin edinebilir. Bu sebeple hata ayıklama verilerini, incelenmek üzere harici bir kayıt dosyasına yönlendirmenizi tavsiye ediyoruz.

Önceki HaberFast & Furious 9’a Dev Transfer! Sonraki HaberSpielberg’den Hava Karardığında İzlenecek Proje

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir