lf133, System Administration: Linux Güvenlik aracı VXE
Bu makalenin farklı dillerde bulunduğu adresler: English Castellano Deutsch Francais Italiano Nederlands Turkce
tarafından Serge Lozovsky
Bilgi sistemlerinde programcı/yönetici olarak 20 yıllık deneyim. 5 yıl Internet teknolojisi, 9 yıl UNIX, 4 yıl yapay zeka (bilgi ve veri tanıtımı).
VXE tanımı ve hareketliliği
VXE Geliştirme Sistemi
Linux Güvenlik aracı VXE
Çeviri : İnanç Özçubukçu
Serge Lozovsky UNIX sistemleri daha güvenli yapmak için geliştirdiği bir yazılım paketini tanıtıyor. Yazılım lisanslıdır. Ticari olmayan eğitim amaçlı işler için bedelsiz olarak kullanılabilir.
UNIX güvenliğinin en büyük sorunu superuser'ın sistem üzerinde istediği herşeyi yapabiliyor olmasıdır. Superuser haklarıyla çalışan programlar (daemons) vardır, örneğin popd, sendmail ve bunlar ağdan ulaşılabilirlerdir (Internet/Intranet). Her programın açıkları olabilir ve böylece davetsiz misafirler bu tür programlara ağdan ulaşabilir, mevcut hataları kullanarak kontrolü ellerine geçirebilirler.
VXE (Virtual eXecuting Environment) UNIX sunucuları davetsiz misafirlerden, korsan saldırılarından ve benzerlerinden korur. Sunucuda hali hazırda yüklü olan SMTP,POP,HTTP gibi altsistem yazılımlarını korur. Mevcut yazılımın ayarlarını değiştirmek gerekmez, sadece onu korur.
Sonuçta VXE şu problemleri çözer: superuser haklarıyla çalışan ve hatalar barındırabilen sunucu ve altsistemleri. Gerçek hayatta yaşadığımız durum budur.
Virtual eXecuting Environment (VXE) superuser haklarıyla çalışan ve hatalar barındırabilen sunucu ve altsistemlerini korur. Bir program superuser haklarıyla çalışırsa işletim sisteminin (OS) tüm kaynaklarına ulaşabilir. VXE, her altsistem için sanal bir ortam oluşturur. Bu ortamda sadece normal işlemler için gerekli olan kaynaklar görünürdür ve altsisteme açıktır. Altsistem, çalıştırılan program ve tarafından üretilen altişlemleri bekler. Her altişlem anası gibi aynı VXE ortamında çalışır. Program, herhangi bir sistem kaynağına ulaşmak için, OS sistem çağrısını (syscalls) kullanır. VXE hangi sistem çağrısının hangi parametreler ile erişebilir olduğunu her altsistem için tanımlayabilir. Örneğin (dosya işlem sistem çağrıları için) dosyaların bazılarının okunabilir ve bazıların yazılabilir olduğu, ağ işlemlerinin kapalı olduğu tanımlanabilir (POP sunucusu örneğinde, ağ bağlantısını kontrol altına alır ama yenilerini yapmaz) ve bu kısıtlamalar superuser hakları ile çalışan bir program tarafından kırılamaz.
Bu sınırlamalar gerektiği kadar keskin olabilir. Eğer davetsiz misafir bir altsistem üzerinde hakimiyeti ele geçirirse bilgiye ulaşmak yada sistemi etkilemek için alışılmış yöntemleri kullanamaz. Teoride yapabileceği tek şey gelişmiş yöntemler kullanarak, ne işletim sistemine ne de diğer altsistemlere , yalnızca ele geçirilmiş altsistemin işlemlerine etkimektir. Burada alışılmış yöntemler devetsiz misafirin superuser haklarına ulaşması ve bir komut ekranı açması (shell), ardından alışılagelmiş araçlarla, metin editörü gibi, bir araç kopyalamak ve gerisi ortada. Bu tür araçlar olmadan hiçbirşey yapamaz. Örneğin bir POP sunucusunun metin editörüne ve bir araca gereksinimi yoktur çalışması için; ki böylece VXE ortamında POPD koruması için böyle bir program yoktur.
Daha belirgin olarak belirtmek gerekirse, VXE ele geçirilmiş altsistemlerin yoklamalarına karşı sistemi ve altsistemlerini korur. Bir bölüm etkilendiği zaman altsistemin kendisini korumasını sağlar (yukarıda anlatıldığı yolla). Basitleştirme amacıyla, aşağıdaki yazıda VXE'nin altsistemi koruduğunu söyleyeceğiz.
VXE tanımı (VXED) ufak bir LISP (fonksiyonlar dizisi) programı olup farklı sistem çağrıları için kabul edilebilir bildirge niteliğinde parametre tanımları kullanır. Bu VXED belirli altsistemler için sistem çağrı parametrelerini kontrol ettiği çekirdeğe yüklüdür. RefLisp (Bill Birch bbirch@ctp.com) tarafından türetilen VXE'nin güncel sürümü vxelisp, yeni iç büyük dizi tanımlamasına (internal bigstring representation), tam dizi ve bit fonksiyonlarına (full set of string and bit functions) sahiptir. vxelisp'in çekirdek sürümü aynı anda farklı VXED leri desteklemek için yeniden yapılandırılmıştır.
VXED'yi aktif hale getirmenin iki yolu vardır. Belirgin (explicit) ve örtük (implicit)(otomatik). Belirgin aktifleştirme vxe programı kullanarak yapılır. Parametreler, sınırlamalarla beraber çalışacak olan komut yol ve parametreleri, ve de VXED yoltanımıdır (pathname). Otomatik yükleme için vxed aracı tüm gerekli VXED'leri çekirdeğe baştan yükler. Her VXED'nin bir aktifleşme modeli vardır. Program başlangıcından (exec) itibaren çekirdek, çalıştırılabilir dosyaların yollarını şablonlara ve aktif VXED'lere karşı kontrol eder. Bu yöntem belirli bir dizin (ve tüm altdizinler) altındaki tüm programlarından çalıştırılması esnasında korumayı aktifleştirme için kullanılabilir. Örneğin kullanıcılar tarafından kullanılan CGI betiklerini (scripts) korumak amacıyla her bir kullanıcı altdizinine VXED tanımlanabilir.
Her bir VXED, vxelisp'in gücü kullanılarak elle yaratılabilir. Fakat VXE, sistem yöneticilerini LISP'i öğrenmeye ve kullanmaya zorlamaz. VXE geliştirme sistemi, VXE'yi izleme düzeninde çalıştırır.
Bu gibi bir uygulama çalışması, izin verilen (kullanılan) sistem cağrılarının tanımlarını yazdırır. VXED'nin yaratılması ve değişiklikler WWW arayüzü ile yapılmaktadır. Geliştirme sistemi iki çeşit VXED desteklemektedir; Sıkı ve Dosya sistemi. Sıkı VXED, tüm izin verilen belirgin sistem çağrılarını tanımlar. VXED dosya sistemi tanımlanmış bir yolun okuma, yazma ve çalıştırma haklarını tanımlar. Dosya sistemi sistem çağrılarına uygulanan özel sınırlamalara diğer sistem çağrılarında izin verilmiştir. Belli bir altsistem için oluşturulduktan sonra VXED, kendi halinde çalışır. Bu durumda tüm uyumsuz VXED işlemleri kaydedilir, sistem çağrıları yerlerine getirilir. VXE DS, tutulan kayıtlardan VXED'yi otomatik olarak güncelleyebilir.
Elbette VXED'de gerekli değişiklikler elle de yapılabilir. Uyumsuzluklar, davetsiz bir misafirin çalışması yada altsistem davranışlarında ki sapmanın birçok koşulu ile oluşabilir. VXE yöneticileri DS yardımı ile kayıtlara bakarlar ve bir güncelleme gerekiyorsa buna karar verirler. Eğer bir uyumsuzluk yoksa, üretim konumuna geçirilir. Bu durumda tüm uyumsuzluklar kaydedilir ve sistem çağrıları engellenir. Kayıtlar aynı şekilde davetsiz misafirlerin belirlenmesi yada VXED ayarlanması için kullanılabilir.
Güvenlik sebepleriyle, VXE üzerindeki tüm işlemler en yetkili kullanıcı (superuser) tarafından, tüm VXE'lerin dışından yapılabilir.
VXE verimi şu yollarla etkiler: Eğer program VXE'lerin dışında çalışıyorsa tüm küçük sistem çağrıları fazladan iki öğretici assembler çalıştırır (VXE mevcut işlemi etkiliyor mu diye kontrol eder). Her sistem çağrısı çalıştırılışında küçük bir C döngüsü çekirdekte uyuşan bir VXED var mı diye kontrol eder. VXE içerisinde çalışan programlar için bir kaç satırlık bir C kodu, parametre ayarlaması gerekli mi diye kontrol eder. Bazı sistem çağrıları VXED içerisinde kontrol edilemez olarak işaretlenir (örneğin önkabul olarak okuma ve yazma işlemleri) ve sadece geriye kalan sistem çağrıları çok küçük LISP fonksiyonları tarafından kontrol edilir. Bu fonksiyonlar VXED içerinde bulunurlar ve sistem yöneticisi tarafından kolaylıkla incelenebilirler.
VXE support: vxe@intes.odessa.ua
VXE home page: http://www.intes.odessa.ua/vxe
© Serge Lozovsky, FDL
en -> -- Serge Lozovsky
en -> tr İnanç Özçubukçu
2001-03-13, generated by lfparser version 2.9