İşletim sistemi kimlik doğrulaması neden Oracle veritabanları için zayıf güvenlik olarak değerlendiriliyor?


29

Oracle göre OS kimlik kaldırıyor Oracle Veritabanı Güvenliği Kılavuzu , hangi diyor

REMOTE_OS_AUTHENT parametresinin Oracle Database 11g Sürüm 1'de (11.1) kullanımdan kaldırıldığını ve yalnızca geriye dönük uyumluluk için saklandığını unutmayın.

Ayrıca, çoğu güvenlik bilgisi ve aracı, OS (harici) kimlik doğrulamasını bir güvenlik sorunu olarak kabul eder. Neden böyle olduğunu anlamaya çalışıyorum. İşletim sistemi kimlik doğrulamasının gördüğüm bazı avantajları:

  1. İşletim Sistemi Olmadan Kimlik Doğrulama uygulamaları, şifreleri her biri kendi güvenlik modeline ve açıklarına sahip çeşitli uygulamalarda saklamalıdır.
  2. Etki alanı kimlik doğrulamasının zaten güvenli olması gerekir, çünkü o zaman veritabanı güvenliği değilse, veritabanına erişimi yavaşlatır, ancak engelleyemez.
  3. Yalnızca bir etki alanı şifresini hatırlaması gereken kullanıcılar, daha fazla bağlanmaları gereken farklı veritabanı sayısı olarak daha az güvenli veritabanı şifresi oluşturmak için yapılabileceklerinden daha kolay güvenli etki alanı şifresi oluşturmak için yapılabilir.

Oracle'ın dış kimlik doğrulamasını engellediğini nerede gördünüz?
Justin Mağarası

1
@Justin Cave Bu bilgiyle soruyu güncelleyeceğim.
Leigh Riffel

2
Güncelleme için teşekkürler. Netlik sağlamak için, Oracle dış kimlik doğrulamasını engellemiyor olsa da, genellikle daha az güvenli olan uzak dış kimlik doğrulamasını engelliyor (Gaius aşağıda tartışıldığı gibi)
Justin Cave

Yanıtlar:


16

Aşağıdaki senaryoyu inceleyin:

  1. gaiusOracle sunucusunda harici kimlik doğrulaması olan bir Unix kullanıcısı var, bu nedenle Oracle'da buna karşılık gelen bir kullanıcı var ops$gaius. Bir kabukta oturum açtığımda, doğrudan Oracle şemamda oturum açabiliyorum ve cron işlerimin de komut dosyasına gömülü bir şifreye ihtiyacı yok.
  2. LAN'ın% 100 güvenli olduğu ve istemcilere güvenilebileceği varsayımıyla uzaktan işletim sistemi kimlik doğrulamasına izin verilir (aynı rlogin/ rshnormalde izin verildiği gibi)
  3. Bir saldırgan ne demektirsa olsun, dizüstü bilgisayarını LAN'a alır, orada çalıştığımı bilir ve dizüstü bilgisayarlarında yerel bir kullanıcı oluşturur gaiusve bu kullanıcı olarak SQL * Plus'ı çalıştırır.
  4. Oracle görür (yani OSUSERgiriş V$SESSION) gaiusve uzak kullanıcının giriş yaptığınıops$gaius

Bu parodi kolay sadece gülünç değil, ama benim kinik şapkası koyarak, Oracle onların satan daha fazla para yapamaz fantezi tek oturum açma ürünün bu arada ... hangisi gelmez sen OS avantajları olarak yükseltmek tüm noktaları yerine getirmek düzey düzeyinde auth. Birinden daha iyi iki şifre tamamen sahtedir; çoğu insan onları yine aynı olmaya zorlayacaktır (bunu engellemek için Oracle’da bir mekanizma yoktur).

Genel ilke, bir saldırganın fiziksel erişimi olduğunda yazılımda savunmanın son derece zor olmasıdır. Ve asla müşteriye güvenme.


2
Bundan daha da kötü. Orafaq'a bakınız 'OPS $ hesapları neden müşteri / sunucu ortamında güvenlik riski altında?' (pencereleri suçlarlar, ama haklısın, ağdaki herhangi bir şey)
Joe

