X-Frame-Options başlığını sürekli veya düzenli aralıklarla kontrol etmek, web uygulama güvenliği açısından önemli bir adımdır. Bu başlık, sitenin iframe veya embed edilmesini engelleyerek clickjacking saldırılarına karşı koruma sağlar. Bash kullanarak bu durumu nasıl izleyebiliriz, detaylara bakalım.
İlk olarak, bir URL’nin HTTP başlıklarını kontrol etmek için
curl komutunu kullanabiliriz. Örneğin:
1curl -sI https://ornekwebsite.com | grep -i 'X-Frame-Options'
Burada, -s sessiz modda çalışır, -I ise sadece başlıkları getirir. Elde edilen çıktı, başlıklar arasında X-Frame-Options olup olmadığını gösterir. Bu başlık yoksa, güvenlik açığı oluşabilir.
Düzenli izleme için, bu komutu bir kabuk betiğine dönüştürebiliriz. Örnek:
12345678910111213
#!/bin/bash
URL="https://ornekwebsite.com"
HEADERS=$(curl -sI $URL)
X_FRAME=$(echo "$HEADERS" | grep -i 'X-Frame-Options')
if [ -z "$X_FRAME" ]; then
echo "$(date): X-Frame-Options bulunamadı!" >> /var/log/xframe_monitor.log
# Alternatif olarak, uyarı gönderebilirsiniz
else
echo "$(date): X-Frame-Options durumu iyi." >> /var/log/xframe_monitor.log
fi
Bu betiği cron veya başka bir zamanlayıcıyla düzenli çalıştırmak, sitenin güvenlik başlıklarını sürekli takip etmenize imkan sağlar. Ayrıca, farklı siteleri tek bir betikle de kontrol edebilirsiniz.
Gelişmiş kullanımda, X-Frame-Options dışında Content-Security-Policy gibi diğer güvenlik başlıklarını da izleyebilirsiniz. Bu sayede, sitenin güvenlik durumu kapsamlı bir şekilde takip edilebilir.
Sizce, bu tür otomatik izleme sistemleri güvenlik açısından yeterli mi, yoksa başka yöntemlerle desteklenmeli mi?