PDA

Orijinalini görmek için tıklayınız : Joomla Genel Güvenlik Tam Anlamıyla



efsane86
15-03-2015, 22:21
Joomla güvenlik tam anlamıyla nasıl sağlanır sizlerle bu konuyu paylaşıcağım şimdiden söylim standart olan şeyleri

anlatmıcam buradaki paylaşım tamamen tam güvenlik ile alakalıdır ciddi bir şekilde şimdi gelelim işlemlere :

Joomla güvenlik tam anlamıyla :

Joomlayı güvenli bir şekilde kullanmak için ilk olarak sitemizin bulunduğu web hostingden başlamalıyız seçtiğiniz ve kullandığınız web hosting şirketinin güvenliği ne kadar sağlam çünkü ilk güvenlik buradan başlıyor web hostingden .

Standart anlatımlarda genelde dosya klasör cmod izinlerinden bahsederler ama bunların dışına kimse çıkmaz şimdi biz bunların dışına çıkacağız .

Güvenli bir web hosting seçtikten sonra joomla sitemizi kurmaya başlamadan önce ilk olarak kullandığımız bilgisayarda lisanslı antivirüs varmı yokmu bilmek lazım eğer yoksa lisanslı bir antivirüs satın alıp pc ye yükledikten sonra temiz bir şekilde antivirüs programı ile taratmanız lazım neden derseniz güvenlik kendi bilgisayarınızdanda başlamalıdır .

Artık joomlamızı temiz bir şekilde hostunuza kurabilirsiniz sorunsuz çünkü pc de antivirüs yüklü tarattınız hiçbir virüs bulmadı ve temiz şimdi joomlayı kuralım :

! UNUTMAYIN JOOMLA EN İYİ LİNUX WEB HOSTİNGDE ÇALIŞIR !

Joomla kurmadan önce hosting kontrol panelinize giriş yapın ve önce database oluşturun standart database oluşturmayın hata almamak için düzgün bir database oluşturmak için
veritabanında yeni tablo oluştur

tablo adı : joomla ( tabiki bu örnek sakın joomla yazmayın ! )
sütun sayısı : 3 ( id – eposta - sifre ) Türkçe şifre değil normal sifre olacak
id : INT
eposta : TEXT
sifre : TEXT
id -> İndeks > PRIMARY ( Birincil ) ve AUTO_INCREMENT seçili olduktan sonra database oluşturalım
Depolama Motoru : “MyISAM “ seçili olduğuna dikkat edin bazı hostinglerde ” innoDB“ olabilir

“MyISAM “ ve “ innoDB“ tercihe bağlıdır ben MyISAM kullanıyorum .

Database kullanıcı adı ve şifresini güçlü sayı rakam ve yazıdan oluşan karakterlerden seçin
Joomla kurarken genelde zip dosyasını olduğu gibi atarlar ve zipten kurmaya çalışırlar hata bunu yapmayın pc de yeni bir klasör açın ve içine zip dosyasını yükleyin ve zipten kurulacak olan burası çok önemli dikkat “quik start joomla install paketi” ni çıkartın .

Örnek : Joomla_3.4.0-Stable-Full_Package.zip ( zipten çıkart klasör içine )

Herşey tamamsa ftp ile dosyalarınızı hostunuza yükleyin ve joomla kurulumuna başlayın joomla kurulum dersleri mevcut forumda araştırıp bulun .

ftp olarak ben Filezilla kullanıyorum devamlı kendini güncelliyor tavsiye ederim çok hızlı
sitemizi kurduk database ile siteyi birbirine bağladık ve sorunsuz çalıştı şimdi hemen yapılması gerekenler güvenlik önceliklidir .

php.ini dosyası ve .htaccess dosyalarımızı sunucumuza yüklücez eğer bu dosyalar yoksa hemen oluşturacağız başlayalım :
php.ini dosyası içindeki kodlar :


register_globals = offallow_url_fopen = OFFdisable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open

.htaccess dosyası içindeki kodlar :


