Share This Post

Güvenlik / Slider

Websitesini güvenli hale getirme

Websitesini güvenli hale getirme

Web siteleri güvenli hale getirmenin yollarını bu makalemde anlatıyorum.

Gün geçtikçe siber olaylar artıyor saatte onbinlerce site hackleniyor.

Bir sunucu düşünün ve siteleriniz barınıyor bu siteler kişisel siteler, firma siteleri, kamu kurum, haber siteleri yada hacklenmemesini istediğiniz siteler.

Büyük bir vds yada fiziksel sunucu alıp sitelerinizi üst güvenlik noktalarına çıkarabilirsiniz.

1 sitenizi bulan hackerlar sunucuyu uzaktan tarayarak diğer sitelerinizi görebilir.  Bu konu özellikle dikkat edilmesi gerekenler arasındadır. 1. sitede açık bulamayan hackerler sunucuda ki siteleri taratarak diğer sitelerde işlem yapacaklardır. Açık olan siteden sızan hackerlar local e eriştiğinde sunucunuzu dahi rootlatıp sistemi bozabilir.

Nasıl mı ?

  • Önemli sitelerinizi asla paylaşımlı hostinglerde barındırmayın !

Paylaşımlı hostingler bombalı tuzak gibidir. Firmalardan aldığınız sunucuların güvenlik optimizasyonu yapılmamış olabilir. Çeşitli bypass yöntemleri ile sunucuda deneme yapan hackerlar sitelerinizi 1 dakikada hackleyebilir. Bunun yerine fiziksel sunucu yada sanal sunucu kullanıp sitelerinizi openvz ile sanallaştırabilirsiniz.

  • Mysql sunucuzu localde tutmayın.

Centos webpanel yada plesk panel kullanıp onu mysql sunucuya çevirebilirsiniz. Veritabanını uzakta tutmak her zaman mantıklıdır aynı zamanda sql taşıma ile uğraşmanıza gerek olmaz sadece dosyalarınızı taşımanız yeterlidir. Fakat mysql host yapılandırırken aynı konumda olmasına dikkat edilmelidir.

  • Port güvenliği

Özellikle ssh yolu ile kolay parola kullanımı yapan kullanıcılar genelde çok basit şekilde hacklenir. Mysql portunu filtreleyip sadece belirlediğimiz IP üzerine izin verin. SSH portunu değiştirin. Kontrol panel portlarını özel IP yada vpn alıp kendi IP nize erişim izni verebilirsiniz.

  • Config ve chmod güvenliği

Config dosyası sistenin bel kemiği konumundadır. Config dosyası, veritabanının ve saire kimlik bilgilerini içerir. WordPress v.b kurulumundan sonra wp-config.php dosyası yürütülebilir. Herhangi bir nedenden ötürü, PHP dosyalarının web sunucusu tarafından işlenmesi kapandığında, bilgisayar korsanları wp-config.php dosyasının içeriğine erişebilir. Güvenlik kontrolünün, wp-config.php dosyasına yetkisiz erişim bloke edildi. Güvenlik kontrolü başarısız olur ve WordPress kurulumunu emniyete almayı seçerseniz, sunucu yapılandırma dosyasında (Apache, Linux için nginx veya Windows için web.config) wp-config.php dosyalarının yürütülmesi yasaklanır. .htaccess veya web.config dosyalarındaki özel direktiflerin bunu geçersiz kılabileceğini unutmayın.

Config dosyanız her zaman chmod 600 olmalıdır. Aynı zamanda şifreleme sitelerinden config dosyasınızı şifrelemenizi şiddetle tavsiye ederiz. Uzak dizinden korsanlar sizin configinizi okuyamazlar.

  • XML-RPC geri pinglerini kapatın

XML-RPC geri pingleri, diğer WordPress web sitelerinde DDoS saldırıları başlamak için kullanılabilir. Bu güvenlik önlemi, XML-RPC geri pingleri bütün WordPress web sitesi için kapatır ve ayrıca daha önce geri ping etkinleştirilerek oluşturulan yayınların geri pinglerini de devre dışı bırakır.

  • htacces güvenliği

1. Adım

Sunucuda dışarıdan dosya yükleyip Script çalıştırmayı engellemek

#Etkisizeleman dosya çalıştırmayı engelle
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI


Yönlendirmeli Ddos saldırılarını engellemek

#Etkisizeleman Referrer Ddos Engellemek
RewriteCond %{QUERY_STRING} ^([0-9]+)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^([0-9]+\.[0-9])(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+\.[0-9])(.*)$ [NC]
RewriteRule ^(.*)$ %{HTTP_REFERER} [L]
RewriteCond %{QUERY_STRING} ^ptrxcz.*$
RewriteCond% {QUERY_STRING}!^Ptrxcz.* $
RewriteRule (.*) - [F]