3
Sunucunun Windows etki alanı üzerindeki etkisi nasıl? Örneğin, saldırganın, etki alanını içeren bir hesaba sahip olmak için bilgisayarını etki alanına katması gerekir mi, yoksa saldırgan kendi bilgisayarına katılmak zorunda kalmadan etki alanının varlığını taklit edebilir mi?
Leigh Riffel

Tüm sunucular Unix ve tüm masaüstlerinin Windows olduğu bir zamanda aslen yazıldığı tahminim
Gaius

3
@Leigh - OS_AUTHENT_PREFIX'i güvenilir bir Windows etki alanı olarak ayarlayarak, uzak işletim sistemi kimlik doğrulamasını Windows istemcileri ile daha güvenli hale getirebilirsiniz. Bu, uzak istemcinin bu güvenilen etki alanında (veya göründüğü gibi) olmasını gerektirir. Bu, büyük ölçüde önemsiz bir "fiş bilgisayarı üzerinden yedek bir bağlantı noktasına bilgisayar yerleştirmek, yerel bir kullanıcı eklemek ve saldırıya uğramak" için çıtayı büyük ölçüde yükseltir, ancak yine de oldukça yenilebilir.
Justin Cave

1
gerçek AD / Kerberos kimlik doğrulaması yapıyorsa ve kullanıcıdan bir bilet alıp KDC ile doğruladıysa karşılaştır ve karşılaştır, sanırım SqlServer Windows kimlik doğrulaması kullanmaya ne zaman ayarlandı?
araqnid

8

Tekli başarısızlık noktalarını artırır ve verilerinizin risk yüzeyini büyütür.

Sisteme erişim kazanan bir saldırgan, OS Kimlik Doğrulaması ile veritabanına erişebilir. Veritabanına daha güvenli erişim gerektirmesi durumunda, potansiyel saldırganın herhangi bir kullanıcı yerine kök veya genel erişim elde etmek için tehlikeye giren sistemdeki ayrıcalıklarını artırması gerekir.

Bu sorun veritabanına harici erişimin bir fonksiyonudur. Harici erişim yoksa ve makine tamamen güvenlik altına alınmışsa izinler tartışılır. Ancak, geliştiricilerin erişimi varsa, işletim sistemi düzeyinde kullanıcı izinleri potansiyel güvenlik felaketlerinin kapsamını arttırır.

Güvenlik ihlallerinin kapsamını sınırlandırmak ve her durumda işletim sistemi düzeyinde hesap oluşturmaya gerek kalmadan herhangi bir kullanıcıya, uygulamaya veya müşteriye ihtiyaç duydukları erişimi vermek için çok katmanlı erişim kullanmayı düşünün .


Gördüğüm gibi, aşırı basitleştirmek için - iki kullanıcı adı / şifre gereksinimi birden fazla güvenlidir -. Puanların makul görünüyor.
Leigh Riffel

Bu oldukça yanlış bir cevap - sorun harici kimlik doğrulama değil, uzak harici kimlik doğrulama. Aşağıda açıklayacağım.
Gaius

@Gaius Harici işletim sistemi kimlik doğrulaması, uzak olmasaydı neredeyse değersiz olma noktasına sınırlandırılmaz mıydı? Oracle'ın işletim sistemi kullanarak kimlik doğrulaması yapmadığını, yalnızca uzak bir bilgisayardan işletim sistemi kimlik doğrulamasını engellemediğini mi söylüyorsunuz?
Leigh Riffel

@Leigh - Yerel hesapların işletim sistemi kimlik doğrulaması için en önemli kullanım alanı, veritabanı sunucusunda çalışan ve veritabanı sunucusundaki çok güçlü hesaplara erişmesi gereken çok sayıda kabuk komut dosyası içeren DBA tipi görevler içindir. İşletim sistemi kimlik doğrulaması, bu kabuk komut dosyalarında şifrelenmemiş DBA düzeyinde şifrelere sahip olmanızı önler.
Justin Mağarası

Genel olarak @Justin batch işleri, bireysel senaryolarda kabuk senaryoları veya her neyse uygulandı
Gaius

4