########## BAŞLA - Explodiler için Rewrite kuralları# # mosConfig ile URL den yapılan hack girişimlerini bloke ederRewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]# base64_encode ile URL den yapılan hack girişimlerini bloke ederRewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]# <script> tag ile URL den yapılan hack girişimlerini bloke ederRewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]# PHP GLOBALS değişkeni ile URL den yapılan hack girişimlerini bloke ederRewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]# a _REQUEST ile URL den yapılan hack girişimlerini bloke ederRewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})# Bloklanmış işlemlerde 403 Hatasını gönderir!RewriteRule ^(.*)$ index.php [F,L]########### SON - Explodiler için Rewrite kuralları
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

php.ini dosyası ve .htaccess dosyalarımızı oluşturduk ve sunucumuza yükledik
php.ini ve .htaccess dosyanızı ana dizin root gönderin ve sadece php.ini dosyasını administrator klasörü içine gönderin

artık ilk etap için joomla sitemiz güvende şimdi sitemizin ilk temiz güvenli yedeğini alalım :
! TAM YEDEK ALMAK İÇİN BACKUP VE SQL YEDEKLERİNİZİ ALIN !

hosting kontrol panelinize bağlanın ve phpmyadminden sql yedeklerinizi alın sql yedekleri için
phpymyadmine bağlandıktan sonra veritabanını seçin ve dışarı aktar diyin ardından
Dışa Aktarma Yöntemi : Özel - tüm olası seçenekleri göster seçin daha sonra Sıkıştırma zip olarak seçin ve en son GİT butonuna basın birkaç dakika içinde sql yedeklerini pc ye indirmiş olacağız .

SQL ARA SIRA RAHATLATMAK İÇİN İSE ŞUNU YAPIN

Sql tabloların tümünü seçin ve tabloyu onar yapın tüm sql tabloları onarılacaktır ve siteniz rahatlıyacaktır özellikle sql rahatlıyacak .

Şimdi gelelim backup asıl yedeğimizi almaya tüm dosya ve klasör yedeklerini bunun için hosting kontrol paneline giriş yapın ve hosting yönetimi altında bakup yada yedekler diye bir bölüm olması lazım bu alana giriş yaptıktan sonra yedekle butonuna basın bu işlem biraz uzun zaman alıcak bittikten sonra ftp ile sitenize balanın zipli olan yedeği pcye indirin tüm yedekler alındı herşey güzel fakat unuttuğumuz güvenlik ile ilgili minik bir sorun var oda ftp şifremizi değiştirmedik her ydek aldıktan sonra ftp şifrenizi değiştirin hosting panelden çünkü ftp programları şifreyi hafızada tutuyor ve pc ye virüs bulaştığı zaman ftp yolu ile iframe virüsü deniliyor bu virüse bulaşıyor ve siteniz Google aramalarında zararlı site damgası yiyor bundan kurtulmak için izlenecek yol :

Genelde FTP ile site yüklerken eğer pc de lisanslı antivirüs yoksa iframe virüsü bulaşabilir sitenize ve Google aramalarında bu site zararlı yazılım içeriyor saldırgan site ibaresi ve damgası yiyebilirsiniz bunların olmaması için pc de lisanslı antivirüs programı kurulu olacak olmazsa olmaz .

İframe virüsü bulaştı nasıl temizlerim :

Daha önceden güvenli ve temiz bir şekilde indirdiğimiz yedekler pc de var onları önce harici HDD alaalım harici HDD yoksa satın alın yada usb bellek alın bu yedek alma işlemi bittikten sonra sakın ftp ile bağlanıp sitenizi komple pc ye indirip antivirüs ile taratmayın bulmaz işe yaramıyor maalesef bu sorunu düzeltmek için pc ye format atıcaksınız format atmadan önce pc deki eydeklerinizi alın ve format atın formattan sonra lisanslı antivirüs programı yükleyin ve taratın ondan sonra sitenizin hostingine bağlanın ftp şifresi değiştirin ve yeni ftp şifreleri ile giriş yaptıktan sonra sitenizi kurun kurulum işlemi bitti site yayına geldi sorunsuz çalışıyor hemen ftp şifresini değiştirin unutmayın ne yaparsanız yapın ftp ile ilgili her işlemde ftp şifresini değiştirin şüphelendiğiniz bir durum olursada hemen lisanslı antivirüs programı ile pc taratın .

