25 Haziran 2016 Cumartesi

PHP ve GÜVENLİK

PHP ve GÜVENLİK
Ġlk konularda anlatıldığı üzere internetin iletiĢim
protokolü olan TCP/IP protokolü güvenlikten daha çk
verinin iletilmei amacına yönelik tasarlanmıĢtı. ĠĢte bu
yüzden web ortamında güvenlik inert yaygınlaĢtıkça
büyük sorun olmaya baĢladı. Çünkü çk çeĢitli sebeplerle
internet siteleri, buları yayınlayan web sunuculara
saldırılır oldu, o da yetmez gibi web sunuculardaki we
server programları, iĢletim sistemleri hedef tahtasına
kondu. Günümüzde
 Merakını gidermek ve öğrenmek
 Kendini test etmek
 Bir yerlerden okuduğu bir yöntemi yada kodu
denemek
 Yazılımı geliĢirenlere ―sizin ürününüzü kırdım, bunu
daha güvenli yapın, ben sizden daha akıllıyım‖
mesajı vermek
 KiĢisel egosunu tatmin etmek
 Yazılımların güvenlik açıklarına dikkati çekmek
 Edindiği sisteme sızma yollarını yada önemli
bilgileri para karĢılığı satmak
 Rakibine ait bilgileri ele geçirmek
Gibi çok çeĢitli sebeplerle sistem güvenliğine saldırı
olabilir. Üstelik sadece iyi niyetli olmayan kiĢilere karĢı
değil, ne yaptığını tam bilmeyen Web ziyaretçilerini de
düĢünmek ve PHP programlarının güvenliğini arttırmak
gereklidir.
Internet ve iyiniyet bir arada olmaz. Size tuhaf gelsede
içinde güvenlik açığı olan bir kodu yada programı ortaya
bırakırsanız birisi yada birileri bunu mutlaka
kullanacaktır.
Sunucu güvenliği de son derece önemlidir ancak bunu
sağlamak genellikle tasarımcının sorumluluğunda değil
hosting Ģirketinin sorumluluğundadır. Ancak sitedeki
kodların ve vasa veritabanının güvenliği haliyle siteyi
tasarlayanın sorumluluğundadır.
Zararlar ne türde olabilir;
 Sayfanız baĢa yerlere yönlendirilebilir
 Sayfalarınız silinebilir veya değiĢtirilebilir
 Sitedeki açık yardımıyla sunucu çökertilebilir
 Site veritabanlarında bulunan kredi kartı
numaraları ve telefon numaraları, email adresleri
gibi özel bilgiler baĢkalarının eline geçebilir
Bunun dıĢında birde insan faktörü ile hata yapan
ziyaretçilerin hatalarının kontrol edilmesi gerekir. Mesela
elektronik posta adresini yazmak isteyen kiĢi yanlıĢlıkla
@ yerine q yazabilir yada iki @ iĢaretiyle yazabilir, adresi
eksik yada hatalı yazabilir. Formu eksik doldurabilir. Bu
gibi durumlarda hatayı sonradan düzeltmek zaman
kaybına yol açar. Kimi zaman eksik verilmiĢ bir bilgi bu
bilgileri iĢleyecek olan diğer programda hataya yol
açabilir. Bu sebeple, özellikle Form yoluyla alınan
bilgilerin kontrol edilmesi ve doğrulanması önemlidir.
Form doğrulama iki yerde yapılabilir. Ziyaretçi yani
istemci tarafından yada sunucu tarafında. Kullanıcı
tarafındaki, yani ziyaretçiye göndereceğimiz HTML
sayfasının içinde yer alan kodlarla yapacağımız kontrol
ve doğrulama sunucuya bağlantı gerekmediği için tabiî ki
hızlı çalıĢacaktır.
Kullanıcı gönder düğmesini tıkladıktan sonra çok
beklemesi gerekmez. Ancak bildiğiniz gibi HTML kodları
herkesçe kolayca görülebilirler. Bu durumdan anlamamız
gereken konrol ve doğrulama iĢlemini yapan kodlarında
görüntülendiğidir. Bunları inceleyen kötü nietli ve bilgili
biri kodunuzun açıklarını kullanarak zararlı kod
gönderebilir. Bu kontrol iĢleminin sunucu tarafında
yapılması ise zaman, hız ve trafik geniĢliğinden kayıp
demek olsada güvenlik açısından daha etkindir.
Kullanıcı her gönder düğmesinde gönder düğmesini
tıkladığında sunucu tarafı verilen kodlara göre bilgileri
doğrular ve eksik kısımları bildirerek tekrar giriĢ ister. Bu
gerektiğinde 4-5 defa git-gel-doğrula iĢlemine yol açar
ama sonuçta önemli olan güvenliktir.
PHP ayrıca mevcut hemen hemen bütün sunucu kullanıcı
kimlik doğrulama protokolleri ile uyumludur; ve sunucu
yönetimi ile iliĢki kurularak daha karmaĢık kullanıcı
kimlik doğrulama yöntemleri uygulanabilir. Bu yöntemler
arasında Secure Socket Layer (SSL) yöntemlerini, ve
OpenSSL ve ModSSL teknikleri sayabiliriz.

Hiç yorum yok:

Yorum Gönder