Gaius, uzaktaki işletim sistemi kimlik doğrulamasının (yerel makine kullanıcılarının ayrı bir şifre belirtmeden veritabanına erişmesine izin verdiğiniz vanilyalı işletim sistemi kimlik doğrulamasının aksine) neden nispeten güvensiz olduğunu belirtti.

Uzak işletim sistemi kimliği doğrulanmış kullanıcılar yerine , insanları kurumsal kullanıcıları (veya tam teşekküllü kimlik yönetimi paketi) kullanmaya teşvik etmek istediği için Oracle'ın bu yönde ilerlemesini beklerdim . Kurumsal kullanıcılar, uzaktan işletim sistemi kimliği doğrulanmış kullanıcılarla aynı avantajlara sahiptir, ancak Oracle gerçekten de kullanıcının kimliğini doğrulamak için Active Directory sunucunuza gidiyor. Güvenlik kontrolünü müşteri makinesine bırakmadan, aynı avantajlardan faydalanın.


LDAP kimlik doğrulaması başka bir solucan kutusu açabilir ... Ben daha uzun bir cevap yollayacağım.
Joe

+1 Kurumsal Kullanıcı Güvenliği'ni işaret ettiğiniz için teşekkür ederiz. Zaten Gelişmiş Güvenlik'i düşünüyoruz ve bu daha da çekici hale getiriyor.
Leigh Riffel

4

Özellikle kimlik stili kimlik doğrulamasını işaret edersiniz, ancak ayrıca veritabanı veya diğer oturum açma işlemlerini işletim sisteminin girişlerine bağlamak için diğer yöntemlerin de aynı derecede kötü olduğunu belirtmek isterim. (yerel şifre dosyaları, LDAP veya kimlik bilgilerinin gerçek depolanması için ne olursa olsun)

Veritabanına (veya web sunucusuna veya kimlik doğrulamasını ne yapıyorsa) uzak bağlantılara izin verirseniz, bazı işletim sistemleri zor hesapların kaba kullanımını zorlaştırmak için ayarlanabilecek kuralları (örneğin, başarısız girişimlerin geldiği IP'leri engellemek; Kullanıcılar belirli sayıda yanlışlıktan sonra bir süre için vb. Normalde, bu kurallar atılarak bağlanır sshdve değil bir bütün olarak kimlik doğrulama sistemi.

Bu nedenle, birileri veritabanına / web sunucusuna / uzaktan ne olursa olsun bağlanabiliyorsa, veritabanları yavaş girişimlerde aynı mekanizmalara sahip olma eğiliminde olmadıklarından şifreyi zorla kullanabiliyorlarsa, gerekli kimlik bilgilerini bulduktan sonra ssh girerler.


2
Buradaki mantığı takip ettiğimden emin değilim. Oracle’ın LDAP’ye karşı kimlik doğrulaması yapıyorsanız, şifreyi alabilmek için LDAP’yı bozmanız gerekir - normal bir Oracle kullanıcısı için olduğu gibi kaba karmaşanın şifresinin yerel bir kopyası olmazdı. LDAP kimlik doğrulamanızı yenen saldırganlarla ilgileniyorsanız, muhtemelen Oracle kullanıcılarının kimliğini doğrulama konusunda daha büyük sorunlarınız vardır. Ve Oracle'ı birkaç başarısız denemeden sonra hesapları kilitleyecek, izin verilen IP adreslerini, vb. Kısıtlayacak şekilde yapılandıracak kadar kolaydır. Aslında, 11g'deki varsayılan davranış budur.
Justin Mağarası

@Justin: Bu yalnızca bağlamanız durumunda bir sorun teşkil eder, böylece işletim sistemine giriş yapmak için gerekli olan bilgiler veritabanına giriş yapmak için kullanılan bilgiler ile aynıdır (veya web sunucusu vb.). Üstelik, Oracle’ın kimlik doğrulama konusunda en son kullandığımdan daha iyi bir hale geldiği anlaşılıyor, ancak çoğu diğer veritabanında bulunmuyor. (ve Apache de yok, bu yüzden MacOS X Sunucuları kullanıcıları değiştirmeli mod_auth_appleve mod_auth_digest_applevarsayılan sürümleri değiştirmeli, ancak sorun hala 10.6'da mevcutsa test etmedim)
Joe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.