wp-config dosyasına erişimi engellemek

#Etkisizeleman wp-config erişim engelleme
<Files wp-config.php>
Order Deny,Allow
Deny from all
</Files>


SQL injection engellemek

#Etkisizeleman SQL injection engellemek
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(<|>|’|%0A|%0D|’|<|>|%00).*
[NC,OR]
RewriteCond %{REQUEST_URI} ^/(,|;|<|>|/{2,999}).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT}
^.*(winhttp|HTTrack|clshttp|archiver|loader|email|
harvest|extract|grab|miner).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww|curl|wget|python|scan).*
[NC,OR]
RewriteCond %{HTTP_USER_AGENT}
^.*(<|>|’|%0A|%0D|’|<|>|%00).* [NC,OR]
RewriteCond %{HTTP_COOKIE} ^.*(<|>|’|%0A|%0D|’|<|>|%00).*
[NC,OR]
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\\.0\\.0\\.1).*
[NC,OR]
RewriteCond %{QUERY_STRING} ^.*(<|>|’|%0A|%0D|’|<|>|%00).*
[NC,OR]
RewriteCond %{QUERY_STRING}
[^a-z](|order|union|declare|char|set|cast|convert|delete
|drop|exec|insert|met*|script|select|truncate|upda te)[^a-z] [NC]
RewriteRule (.*) - [F]


Proxy girişlerini engellemek

#Etkisizeleman Proxy girişlerini engellemek
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:VIA} !^$ [OR]
RewriteCond %{HTTP:FORWARDED} !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA} !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR} !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:XROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:X-FORWARDED-FOR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP} !^$ [OR]
RewriteCond %{HTTP:FORWARDED-FOR} !^$ [OR]
RewriteCond %{HTTP:X-FORWARDED} !^$
RewriteRule ^(.*)$ – [F]
</IfModule>


 

  • Veri güvenliği

Yedekleme en önemli etkendir. Sunucunuzda yazılımsal yada donanımsal arıza olması durumunda herşey biter. Kontrol panellerinin yedekleme yapılandırması mevcut bir kaç ayar ile ister günlük ister aylık yada haftalık bazında yedekleme yaptırabilirsiniz. Onedrive bu konu için uygun ve yanında ofice 365 desteği veriyor. Yıllık 250 TL gibi bir fiyata 1 TB alan ve Office 365 fırsatından yararlanabilirsiniz.

Fiyatlar için tıklayın

 

Diğer bloglar gibi zor şifre kullanın update yapın demiyorum.  🙂

 

Gelelim zuranın zort dediği yere. İlk paragraflarımda anlatmıştım. Her sitenizi  aynı bir sunucuda tutun diye.

Eğer ortalama 4 – 12  arasında siteniz varsa

8 GB Ram

4 cpu

50 GB SSD yada 125 gb sas & sata diskli sunucu alabilirsiniz.

Barınacak kadar IP almanız gerekiyor  + 1 tanede ana sunucu ve 1 IPde mysql sunucusu için.

Sanal sunucu hizmetini firmamızdan alabilirsiniz.

 

  1. Hosting firmanızdan sanal sunucu (vds) olmasına dikkat edin. VPS olmayacak. KVM yada Openvz alt yapısı olmaması gerekiyor.
  2. İşletim sistemi Centos 7  olmalıdır.
  3. Centos sunucunuza Virtualizor yada Solusvm ile sanallaştırın
  4. 1 tane sunucu üzerine herşeyi kurun o imaj(clon) sunucunuz olsun ve o sunucuya plesk panel kurun.
  5. Plesk panel lisansını ücretsiz olarak plesk sitesinden alabilirsiniz.
  6. Herşeyi ayarladıktan sonra her site için vps clonlayın. 1 adet mysql sunucu içinde ektra vps kurun. Sunucu isimlerini domain ve mysql sunucusu diye adlandırın karışmasın
  7. VPS Sunucuların mysql servislerini kapatın ki ekstra kaynak tüketmesin.
  8. Sitelerinizi sunucuya yerleştirdikten sonra yukarıda ki makalemdeki hepsini uygulamanıza gerek yoktur.
  9. Bir siteniz yazılım bazlı açıktan hacklense bile diğerleri sapasağlam olur.

İşte herşey bu kadar. 😉

Share This Post

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Lost Password

Register

Araç çubuğuna atla