Bu yazımızda bir web sitesinin saldırılara karşı güvenliğini nasıl sağlayabileceğinizi ve bilinen güvenlik açıklarından bahsedeceğiz. Web sitenizin güvenli olması hem kullanıcılarınız hem de sizin için gayet önemli bir unsurdur. Eğer web siteniz güvenli olmazsa İtibarınızı kaybedebilirsiniz. Ayrıca kullanıcıların verilerinin çalınması gibi durumlarda KVKK kapsamında kurallar bulunmaktadır. Eğer bir kullanıcının verileri çalınırsa hem hukuki açıdan hem de verileri çalınan kişiler tarafından problem yaşayabilirsiniz.
Temel Güvenlik İçin Yapılması Gerekenler
İlk olarak yazılımlarınızı güncel tutmanız gerekmektedir. Kullandığınız web sunucusunu(Litespeed, nginx…), işletim sistemleri veya PHP gibi dilleri güncel tutmalısınız. Ayrıca PHP gibi diller ile hazırlanmış hazır Scriptlerinizi güncel tutmalısınız. Yeni sürümler ile sağlayıcılar bilinen güvenlik açıklarını düzeltirler. Ayrıca bir Yönetici paneli var ise bunun linkini gizli tutmayı deneyin.
Güvenlik Açıkları
Şimdi ise biraz Güvenlik açıklarından bahsedelim. Bu açıklar kullanılarak web sitenizin gizli içeriklerine erişilebilir. Bu açıklara mutlaka dikkat etmeniz gerekmektedir. Gelin madde madde göz atalım.
SQL Injection
SQL Injection dediğimiz güvenlik açığı ile saldırganlar web sitesinin veri tabanı üzerinde bir çok tehlikeli işlemi yapabilir. Örnek bir SQL Injection saldırısı olarak Tesla verilebilir. 2014 yılında Tesla yaptığı çalışma ile web sitesi arka planına yetkisiz erişilebildiğini raporladı.
Örnek bir sorgu verelim. SELECT * FROM users WHERE username=’ali’ AND passwd=’123’. Bu sorguda kullanıcı adı kısmına 1=1 — gireriz, Ardından – işaretinden sonrası yorum satırı olarak sayılacağından şifre doğrulamasını atlayabiliriz.
SQL Injection Çözümleri
- Örneğin PHP üzerinde PDO eklentisi kullanırsak SQL sorgularını daha güvenli hale getiririz.
- Kullanıcı adı ve şifre gibi form bilgilerini belirli karakterlere göre filtreleyebiliriz.
- Güvenlik Duvarı kullanarak istekleri filtreleyebiliriz.
O halde gelin diğer bir maddeye geçelim.
File Upload
Bu güvenlik açığında ise, saldırgan bir dosya yükleyerek web sitesini ele geçirebilir. Örneğin profil fotoğrafı yükleme sayfası var. Saldırgan fotoğrafın meta verilerini değiştirerek yükler. Bu yüzden yüklenen dosyalar sadece uzantısına göre değil içeriğine göre de filtrelenmelidir.
File Upload Çözümleri
- PHP kullanıyorsanız 7.4+ bir sürüm kullanın. PHP 5 ve daha önceki sürümlerde NULL BYTE açığı ile dosya uzantısı denetlemesi atlanabilmektedir.
- Örneğin bir fotoğraf kabul ediyorsanız getimagesize gibi fonksiyonlar ile fotoğrafın çözünürlüğünü vb. geçerli mi kontrol edin.
Gelin bir diğer güvenlik açığına göz atalım.
Brute-Force
Brute-Force, bir kullanıcı hesabını sürekli şifre deneme yoluyla giriş yapmaktır. Bu durumda Saldırgan herhangi bir kişinin hesabına sizin sayfanıza sürekli bir istek yollayarak girmeyi dener.
Brute-Force Çözümleri
- Giriş Yapmayı deneyen kullanıcıların hesabını kaydedin. Yani giriş yapmayı deneyip başarısız olan kullanıcıları kaydedin. Ardından bu kullanıcı belirli bir denemeye ulaştığında Captcha(Ben Robot değilim) balonu çıkarabilirsiniz.
Son maddeye göz atalım.
Command Injection
Bu açık üzerinde Saldırgan belirli komutları sunucu üzerinde çalıştırmayı dener. Örneğin bir sosyal medya siteniz var. Burada kullanıcı profili Bio kısmı var. Bio kısmına PHP kodları vb. ekleyerek bunları gerçekleştirmeyi dener. Çok ciddi bir sorundur.
Command Injection Çözümleri
- Veriyi yazdırırken Örneğin PHP üzerinde htmlentities() fonksiyonu ile yazdırırsanız. <, > gibi etiketler otomatik olarak normal şekilde yazdırılacaktır.
Yazılımlarımız tamamen güvenli!
Hazırladığımız ve siz değerli müşterilerimize sunduğumuz yazılımlarımızı hazırlarken tüm güvenlik önlemlerine dikkat ederek hazırlıyoruz. Bu sayfaya eklemediğimiz daha bir çok güvenlik önlemini yazılımlarımızı hazırlarken kullanıyoruz.
Yazılımlarımıza ulaşmak için: https://nomee6.xyz/magaza