bilgiz.org

Veri kaydi güvenliĞİ

  • VERİ KAYDI GÜVENLİĞİ 1. Veri Kaydının Önemi
  • 1.1 Geçmişte Veri Kaydı
  • 1.2. Günümüzde Veri Kaydı
  • 1.3. Veritabanı Sistemleri
  • 1.3.1. Veri Tabanlarının Amaçları
  • 1.3.2. Veri Tabanları Güvenlik Özellikleri ve Karşılaştırma
  • 1.3.2.1. Oracle Güvenliği
  • 1.3.2.1.1. Oracle Sistem Güvenliği
  • 1.3.2.1.1. Oracle Veri Güvenliği
  • 1.3.2.2. SQL Server Güvenliği
  • 1.3.2.2.2. Veritabanı Kullanıcı Hesapları ve Roller



  • Sayfa1/3
    Tarih04.07.2017
    Büyüklüğü143.05 Kb.

    Indir 143.05 Kb.
      1   2   3


    İSTANBUL TEKNİK ÜNİVERSİTESİ

    FEN BİLİMLERİ ENSTİTÜSÜ
     
     
     
     

    AĞ GÜVENLİĞİ DERSİ

    VERİ KAYDI GÜVENLİĞİ

     



    Dönem Projesi

    Öğretim Görevlisi

    Prof. Dr. Bülent Örencik



    Öğrenci

    Tuğba Akbal

    504061533


    Nisan 2007

    İÇİNDEKİLER



    VERİ KAYDI GÜVENLİĞİ 3

    1. Veri Kaydının Önemi 3

    1.1 Geçmişte Veri Kaydı 3

    1.2. Günümüzde Veri Kaydı 3

    1.3. Veritabanı Sistemleri 3

    1.3.1. Veri Tabanlarının Amaçları 3

    1.3.2. Veri Tabanları Güvenlik Özellikleri ve Karşılaştırma 4

    1.3.2.1. Oracle Güvenliği 4

    1.3.2.1.1. Oracle Sistem Güvenliği 4

    1.3.2.1.1. Oracle Veri Güvenliği 4

    1.3.2.2. SQL Server Güvenliği 6

    1.3.2.2.1. Oturum Açma Doğrulama 6

    1.3.2.2.2. Veritabanı Kullanıcı Hesapları ve Roller 6

    2. Günümüzde Yaşanan Güvenlik Problemleri 7

    2.1 Tehdit Kayanakları 9

    2.1.1. Eğitimsiz ve Bilinçsiz Personel 9

    2.1.2. Terörist Kuruluşlar 9

    2.1.3. Hacker ve Yıkıcılar 10

    2.1.4. Kötü Niyetli Kişiler 10

    2.1.5. Doğal ve Fiziksel Tehditler 10

    3. Veri Kaydı Güvenlik Esasları 10

    3.1. Veri Kaydı Güvenliği Niçin Önemli? 11

    3.2. Güvenlik Boşlukları ve Oluşabilecek Zararlar 11

    3.2.1. Hatalı Yapılandırılmış Sanal Özel Ağ (VPN) Sunucuları 11

    3.2.2. Web Uygulamalarında SQL Sorgularının Değiştirilebilmesi 12

    3.2.3. Kolay Tahmin Edilebilir Şifrelere Sahip Kullanıcı Hesapları 13

    3.2.4. Güvenlik Duvarı Tarafından Korunmayan Sistemler 13

    3.2.5. Yaşanmış Bazı Veritabanı Saldırısı Örnekleri 14

    3.3. Veri Kaydı Güvenlik Önlemleri 14

    3.3.1. Fiziksel Önlemler 15

    3.3.1.1. Veritabanı ve Web Sunucuları Ayrı Donanımlarda Gerçekleme 16

    3.3.1.2. Veri Kaydı Yedekleme ve Geri Alma Stratejileri Geliştirme 17

    3.3.2. Ağ Üzerinde Alınacak Önlemler 17

    3.3.2.1. Ağ Hub ları Yerine Swith Kullanmak 17

    3.3.2.2. Veritabanı Sunucusu DMZ İçine Dahil Etmemek 18

    3.3.3. Sunucu Üzerinde Alınacak Önlemler 20

    3.3.4.1. Web ile Veritabanı Sunucusu Arasındaki Veriyi Şifreleme 20

    3.3.4. Uygulama Üzerinde Alınacak Önlemler 22

    3.4. Uzun Dönemde Alınması Gereken Önlemler 22

    3.4.1. Eğitim ve Bilinçlendirme 22

    3.4.2. Politika ve Yönergeler 22

    3.4.3. Güvenlik Yaşam Döngüsü 22

    4. Sonuç ve Veri Kaydı Güvenlik Gerekçeleri 23

    REFERANSLAR 24





    VERİ KAYDI GÜVENLİĞİ

    1. Veri Kaydının Önemi


    İnsanoğlunun uygarlık yolundaki koşusu onbinlerce yıldır süre gelmektedir. Yazıyla başlayan, kitapla devam eden tarihi içerisindeki insan, dünyaya ayak bastığı günden bugüne kadar geçen zaman içinde meydana gelen bilgi birikiminin toplanmasında, belirli kurallar gereğince organize edilmesine ihtiyaç duymuştur.

    1.1 Geçmişte Veri Kaydı


    Geçmiş dönemin veri kaydı araçları arasında taş, koyunun kürek kemiği, balçık yaprağı, çanak çömlek parçaları, yırtıcı hayvan derileri ve ağaç kabukları gibi şeyler yer alıyordu. Bütün bunların üzerine sivriltilmiş bir kemikle ya da çakmak taşıyla kaba bir resim çiziktirmek mümkündü. Sonraları çanak çömlek, papirüs, tunç, palmiye yaprakları, balmumu ile devam ettiler. En son olarak ta, kâğıt ve matbaanın icadı ile veri kaydı tümüyle kolaylaştı. Bilgiler kitaplarda kaydedilmeye başlandı.

    1.2. Günümüzde Veri Kaydı


    Günümüzde veri saklanması bilgisayar ortamında gerçeklenmektedir. Belgelerin bilgisayar ortamına aktarılmasının birçok nedeni vardır. Belli başlıları şunlardır:
    1- Arşiv belgelerinin korunması (yıpranmayı en aza indirmek),

    2- Bilginin ekonomik kullanımı ve hızlı erişim (zaman ve parasal yönden),

    3- Bilginin birden çok kişinin hizmetine sunulması,

    4- Bilgiye erişimde zaman ve coğrafi uzaklığı ortadan kaldırmak,

    5- Personelin rasyonel kullanılması

    6- Büyük miktarda veriyi saklama olanağı.
    Her türlü basılı verinin korunması, arşivlenmesi ve yayınlanması birçok zorluğu da beraberinde getirir. Oysaki bilgilerin elektronik ortama geçirilmesi, dönüştürülmesi, korunması ve hizmete sunulması beraberinde birçok kolaylığı da getirmiştir. Oldukça geniş kapsamlı çok yer kaplayan dijital verileri depolamak için veritabanlarına, bu veritabanlarındaki bilgileri arayıp bulmak ve verileri bir yerden bir yere aktarmak için güçlü bilgisayar ağlarına ihtiyaç vardır. Disket, CD, DVD, Flash Bellek, Hard disk…vb elemanlar da veri kaydı için kullanılabilen mekanik elemanlar olabilir.

    1.3. Veritabanı Sistemleri


    Veritabanı düzenli bilgiler topluluğudur. Bilgisayar terminolojisinde, sistematik erişim imkanı olan, yönetilebilir, güncellenebilir , taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Özetle, bir bilgisayarda sistematik şekilde saklanmış, programlarca istenebilecek veri yığınıdır. MySQL ,MsSQL, PostgreSQL, Oracle, Sybase, BerkeleyDB, Firebird..vb veritabanı sistemleri mevcuttur.

    1.3.1. Veri Tabanlarının Amaçları


    Veritabanı, bilgi sisteminin kalbidir ve etkili kullanmakla değer kazanır. Bilgiye gerekli olduğu zaman ulaşabilmek esastır. Bağıntısal Veritabanı Yönetim Sistemleri (Relational Database Management Systems - RDBMS) büyük miktarlardaki verilerin güvenli bir şekilde tutulabildiği, bilgilere hızlı erişim imkânlarının sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden fazla kullanıcıya aynı anda bilgiye erişim imkânının sağlandığı programlardır.








    YETKİ


    1.3.2. Veri Tabanları Güvenlik Özellikleri ve Karşılaştırma


    Çoğu ilişkisel veritabanları “port adreslenebilir”dir ve her kullanıcı porta doğrudan bağlanarak ona erişmeyi deneyebilir. Bazı veritabanları, varsayılan adres olarak iyi bilinen hesaplara sahiptir ve “dictionary saldırısı” için hedeftirler. Veritabanı genelde doğrulama, yetkilendirme ve log kaydetme özelliklerini ana düzeyde sağlar. Çoğu veritabanı şifre güvenilirliğini garanti etmez ve hatta şifrelerini düz ASCII metni olarak saklarlar. Bazı şifrelerle tüm üstünlükler ele geçirilebilir ve genelde yöneticiler veritabanı işlemleri, yönetim işleri.. vb bu şifreyle yürütür. Görevler rollerle ayrılmalıdır. “Least privilages” ile herkes işini görecek en alt düzeyde izine tabi olur böylece veritabanı uygunsuz yada kaza ile zarar görmez. Oracle, DB2 veritabanındaki tablolara satır bazında erişim kontrolü getirmiştir. Şimdi bu genel bilgilendirmenin ardından, iki yaygın veritabanı sistemi olan Oracle ve SQL Server’a değinelim:
    1.3.2.1. Oracle Güvenliği

    Oracle, veritabanına nasıl erişileceğini ve kullanılacağını kontrol eden güvenlik özellikleri içerir. Her veritabanı kullanıcısı ile ilişkilendirilmiş ve kendisiyle aynı ismi taşıyan bir şema vardır. Temelde her kullanıcı kendi şeması içinde nesneler yaratır ve erişir. Bir kullanıcının diğer şemalarda herhangi bir işlem yapabilmesi için gereken yetkilere sahip olması gerekir. Veritabanı güvenliği iki kategoriye ayrılabilir. Bunlar sistem güvenliği ve veri güvenliğidir.
    1.3.2.1.1. Oracle Sistem Güvenliği

    Sistem güvenliği, veritabanının sistem seviyesinde kullanımıyla ilgili mekanizmaları kontrol eder. Örneğin, doğru kullanıcı adı ve şifreleri, kullanıcıya ait şema nesneleri için ayrılan yer miktarı, kullanıcı için ayrılan kaynak miktarları.

    Sistem güvenliği mekanizmaları şunları kontrol eder:


    ● Kullanıcının bağlanmaya yetkisi var mı
    ● Veritabanı denetlemesi aktif mi
    ● Kullanıcı hangi sistem operasyonlarını yapabilir
    1.3.2.1.1. Oracle Veri Güvenliği

    Veri güvenliği, veritabanının şema nesneleri seviyesinde kullanımıyla ilgili mekanizmaları kontrol eder. Örneğin, kullanıcı hangi şema nesnelerine erişebilir, kullanıcı belli bir şema nesnesi üzerinde hangi işleri yapmaya yetkilidir. Oracle veritabanı güvenliğini şunları kullanarak yönetir:

    • Veritabanı kullanıcıları ve şemaları: Bir kullanıcının veritabanına bağlanabilmesi için veritabanında tutulmakta olan geçerli bir kullanıcı adı ve şifresi vermelidir. Kullanıcının yapabileceği işlemlerin oluşturduğu kümeye kullanıcının güvenlik alanı denir.

    • Yetkiler: Yetki, belli bir tipteki SQL cümlesini çalıştırabilme hakkıdır. Örneğin, veritabanına bağlanabilme, kendi şeması içinde tablo yaratabilme veya bir başkasına ait olan tabloyu sorgulayabilmektir. İki tür yetki vardır: sistem yetkileri ve şema yetkileridir. Sistem yetkileri, sistem genelinde yapılacak işler içindir ve genelde sadece sistem yöneticilerine verilir. Şema yetkileri, belirli bir şemadaki belirli bir nesne üzerinde yapılabilecek işler için verilir. Bu yetkiler direk olarak kullanıcalara verilebildiği gibi yetkiler kümesi olarak tanımlanabilecek olan roller aracılığıylada verilebilir.

    • Roller: Oracle yetki yönetimini roller aracılığıyla kolaylaştırmaktadır. Roller, kullanıcılara ve diğer rollere verilecek, birbiriyle alakalı, isimlendirilmiş yetkiler kümesidir.

    • Depolama Ayarları ve Kotalar: Her kullanıcı yaratılırken bir varsayılan birde geçici tablespace ile ilişkilendirilir. Bir nesne yaratılacağı sırada eğer tablespace adı belirtilmezse kullanıcının varsayılan tablespace’inde yaratılır. Bir SQL cümlesi çalıştırılırken geçici segmente ihtiyaç duyulursa bu kullanıcının ilişkilendirilmiş olduğu geçici tablespace içinde yaratılır. Kullanıcıların tablespace’ler içinde kullanabilecekleri yer miktarı ise o kullanıcıya o tablespace üzerinde verilmiş kotayla sınırlıdır.

    • Profiller ve Kaynak Limitler: Veritabanı kaynaklarının gereksiz yere harcanmaması için her kullanıcıya kaynak kullanım limitlerini belirleyen bir profil atanır. Profilin içereceği kayanaklardan bazıları şunlardır:
      ■ Kullanıcının aynı anda açabileceği maksimum oturum sayısı
       ■ Kullanıcının oturumu ve çalıştıracağı SQL cümleleri için kullanabileceği CPU zamanı ve manatıksal giriş çıkış miktarı
       ■ Kullanıcının bir iş yapmadan bekleyebileceği süre
       ■ Kullanıcının bağlı kalabileceği süre
       ■ Kaç başarısız bağlanma denemesinden sonra kullanıcı hesabının kilitleneceği, şifrenin ne kadar süre geçerli olduğu veya ne tür şifrelere izin verileceği gibi şifre kısıtlamaları

    • Seçilmiş Kullanıcını Hareketlerinin Denetlenmesi: Üç farklı seviyede denetleme yapılabilir. Bunlar cümlelerin, yetkilerin ve şema nesnelerinin denetlenmesidir. Cümle denetlemesi, belli veya tüm kullanıcıların belirli tipteki SQL cümlelerinin denetlenmesini sağlar. Yetki denetlemesi, belli veya tüm kullanıcılaların sistem yetkilerini kullanımlarının denetlenmesini sağlar. Şema nesnelerinin denetlenmesi, belli şemalardaki belli nesneler üzerinde yapılacak işlerin
      denetlenmesini sağlar. Denetlemeler sonucunda elde edilen bilgiler denetleme tablolarına yazılır. Kullanıcılar tanımlayacakları veritabanı tetikleri ile daha karmaşık denetleme mekanizmaları kurabilirler.

    • Ayrıntılı Denetleme: Erişilen verinin içeriğine göre denetleme yapılmasını sağlar. Denetleme sırasında önceden belirlenen durumlar tespit edildiğinde kullanıcının bu durum için tanımladığı veritabanı prosedürlerinin çağrılması sağlanabilir. Ayrıntılı denetleme, uygulamalar içinden DBMS_FGA paketi kullanılarak gerçekleştirilebilir.
    1.3.2.2. SQL Server Güvenliği

    SQL Server iki tip güvenlik sağlar. Bunlar: giriş belgeleri, veritabanı kullanıcı hesap ve rolleri üzerindeki izin geçerliliğidir.
    1.3.2.2.1. Oturum Açma Doğrulama

    Kullanıcının SQL Server’a bağlanması için oturum açma hesabına sahip olması gerekir. SQL Server iki giriş belgesi mekanizmasını onaylar: SQL Server Belgesi ve Win NT Belgesi. Her birinin farklı giriş hesabı tipi vardır.

    ● SQL Server Belgesi kullanıldığı zaman, SQL Server sistem yöneticisi, giriş hesabı ve şifresi tanımlayabiliyor. Kullanıcılar, SQL Server’a bağlandıkları zaman, giriş ve şifrenin her ikisini de elde etmelidir.

    ● WinNT Belgesi kullanıldığı zaman Win NT account veya grup kullanıcıları, SQL Server’a bağlanacağı zaman, bir SQL Server oturum açma hesabı elde etmeden, SQL Server’a erişebilir. SQL Server sistem yöneticisi, geçerli bir SQL Server oturum açma account’u olarak ya WinNT account ya da WinNT grup tanımlamalı. SQL Server Win NT’de çalışırken, sistem yöneticisi, SQL’in iki belge modundan birinde çalıştığını belirtebilir

    ■ Windows NT Belge Modu sadece WinNT belgesi izinlidir. Kullanıcılar SQL Server giriş hesabı belirleyemez.

    ■ Mixed Mode kullanıldığında, kullanıcılar WinNT belgeleriyle veya SQL Server belgeleriyle SQL Server’a bağlanabilirler. Mixed güvenlik, ya uyumlu ya da standart güvenlik kullanılarak giriş isteklerini onaylamaya izin verir. Güvenilir bağlantılar (uyumlu güvenlik tarafından kullanılan) veya güvenilir olmayan (standart güvenlik tarafından kullanılan) bağlantılar tanınırlar.

    ● Tümleşik Güvenlik bütün bağlantılarda loginleri doğrulamak için, SQL Server’ın WinNT authentication mekanizmasını kullanmasına izin verir. Sadece güvenilir bağlantılar (multi-protocol ve named pipes) izinlidir.

    ● Standart Güvenlik bütün bağlantılar için SQL Server’ın kendi login doğrulama işlemini kullanır. SQL Server’a log olabilmek için, herbir kullanıcı, geçerli bir loginID ve şifre sağlamalı.

    1.3.2.2.2. Veritabanı Kullanıcı Hesapları ve Roller

    Kullanıcılar doğrulandığında ve SQL Server’a log olmaya izinli olduktan sonra veritabanında hesapları olmalı. Kullanıcı account’lar ve roller veritabanı içinde bir kullanıcıyı tanır ve nesneleri kontrol ederler. Statementleri çalıştırmaya izinli olur. Kullanıcı hesapları, güvenlik izinlerini uygulamak için kullanılır. WinNT kullanıcıları veya grupları veya SQL Server login account’larıdır. Kullanıcı account’lar bir veritabanına özgüdür. Veritabanı rolleri kullanıcıları, İzinlerin uygulanabildiği tek parçalar içinde bir araya toplamayı sağlar. Sunucu seviyesi ve veritabanı seviyesinin herikisinde de roller mevcuttur. Ayrıca kullanıcıların tanımlı veritabanı rollerini de tanımlanabilir. SQL Server, ortak yönetim fonksiyonları için öncelikli tanımlı Server ve veritabanı rolleri sağlar. Böylece özel kullanıcılara yönetim izinleri kolayca verilebilir. Fixed Server Role, sunucu seviyesinde yönetim ayrıcalıkları sağlar. Bu roller, sunucu seviyesinde kullanıcı veritabanlarını etkilemeden yönetilirler.

    SQL Server 2005 üst düzey veri güvenliği için görünen alanları azaltma, veri şifreleme, üst düzey şifreleme, kimlik doğrulama, detaylı izinler ve kullanıcı ve şema ayırmanın ileri düzey güvenliğini içerir. Görünen Alanları Azaltma ve İleri Düzey Güvenlik SQL Server 2005, veriyi ve ağ kaynaklarını korumak için zengin güvenlik özellikleri sağlar. Kimlik doğrulama özellikleri, SQL Server çalıştıran bir sunucuya erişimi çok daha zorlaştırır, bunu da Windows kimlik doğrulaması ile daha sıkı entegrasyon ve zayıf veya eski şifrelere karşı koruma sağlayarak gerçekleştirir. Kimliği doğrulanan bir kullanıcının yapabileceklerine izin vermek ve kontrol etmek, detaylı izinler sayesinde çok daha esnek hale gelmiştir.

    Görünen Alan Yapılandırması: SQL Server 2005, sunucuyu yapılandırmak için grafiksel kullanıcı arabirimi (GUI) içerir.

    Veri Şifreleme: Sunucu düzeyindeki güvenlik, sistem yöneticilerinin en büyük kaygılarından biridir, ancak veritabanının kendisi, üretim ortamında en yüksek dikkati gerektirir. Geliştiriciler ortamın kısıtlamaları içinde işlev gördüğü sürece, veritabanı yöneticileri, geliştiricilerin veritabanı ayrıntılarına odaklanmasına izin verebilir. SQL Server 2005, bir anahtar yönetim altyapısı ile tam entegre olan veritabanının kendi içindeki şifreleme özelliklerini destekler. Varsayılan olarak, istemci/sunucu iletişimleri şifrelenmiştir. Güvenlik güvencesini merkezileştirmek için, sunucu ilkesi, şifrelenmemiş iletişimleri reddetmek için tanımlanabilir.

    Kimlik Doğrulama: SQL Server 2005 kümelemesi, sanal bir sunucu üzerinde Kerberos kimlik doğrulamasını destekler. Yöneticiler, standart oturum açmalarda Microsoft Windows stilindeki ilkeleri belirleyebilirler, böylece etki alanındaki tüm hesaplar için tutarlı bir ilke uygulanır.

    Detaylı İzinler: Çeşitli veritabanı görevlerini gerçekleştirmek için kullanılan izinler, izin verilecek hakların kapsamın daraltmak için daha detaylı hale getirilmiştir. En az ayrıcalık(least privilages) prensibi, veritabanı kullanıcılarının sadece kendi görevleri için yeterli haklara sahip olmasına izin verir. Düzenli bakım görevleri gerçekleştirmek için geniş yönetimsel haklar için izin verme ihtiyacı, önemli derecede azaltılmıştır.


      1   2   3






        Ana sayfa


    Veri kaydi güvenliĞİ

    Indir 143.05 Kb.