Kurumsal Web Sitesi Güvenliği: Yayından Önce Kontrol Edilmesi Gereken 12 Madde
Bir web sitesinin güvenliği yayın gününden önce kurulur. HTTPS ve güvenlik başlıklarından panel girişine, yükleme dizininden denenmiş yedeğe kadar kurumsal bir siteyi yayına almadan önce kontrol edilmesi gereken 12 maddeyi derledik.
Kurumsal web siteleri çoğu zaman “bizde çalınacak ne var ki?” düşüncesiyle güvenlik açısından hafife alınır. Oysa ele geçirilen bir site zararlı yazılım dağıtmak, sahte sayfalar barındırmak ya da arama motorlarında istenmeyen içerik yayınlamak için kullanılabilir. Bunun bedeli yalnızca teknik değildir: arama motoru uyarıları, ziyaretçi güvenini ve kurumsal itibarı doğrudan etkiler. Aşağıdaki liste, bir siteyi yayına almadan önce kontrol ettiğimiz maddelerden oluşur.
Bağlantı ve sunucu
1. Her sayfada HTTPS
SSL sertifikası yalnızca kurulu olmamalı, sitenin bütün adresleri HTTPS'e yönlenmelidir. Sertifikanın süresi dolmadan otomatik olarak yenilendiği de doğrulanmalıdır.
2. HSTS
HSTS başlığı, tarayıcıya sitenin yalnızca güvenli bağlantıyla açılmasını söyler. Böylece şifresiz bağlantıya düşme ve araya girme riski azalır.
3. Güncel yazılım sürümleri
Sunucudaki PHP, veritabanı ve web sunucusu sürümleri desteği devam eden sürümler olmalıdır. Desteği bitmiş bir sürüm, bilinen açıkları için artık güncelleme almaz.
4. Gereksiz dosyaların kapatılması
Yedek dosyaları, eski sürüm kopyaları, ortam ayar dosyaları ve sürüm kontrol klasörleri web üzerinden erişilebilir olmamalıdır. Sunucuda unutulmuş tek bir yedek dosyası, sitenin kaynak kodunu ve veritabanı bilgilerini dışarıya açabilir.
Uygulama
5. Güvenlik başlıkları
İçerik Güvenlik Politikası (CSP), sitenin hangi kaynaklardan betik ve stil yükleyebileceğini sınırlar ve araya sızdırılmış bir kodun çalışmasını zorlaştırır. Çerçeve kısıtlaması gibi başlıklar da sitenin başka sayfalara gizlice gömülmesini engeller.
6. Yükleme dizininde kod çalıştırılamaması
Ziyaretçilerin ya da panel kullanıcılarının dosya yükleyebildiği dizinlerde betik çalıştırmak sunucu düzeyinde engellenmelidir. Böylece görsel diye yüklenmiş zararlı bir dosya çalıştırılamaz.
7. Formlarda spam ve kötüye kullanım koruması
İletişim ve başvuru formları hız sınırı, imzalı form jetonu ve bot korumasıyla desteklenmelidir. Korumasız formlar hem gelen kutusunu doldurur hem de sunucuyu gereksiz yere yorar.
8. Girdi temizliği
Formdan ya da panelden gelen her veri, veritabanına yazılırken ve sayfada gösterilirken uygun şekilde işlenmelidir. Bu, SQL enjeksiyonu ve XSS gibi en yaygın saldırı türlerine karşı temel önlemdir.
Yönetim paneli
9. İki adımlı doğrulama
Panel şifresinin ele geçirilmesi, sitenin tamamının ele geçirilmesi demektir. Yönetici hesaplarında iki adımlı doğrulama zorunlu tutulmalıdır.
10. Hesap kilidi ve işlem kaydı
Art arda hatalı girişlerde hesap ve bağlantı adresi geçici olarak kilitlenmeli, panelde yapılan değişiklikler kimin ne zaman yaptığıyla birlikte kayıt altına alınmalıdır. Bir sorun yaşandığında neyin değiştiğini bilmek, çözümü saatlerden dakikalara indirir.
Yedek ve süreklilik
11. Denenmiş yedek
Yedek almak, geri yükleyebildiğiniz sürece işe yarar. Veritabanı ve dosya yedekleri düzenli alınmalı, sunucu dışına kopyalanmalı ve geri yükleme senaryosu en az bir kez denenmiş olmalıdır.
12. Bakım sorumlusu
Güvenlik bir defalık bir iş değildir. Güncellemeleri, sertifika sürelerini, disk doluluğunu ve hata kayıtlarını düzenli takip edecek bir sorumlunun belli olması, listenin geri kalanı kadar önemlidir.
Sonuç
Bu maddelerin hiçbiri yayından sonra eklenecek bir ayar olarak düşünülmemelidir; en sağlıklısı sitenin mimarisine baştan yerleştirilmeleridir. Duru Yazılım olarak geliştirdiğimiz sitelerde bu listeyi yayından önce tek tek kontrol ediyor, mevcut siteler için de güvenlik incelemesi ve bakım hizmeti sunuyoruz.