13 Haziran 2014 Cuma

Oracle Veritabanı Denetim Rehberi I

Oracle ürüne yönelik denetim esnasında denetçiler açısından üzerinde durulan ve ağırlıkla teknik konuları içeren başlıklar aşağıdaki gibidir:
1.       Erişim ve Yetkilendirme
2.       Güvenlik Süreçleri ve İzleme
3.       Yedekleme ve Yedekten Dönme
4.       Şifreleme
5.       Güvenilir İlişkiler (Trusted Relationships)
6.       Ağ Güvenliği
Bu yazı kapsamında veri tabanı erişim ve yetkilendirmeye yönelik başlıklar, öneri olabilecek kontroller incelenecek, sonraki yazılar ile ise diğer maddeler değerlendirilmeye devam edilecektir.
Yazılar oluşturulurken ISACA’nın Security, Audit and Control Features Oracle Database, 3rd Edition (Dec 2009) isimli rehberinden faydalanılmıştır.
Türkçe bir kaynak olması ve faydalı olacağı düşüncesi ile İç Denetim Koordinasyon Kurulu tarafından hazırlanan ve Oracle Veritabanı denetimini 3 temel başlık altında inceleyen Kamu Bilgi Teknolojileri Rehberi ayrıca önerilmektedir. Rehber Oracle Veritabanı denetimini aşağıdaki başlıklarda detayı ile incelemektedir.

1.       Kullanıcı Hesap Yönetimi ve Parolalar
2.       Kritik Dosyalara Erişim
3.      Parola ve Güvenlik Parametreleri

Rehbere http://www.idkk.gov.tr/Sayfalar/HaberDetay.aspx?rid=61&lst=MansetListesi adresinden erişim sağlayabilirsiniz. 

Erişim ve Yetkilendirme: Hesaplara ve şifrelere yönelik uygun kontrollerin tasarlanması, işletilmesi, kontrollerin sürekli iyileştirilmesi, kontrollerin başarımının periyodik olarak izlenmesi önemlidir. Sistemde yer alan bütün kullanıcıların(iç, dış ve geçici kullanıcılar) ve kullanıcı hareketlerinin özgün olarak tanımlanabiliyor olması gerekmektedir.

1) DBA’lerin veri tabanına nasıl erişim sağladıkları önemli bir husustur. DBA’ler tarafından CONNECT INTERNAL opsiyonunun kullanılmadığından emin olunmalıdır. Çünkü Internal olarak gerçekleştirilen bağlantı ile sistemde en  yetkili kullanıcı olan SYS olarak tanınılmaktadır ve Internal bağlanma veri tabanının açılıp, kapatılması amacıyla tasarlanmış bağlantı opsiyonudur. Bunun yanı sıra her DBA’in kendine ait hesap ile sisteme log on olduğundan ve veri tabanını yönettiğinden emin olunmalıdır. Ortak hesaplar ile yapılan yönetimler her hangi bir inceleme ya da araştırma faaliyeti esnasında inkar edilebilirlik açısından problem yaratmaktadır.
2)Aşağıdaki komut yardımı ile sistem kullanıcılarının listesini alıp, listede DBA’lerin ayrı hesaplara sahip olma durumunu kontrol edebilirsiniz.

Select * FROM DBA_USERS;

3) Default Profile için gerçekleştirilmiş ayarları aşağıdaki komut ile alıp, inceleyebilirsiniz.

SELECT * FROM DBA_PROFILES;

4) Kullanıcı listesinde generik ve ortak kullanıma konu olabilecek kullanıcıları tespit edebilirsiniz. Uygulamalar tarafından kullanıcıları tespit edip, sadece uygulama tarafından kullanıldığının nasıl sağlandığını dinleyebilirsiniz.
5) Hesaplara atanmış olan profilleri inceleyip, uygun olmayan profil-kullanıcı atamalarını tespit edebilirsiniz.
6) DBA’ler tarafından sisteme kayıt edilen kullanıcıların ilk şifrelerinin nasıl dağıtıldığını dinleyebilir, belirlenmiş ortak şifrenin ya da kolay tahmin edilebilir bir şifrenin ilk dağıtımda kullanılmadığından emin olabilirsiniz.
7) Şifre değiştirme frekansı, şifre uzunluğu, eski şifrenin kullanımı gibi şifre yönetimine yönelik özelliklerin kullanıcılara sağlanan bilginin hassasiyetine göre politikalar ile belirlendiğinden emin olabilirsiniz. Kullanıcı profillerine göre farklı tanımlamalar yapılabilir. (Kullanıcı, yönetici, teknik personel, sistem yöneticisi gibi)
8) Aşağıda sıralanan şifre kontrolleri ve kaynak limitlerinin tahsisine yönelik olarak profil ayarlarını inceleyebilirsiniz.

· COMPOSITE_LIMIT

· SESSIONS_PER_USER

· CPU_PER_SESSION

· CPU_PER_CALL

· LOGICAL_READS_PER_SESSION

· LOGICAL_READS_PER_CALL

· IDLE_TIME

· PRIVATE_SGA

· CONNECT_TIME

· FAILED_LOGIN_ATTEMPTS

· PASSWORD_LIFE_TIME

· PASSWORD_REUSE_TIME

· PASSWORD_REUSE_MAX

· PASSWORD_VERIFY_FUNCTION

· PASSWORD_LOCK_TIME

· PASSWORD_GRACE_TIME

 9) DBA ve Güvenlik Yöneticisi ile acil durumlar için veritabanına erişime yönelik süreci konuşup, acil durumlar için erişime yönelik prosedürlerin tasarlandığından, vuku bulan acil erişimlerin dokümante edilmesine ve gerekli erişim sağlandıktan sonra erişimin yok edilmesine yönelik süreçlerin tasarlanmasından emin olabilirsiniz.
10) init<SID>.ora içerisinde REMOTE_OS_AUTHENT parametresini kontrol edip, OS Security’nin kullanılır olduğundan emin olabilirsiniz. REMOTE_OS_AUTHENT “false” olarak ayarlandığından emin olabilirsiniz. Bu parametre FALSE ise uzaktan password file dosyası olmadan sysdba ile bağlanamazsın anlamına gelmektedir. Parametre “true” ayarlandıysa buna olan ihtiyacı değerlendirmelisiniz.
11) Eğer OS Authentication kullanılıyor ise init<SID>.ora içerisindeki OS_AUTHENT_PREFIX parametresini kontrol etmelisiniz. Aşağıdaki komutu kullanarak password file dosyası ile bağlanma yetkisine sahip olan kullanıcıları listeleyebilirsiniz. Listeledikten sonra DBA ile bu şekilde erişime ihtiyaç duyulmasının nedenini tartışabilir, ihtiyaç ve riskliliğe göre değerlendirme yapabilirsiniz.

SELECT * FROM V$PWFILE_USERS;

12) Hizmet tedarik edilen firmalar, danışmanlar gibi dış paydaşlara yönelik erişim sağlanması ve erişim yetkilerinin sonlandırılmasına yönelik prosedür ve işleyişleri tartışabilir. Erişim sağlanmasının sadece iş ihtiyacı için gerektiği kadar, iş sorumluluklarına uygun verilmesi ve uygun zaman içerisinde yok edilmesine yönelik işleyişi değerlendirebilirsiniz.
Sonraki yazılarımda diğer alt başlıklara değiniyor olacağım. Faydalı olması dileğiyle.

0 yorum:

Yorum Gönder