Herşeyi yaptık ve sorunzu temiz güvenli ve sağlam bir joomla sitemiz var ama içimiz dahada rahat etsin diyorsanız
Önce Configuration.php dosyamızın yedeğini alalım sonra ;

Configuration.php dosyanızı şifreleyebilirsiniz bunun için SourceCop programını satın almalısınız free olanı 1 hafta kullanabiliyorsunuz peki bu program ne yapıyor hemen söylim bu program Configuration.php dosyanızı şifreliyor ve içindeki kodları okunmaz hale getiriyor yani base64 şifreleme tekniği ile şifreliyor siz içindeki kodları okuyamıyorsunuz ancak görebiliyorsunuz .

Bunlar bana yetmez biraz daha güvenli olsun dersenizde administrator klasörü yolunu gizleyebilirsiniz şimdiden söylim adını değiştirme gibi bir imkanınız yok sadece yolunu gizleyebilirsiniz bunun için izlenecek yol :

İlk olarak Joomla ana dizininde mesela /yonetim isminde bir dizin oluştur ve bu dizinin içerisinde de index.php isimli bir dosya oluştur. Bu dosya içerisinde şu kodlar yer alsın:



<?php
$admin_cookie_code="1234567890";
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location: /administrator/index.php");
?>


Daha sonra Joomla'nın /administrator dizini içerisindeki .htaccess dosyasına (ki eğer bu doya yoksa oluşturabilirsin) şu kodları ekleyebilirsin:



RewriteEngine On
RewriteCond %{REQUEST_URI} ^/administrator
RewriteCond %{HTTP_COOKIE} !JoomlaAdminSession=1234567890
RewriteRule .* - [L,F]


Güvenlik daha bitmedi :)

Biliyorum çok uzun oldu ama sabır az kaldı yukarıdaki işlemleri yaptık ve içimiz rahat hiçbir sorun yok
peki projeniz standart joomla dışında ise yani portal tarzı haber sitesi gibi köy dernek sitesi gibi bir proje ise yazar kullanıcı adlarını nasıl gizleyeceksiniz adres çubuğu urlden aşağıda örnek süper admin username yani kullanıcı adı ve id numarası yer alıyor işte bunları adres çubuğundan temizlemek için standart joomla menü yöneticisinden bir tane yazarlar diye menü oluşturup yazarlarınızı bu oluşturduğunuz menüye teker teker bağlayacaksınız artık adres çubuğunda yazar kullanıcı adı ve id numarası görünmeyecek .

güvenliksiz bu şekilde görünüyor :




Joomla : http://www.siteniz.com/profil/userprofile/62-superadministrator

Author List : http://www.siteniz.com/component/authorlist/author/1:superadministrator.html

K2 : http://www.siteniz.com/show/author/62-superadministrator



Güvenlikli bu şekilde görünüyor :



Joomla : http://www.siteniz.com/profil/userprofile/profiladi

Author List : http://www.siteniz.com/component/authorlist/author/yazar.html

K2 : http://www.siteniz.com/show/author/profiladi



Umarım bu anlatım herkese faydalı olur

MUTLU SON :)

Şerafettin
16-03-2015, 01:15
Teşekkür çok faydalı bir konu olmuş ellerinize sağlık

efsane86
16-03-2015, 10:23
Teşekkür çok faydalı bir konu olmuş ellerinize sağlık
eyvallah

nahita
21-06-2015, 00:47
teşekkürler emeğine sağlık

cetinkagan
24-06-2015, 03:19
. Çok teşekkür, çok faydalı bir çalışma olmuş elinize sağlık

Discovery Elite cihazımdan Tapatalk kullanılarak gönderildi

efsane86
24-06-2015, 09:01
. Çok teşekkür, çok faydalı bir çalışma olmuş elinize sağlık

Discovery Elite cihazımdan Tapatalk kullanılarak gönderildi

teşekkürler