phpKF - php Kolay Forum [ TASARIM KURSU ] Türkiye`nin En Ayrıntılı içeriğe Sahip Tasarım Sitesi
[ TURKISH EMULATOR ] Türkiye'nin Emulator Portalı (Günlük Haber,Emulator,Rom, Cihaz Tanıtımı)  
 [  Hakkında  |  Sürüm Kaydı  |  Kurulum Klavuzu - Video  |  Ekip  ] 
Ana Sayfa  |  Portal  |  Yardım  |  Üyeler  |  Giriş  |  Kayıt
 
 phpKF Nedir
phpKF Nedir ?
    php Kolay Forum; php ve MySQL destekli, kullanımı kolay, yönetim masası üzerinden birçok özelliği kontrol edilebilen, açık kaynaklı ve tamamen ücretsiz bir forum uygulamasıdır.

    Tamamiyle sıfırdan geliştirilmiş, başka hiçbir foruma benzemeyen, %100 Türk yapımı bir sistemdir.
Forum tek başına kullanılabildiği gibi, phpKF için hazırlanmış phpKF-Portal ile beraber %100 uyumlu bir şekilde de kullanılabilir.
Kullanmak için tek yapmanız gereken buradan forum betiğini (script) indirip, PHP ve MySQL destekli bir sunucuda kurmak.

- Güncel Sürümler -
phpKF v1.50 çıktı  (29.09.2008)    -    phpKF-Portal v1.10  (21.07.2008)


Forum Ana Sayfası  »  Webmaster Genel
 »  10 Basit Adımda MySQL Güvenliği + Ek Güvenlik


 Yeni Başlık  Cevap Yaz
10 Basit Adımda MySQL Güvenliği + Ek Güvenlik   
(gösterim sayısı: 121)
Yazan Konu içeriği

EnwerAbLe
[Enver Eyaz]
Forum Yardımcısı

Kayıt Tarihi: 27.01.2008
İleti Sayısı: 81
Şehir: İstanbul
Durum: Forumda Değil

E-Posta Gönder
Özel ileti Gönder

Konu Tarihi: 19.06.2008- 14:49
  


10 adımda MySQL güvenliği



1- Tüm mySQL hesapları şifreli olmalı. Aksi taktirde mysql -u forum forum_db gibi bir komutla mysql sunucuya kolayca bağlanabilir.

2- mySQL sunucusunu root kullanıcısı ile asla çalıştırmayın.File yetkisine sahip herhargi bir kullanıcının root olarak bir dosya oluşturmasına sabep olabileceği için bu çok tehlikeli bir durumdur (Örn: ~root/.bashrc). Bunu engellemek için
açıkça --user=root komutu kullanılmadıkça mySQL in root olarak komut çalıştırmasını reddedin.

mySQL,sıradan , yetkisiz kullanıcı yerine çalıştırılabilir.Her şeyi daha güvenli yapabilmek için ayrı bir mySQL isimli Unix hesabı oluşturabilirsiniz.Bu hesabı başka bir Unix kullanıcısı olarak mySQL yönetiminde mysqld başlatmak için
kullanın,Sunucu seçeneklerini belirtiğiniz my.cnf dosyasındaki [mysqld] gurubu başlığı altına bir kullanıcı USER (kullanıcı) ekleyin örnek [mysqld]
user=mysql


Bu, sizin elle belirlediğiniz kullanıcını sunuc tarafından başlatılmasına sebeb olur. Root dan başka mysqld nin Unix kullanıcısı olarak çalıştırılması Kullanıcı tablosundaki root kullanıcı isminin değiştirlmesi gerektiği anlamına gelmez

3- Sembolik Linkerin tablolarda kullanılmasına izin vermeyin. (Bu seçenek --skip-symbolic-links komutu ile iptal edilir) Bu özellikle mysqld yi root olarak çalıştırıyorsanız önemlidir. Çünkü sunucuda yazma yetkisi olan herhangi bir kimse sistemdeki herhangi bir dosay yı silebilir

4- Unix sunucularda Yazma ve Okuma yetkileri olan kullanıcıların mysqld olarak işlem yaptığına emin olun

5- Yönetici olmayan kimselere Proccess veya Super yetkilerini vermeyin. mysqladmin processlist ve SHOW PROCESSLIST çıktısı yürütülen komutları metin olarak gösterir.Sunucu işlem listesini görme yetkisi olan bazı kullanıcılar diğer kullanıcların verdiği komutlrın listesini görebilir (örn : UPDATE user SET password=PASSWORD('not_secure')

mysqld, Super yetkisi olan kullanıcılar için extra bağlantı saklar.Tüm normal bağlantılar kullanımda olsa bile mySQL root kullanıcısı giriş yapabilri ve sunucu işlemlerini kontrol edebilir.Super yetkisi istemci bağlantısını kesmek,sistem değişken değerleri ve kopya sunucularını kontrol etmek için kullanılır

6- File yetkisini yönetici olmayanlara vermeyin Bu yetkiye sahip herhangi bir kullanıcı dosya sistemindeki mysqld yetkileri ile herhangi bir yerde dosya oluşturabilir.Bir nebze güvenlik için SELECT ... INTO OUTFILE komutu ile üretilmiş dosyalar var olan dosya üzerine yazmazlar ve herkes tarafından yazılabilir durumdalar.


7- File yetkisi herhangi bir dosyayı okumak için kullanılabilir.Bu yetki ile veritabnındaki tabloar okunabilir.Bu durum tehlikeli bi durum örn: bir tablo içine /etc/passwd yüklemek için LOAD DATA kullanılabilir

8- Eğer DNS e güvenmiyorsanız tablolarda Hostname yerine IP kullanın.Her halukarda wildcard içeren hostname değeri kullanarak büyük tablo oluşturma işleminde dikkatli olun

9- Bir hesaba izin verilen bağlantı sayısını sınırlandırmak için mysqld de max_user_connections değişkenini kullanın.GRANT cümlesi kaynak kontrolunu destekler

10- --ssl ile başlayan bağlantı dizeleri kullanın



MySQL'e ek güvenlik sağlamak için;
MySQL de "load data local infile" data özelliği mysql'i çalıştırdığınız kullaniciya sistemdeki dosyaları okuyarak php yada benzeri seylerle engellediğiniz başka dizinlerdeki dosyalari görme kısıtlarını kaldiriyor.Bunu engellemek için

/etc/my.cnf dosyasına

set-variable=local-infile=0

satırını eklememiz yeterlidir

Alıntıdır.




__________________

Bu ileti en son EnwerAbLe tarafından 19.06.2008- 14:50 tarihinde, toplamda 1 kez değiştirilmiştir.

 Yeni Başlık  Cevap Yaz



Forum Ana Sayfası  »  Webmaster Genel
 »  10 Basit Adımda MySQL Güvenliği + Ek Güvenlik

Forum Ana Sayfası

php Kolay Forum (phpKF)   Telif - Copyright © 2007 - 2008   phpKF Ekibi

- PHP KOLAY FORUM -

RSS Beslemesi:  RSS Beslemesini Görmek için Tıklayın   RSS Beslemesini Google Sayfama Ekle   RSS Beslemesini Yahoo Sayfama Ekle