Marshalling: Marshalling boshqa kompyuterda bir COM ob'ekt namunasidan boshqasiga ma'lumotlarni uzatish zaruratini hal qiladi - dasturlash nuqtai nazaridan, bu "argumentlarni o'tkazish" deb ataladi. Masalan, agar men Zaphodning familiyasini xohlasam, COM ob'ekt familiyasini Zaphod argumenti bilan chaqirardim. Familiya funktsiyasi maqsadli serverdagi boshqa COM ob'ektidan LastName (Zaphod) uchun qaytarish qiymatini so'rash uchun masofaviy protsedura qo'ng'irog'idan (RPC) foydalanadi va keyin u javobni - Beeblebrox - birinchi COM ob'ektiga yuboradi.
Asosiy RPC mexanizmi sifatida DCE/RPC dan foydalanish: Oldingi narsalarga erishish va yuqori hajmdagi veb-trafikni qo'llab-quvvatlash uchun miqyosni oshirishga urinish uchun Microsoft DCE/RPC ni DCOM uchun asosiy texnologiya sifatida joriy qildi - DCOMdagi D qaerdan paydo bo'lgan.
DCOM qanday ishlaydi?
DCOM ishlashi uchun COM ob'ekti ikkala kompyuterda ham to'g'ri sozlangan bo'lishi kerak - bizning tajribamizga ko'ra, ular kamdan-kam hollarda bo'lgan va ularni ishga tushirish uchun ularni bir necha marta o'chirib tashlashingiz va qayta o'rnatishingiz kerak edi.
Windows registrida DCOM konfiguratsiya ma'lumotlari 3 identifikatorda mavjud:
CLSID - Sinf identifikatori (CLSID) global noyob identifikator (GUID). Windows dasturda o'rnatilgan har bir sinf uchun CLSID-ni saqlaydi. Agar sinfni ishga tushirish kerak bo'lsa, sizga to'g'ri CLSID kerak bo'ladi, shuning uchun Windows qaerga borishni va dasturni topishni biladi.
PROGID - Dastur identifikatori (PROGID) dasturchi yanada murakkab va qat'iy CLSID o'rniga qo'yishi mumkin bo'lgan ixtiyoriy identifikatordir. PROGIDlarni o'qish va tushunish odatda osonroq. Oldingi misolimiz uchun asosiy PROGID Hitchiker.LastName bo'lishi mumkin. Qancha PROGIDlar bir xil nomga ega bo'lishi mumkinligi haqida hech qanday cheklovlar yo'q, bu ba'zida muammolarni keltirib chiqaradi.
APPID - Ilova identifikatori (APPID) bir xil bajariladigan faylning bir qismi bo'lgan barcha sinflarni va unga kirish uchun zarur bo'lgan ruxsatlarni aniqlaydi. APPID noto'g'ri bo'lsa, DCOM ishlay olmaydi. Mening tajribamga ko'ra, siz masofaviy ob'ektni yaratishga urinayotganda ruxsatnomalar xatosiga duch kelishingiz mumkin.
Asosiy DCOM tranzaksiyasi quyidagicha ko'rinadi:
Mijoz kompyuteri masofaviy kompyuterdan CLSID yoki PROGID orqali ob'ekt yaratishni so'raydi. Agar mijoz APPID ni topshirsa, masofaviy kompyuter PROGID yordamida CLSID ni qidiradi.
Masofaviy mashina APPID-ni tekshiradi va mijozning ob'ektni yaratishga ruxsati borligini tekshiradi.
DCOMLaunch.exe (exe bo'lsa) yoki DLLHOST.exe (agar DLL bo'lsa) mijoz kompyuteri so'ragan sinfning namunasini yaratadi.
Muloqot muvaffaqiyatli!
Mijoz endi masofaviy kompyuterda sinfdagi barcha funksiyalarga kirishi mumkin.
Agar APPID to'g'ri sozlanmagan bo'lsa yoki mijoz to'g'ri ruxsatlarga ega bo'lmasa yoki CLSID exe-ning eski versiyasiga yoki boshqa muammolarga ishora qilsa, siz "Yaratib bo'lmaydi" degan qo'rqinchli xabarni olasiz. Ob'ekt" xabari.
DCOM va CORBA
Common Object Request Broker Architecture (CORBA) JAVA-ga asoslangan dastur bo'lib, DCOM bilan bir xil funktsiyalarni bajaradi. DCOMdan farqli o'laroq, CORBA biron bir operatsion tizimga (OT) bog'lanmagan va UNIX, Linux, SUN, OS X va boshqa UNIX-ga asoslangan platformalarda ishlaydi.
Ikkalasi ham yuqori hajmdagi veb-trafik uchun standart bo'lish uchun etarlicha xavfsiz yoki kengaytirilishi isbotlanmagan. DCOM va CORBA xavfsizlik devorlari bilan yaxshi ishlamadi, shuning uchun HTTP internet uchun standart standart protokolga aylandi.
Nima uchun DCOM kerak?
DCOM Internet uchun standart protokol bo'lish uchun kurashda g'alaba qozona olmadi, lekin u Windows operatsion tizimiga integratsiyalangan bo'lib qolmoqda va Microsoft Management Console (MMC) kabi Windows xizmatlarining ko'pligi bilan bog'langan.
DCOM dasturlarni boshqa kompyuterlarda ishga tushirishi mumkinligi sababli, xakerlar undan ko'proq ma'lumotlarga kirish huquqini qo'lga kiritib, tarmog'ingiz orqali lateral harakat hujumlari uchun foydalanishlari mumkin. Ushbu faoliyatni aniqlash qiyin bo'lishi mumkin, chunki u zararli dastur yoki xakerlik vositalari emas: DCOMga kirish uchun faqat PowerShell kerak bo'ladi.
DCOM yordamida maxfiy maʼlumotlaringizga kirish imkoniga ega boʻlsa ham, Varonis maʼlumotlaringizga kirishga urinayotganda ularni aniqlashga (va ularni toʻxtatishga) yordam beradi. Varonis sizning asosiy ma'lumotlar do'koningizdagi faoliyatni kuzatib boradi va foydalanuvchining g'ayritabiiy xatti-harakati va shubhali harakatlarini tahlil qiladi.
Global Ob’yektga asoslangan muhit(GLOBE)
Globe tizimining eng o'ziga xos xususiyati shaffof replikatsiyadir. Foydalanuvchi jarayonlari taqsimlangan umumiy ob'ektlar (DSO) orqali o'zaro ta'sir qiladi va muloqot qiladi. Ob'ektlar jismoniy taqsimlangan, ularning holatini bir nechta mashinalarga bo'lish mumkin. Jarayonlar taqsimotdan bexabar. Barcha ichki aloqa va sinxronizatsiya o'rta dastur tomonidan amalga oshiriladi.
2.1-rasm: Globusning taqsimlangan umumiy obyekti.
Jarayon ob'ektga kirganda, u birinchi navbatda mahalliy ob'ektni yaratadi. Mahalliy ob'ekt jarayonning mahalliy manzil maydonida joylashgan va taqsimlangan ob'ektda operatsiyalarni bajarish uchun zarur bo'lgan barcha mexanizmlarni amalga oshiradi. Mahalliy ob'ekt barcha so'rovlarni boshqa replikalarga yo'naltiruvchi proksi-server, boshqa xostlardan ulanishlarni qabul qiluvchi RPC uslubidagi server yoki o'zboshimchalik bilan murakkab taqsimlangan algoritmni bajaradigan boshqa ob'ekt bo'lishi mumkin. Uch tugundan iborat DSO namunasi 2.1-rasmda tasvirlangan.
Mahalliy ob'ektlar 2.2-rasmda ko'rsatilganidek, beshta kichik ob'ektga bo'lingan. Sub-ob'ektlar qayta ishlatilishi mumkin, ularning har biri mahalliy ob'ekt funksiyalarining bir qismini qamrab oladi. Semantik sub-ob'ekt ilovaga bog'liq bo'lib, u DSO ning semantik operatsiyalarini parallellik va taqsimotga e'tibor bermasdan amalga oshiradi. Qolgan to'rtta sub'ekt aloqa, replikatsiya, sinxronizatsiya va xavfsizlik uchun javobgardir. Sub-ob'ektlar ob'ekt siyosatini, xususan replikatsiya siyosati va xavfsizlik siyosatini belgilaydi. Tezisda biz asosan xavfsizlik sub'ektini ko'rib chiqamiz.
2.2-rasm: Mahalliy ob'ektning tuzilishi.
Globe xizmatlari
Globe tizimi ob'ektlarni nomlash va joylashtirish xizmatlarini taqdim etadi. Nomlash xizmati ob'ekt nomlarini Ob'ekt identifikatorlariga (OID) hal qiladi. Ob'ekt nomlari odatda odamlarga do'stona, mazmunli va ma'muriy tuzilmani aks ettiradi. OIDlar kompyuterda ishlab chiqariladi va nomlardan farqli o'laroq, hech qachon o'zgartirilmaydi. Har bir ob'ekt tizimdagi yagona OID ga tayinlangan. Joylashuv xizmati OID ni joriy ob'ekt manzili va aloqa protokoliga hal qiladi. Nomlash va joylashishni aniqlash bo'yicha xizmatlarni ajratib, tizim yanada moslashuvchan bo'lib, kengaytiriladigan va qulay nomlash sxemasi bilan ob'ektlarning dinamik migratsiyasini qo'llab-quvvatlaydi. Bu mavzu [19] da batafsilroq muhokama qilinadi.
Ob'ekt holatining bir qismini o'z ichiga olgan ob'ekt nusxalari Ob'ekt serverlarida joylashgan. Serverlar ob'ektlarni passivlashtirish va faollashtirish uchun doimiy xotirani o'z ichiga oladi. Ob'ekt serverlari dinamik replikatsiyani qo'llab-quvvatlaydi.
Bog'lash
DSO da ishlash uchun har bir jarayon avvalo ob'ekt bilan bog'lanishi kerak. Bog'lanish natijasi jarayonning manzil maydoniga joylashtirilgan mahalliy ob'ektdir. Keyinchalik tushuntirilganidek, ulash taqsimlangan tizim xavfsizligi uchun eng muhim operatsiyalardan biridir. Globusda u 2.3-rasmda keltirilganidek bir necha bosqichlardan iborat. Jarayon nomlash xizmatidagi ob'ekt nomini va Joylashuv xizmatidagi OIDni hal qiladi. Keyinchalik, jarayon kontakt manzillaridan birini tanlaydi va Implementation Repository'dan mahalliy ob'ekt uchun dasturni yuklab oladi. Mahalliy ob'ekt o'rnatilganda va ishga tushirilganda, jarayon DSO bilan bog'lanishi mumkin.
2.3-rasm: Globusda ob'ektni bog'lash.
Jarayon nomlash xizmatidagi (1) ob'ekt nomini ob'ekt identifikatoriga (2) hal qiladi. Keyinchalik, OID Joylashuv xizmatiga yuboriladi (3) va joriy ob'ekt manzili va aloqa protokoliga (4) hal qilinadi. Keyinchalik, manzil va protokolni tanlagandan so'ng, jarayon Implementation Repository (5,6) dan tanlangan protokolni amalga oshiradigan sinfni yuklab oladi. Nihoyat, jarayon mahalliy ob'ektni o'z manzil maydoniga o'rnatadi va tanlangan manzilda DSO ga ulanadi.
Globus xavfsizligi
Globe tizimining xavfsizligi ochiq/xususiy kalit algoritmlariga asoslangan. Har bir foydalanuvchi, ob'ekt va nusxa o'zining umumiy va shaxsiy kalit juftligini saqlaydi. Kirish nazorati sertifikatlar bilan amalga oshiriladi, foydalanuvchi ruxsatlari ob'ekt egasi tomonidan imzolangan sertifikatlarda kriptografik tarzda muhrlanadi. Tizimdagi har bir ob'ekt sertifikatning haqiqiyligini tekshirishi mumkin, chunki faqat shaxsiy kalit egasi to'g'ri sertifikatni chiqarishi mumkin. Bunday yechim to'liq taqsimlangan, u tizimda hech qanday markaziy hokimiyatni talab qilmaydi. Agar bir foydalanuvchi yangi sertifikatlar berish huquqini boshqa foydalanuvchiga topshirsa, sertifikatlar zanjir hosil qilishi mumkin.
Globe teskari kirishni boshqarish uchun ham sertifikatlardan foydalanadi [13]. Ushbu mexanizm yordamida foydalanuvchi har bir replika uchun ruxsatlarni belgilashi va replika qaysi operatsiyalarni bajarishga ruxsat berilishini hal qilishi mumkin. Eng muhim ob'ekt usullarining bajarilishi tanlangan, eng ishonchli replikalar bilan cheklanishi mumkin.
Globe xavfsizlik dizayni kuchli va umumiydir. Ushbu maqolada ko'rib chiqilgan veb-model ancha ixtisoslashgan. Tarqalgan ilovalar uchun moslashuvchan asosni ta'minlash o'rniga, u faqat veb-hujjatlarga e'tibor qaratadi. Shuning uchun Internetga qo'yiladigan talablar ancha aniqroq.
Birinchidan, foydalanuvchilar o'zlarini autentifikatsiya qilishlari shart emas, biz hujjatlar hamma uchun mavjud deb hisoblaymiz. Xuddi shu sababga ko'ra, uzatishni shifrlashning hojati yo'q, chunki barcha ma'lumotlar ochiqdir. Ikkinchidan, biz barcha nusxalarni ishonchsiz deb hisoblaymiz. Bu replikalarni autentifikatsiya qilish yoki teskari kirishni boshqarishni qo'llashning hojati yo'qligini anglatadi. Hujjatlar har qanday xostda saqlanishi mumkin. Foydalanuvchilarga hujjatlar hech qanday zararli nusxa tomonidan o'zgartirilmasligi kafolatlanadi.
Veb-modelimiz uchun biz yangi xavfsizlik talablari va yangi xavfsizlik dizaynini belgilaymiz. Biz standart Globe xavfsizlik vositalaridan foydalanmaymiz.
GlobeDoc -- Internet uchun Globe
Bizning veb-modelimiz GlobeDoc deb nomlanadi. U funktsional jihatdan WWW bilan taqqoslanadi, uning asosiy maqsadi tarqatilgan hujjatlarga bir xil onlayn kirishni ta'minlashdir. Ichki tashkilotda, ayniqsa replikatsiya sxemasida farqlanadi.
GlobeDoc Globe tizimining tepasida qurilgan. U veb-muhitga Globe replikatsiya mexanizmini qabul qiladi. [8] da muhokama qilinganidek, model boshqa keng qoʻllaniladigan yechimlardan koʻra koʻproq kengaytirilishi mumkin va muayyan veb-talablarga yaxshiroq sozlanishi mumkin.
Ushbu tezisda biz asosan GlobeDocning xavfsizlik jihatlariga e'tibor qaratamiz. Birinchidan, biz umumiy arxitekturani tasvirlaymiz.
Umumiy model
GlobeDoc ning asosiy taxmini shundan iboratki, hujjatlar Globe tomonidan taqsimlangan umumiy ob'ektlarda inkapsullangan. Ob'ekt hujjat holatini o'z ichiga oladi va hujjat tarkibiga kirish uchun interfeysni ta'minlaydi.
GlobeDoc ob'ekti odatda bitta tashkilotga tegishli bo'lgan va bitta ma'muriyat bo'linmasiga tegishli bo'lgan bir tuzilmani tashkil etuvchi bir nechta chambarchas bog'liq fayllardan (matn, rasm, video va boshqalar) iborat. Ushbu fayllarni bitta ob'ektga qanday guruhlash kerakligi aniq belgilanmagan, bu ma'lum veb-saytga bog'liq. Bitta hujjatga tegishli fayllar sahifa elementlari deb ataladi. GlobeDoc obyektlarining namunasi 3.1-rasmda keltirilgan
3.1-rasm: GlobeDoc obyektiga misol.
Globe ob'ektlarida hujjatlarni inkapsulyatsiya qilish natijasida har bir hujjat uchun replikatsiya siyosati tayinlanishi mumkin. Siyosat ob'ektning tizim bilan o'zaro ta'sirini, xususan, uni qanday ko'paytirishni belgilaydi.
Ommabop dasturiy ta'minot arxivi misolini ko'rib chiqaylik: o'rtacha yuklab olish vaqtini kamaytirish uchun u bir nechta serverlarda ko'p takrorlanishi mumkin. Boshqa tomondan, tashrif buyuruvchilarning cheklangan guruhi bilan kamdan-kam foydalaniladigan sahifalar umuman aks ettirilmasligi kerak, lekin har doim yangilanganda foydalanuvchilarga faol ravishda uzatilishi mumkin.
Replikatsiya, sinxronizatsiya, aloqa va tarqatish uchun zarur bo'lgan barcha funktsiyalar Globe o'rta dasturida amalga oshiriladi. Shuning uchun GlobeDoc uchun yangi infratuzilmani ishlab chiqishga hojat yo'q.
Hujjatlar Globe Object Serverlarda saqlanadi. GlobeDoc terminologiyasida serverlar do'konlar deb ham ataladi.
Do'konlar ikki turdagi hujjat ob'ektlarini saqlashi mumkin. Birlamchi replika (master) Globe hujjatining toʻliq funksiyasini taʼminlaydi, oʻqish va yozish (yangilash) soʻrovlarini bajara oladi. Ikkilamchi replikalar (qullar) o'qish so'rovlariga mustaqil ravishda xizmat qilishi mumkin, ammo nomuvofiqliklarni oldini olish uchun barcha yangilanish chaqiruvlarini asosiy replikaga yo'naltiring.
Ob'ekt replikalaridan tashqari, mijoz tomonida turli xil keshlar mavjud, masalan, do'konlar nazorati ostida bo'lmagan foydalanuvchi brauzerlarida.
Xulosa
Men bu mustaqil ishni tayyorlash mobaynida Taqsimlangan tizim obyektlari tushunchasi aslida nima ekanligini hozirgi kundagi ahamiyatini o`rgandim.Taqsimlangan tizim obyektlari(DCOM, GLOBE, COBRA...)dan foydalanish hozirgi kunda talab eng kuchli bo`lgan sohalardan biri hisoblanadi. Taqsimlangan tizim obyektlari tadbiq qilinayotgan sohalar judayam ko`p topiladi ularnig asosiy yo`nalishlarini va turlarini yuqorida keltirib o`tdim.Men Taqsimlangan tizim obyektlari haqida materiallar bilan tanishish va mustaqil ishimni tayyorlash davomida bu sohaga qiziqishim judayam ortdi.
Do'stlaringiz bilan baham: |