<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های کیانا صابری</title><link>https://virgool.ir/feed/@kiana.saberi</link><description></description><language>fa</language><pubDate>2026-11-11 15:12:37</pubDate><image><url>https://virgool.ir/images/default-avatar.jpg</url><title>کیانا صابری</title><link>https://virgool.ir/@kiana.saberi</link></image><item><title>راهکارهای بهبود امنیت داده ها در پایگاه داده MongoDB</title><link>https://virgool.ir/@kiana.saberi/راهکارهای-بهبود-امنیت-داده-ها-در-پایگاه-داده-mongodb-ongloh3k45qb</link><description>چکیدهپایگاه داده  Nosql برای آن دسته از محیط های وبی که دیگر پایگاه داده رابطه ای برای آنها جوابگو نیست، پیاده سازی شده است. در پایگاه داده ی رابطه ای ازSQL  و خواصACID  برای پیاده سازی استفاده می شود اما  Nosql با فدا کردن قابلیت هایSQL ، قابلیت های دیگری ارائه کرده است. در این پایگاه داده از خواصی به نام  BASE استفاده می شود. دیتابیسهای Nosql  با دیدگاه امنیت محض طراحی نشده اند و اولویت اصلی آن سرعت دسترسی به داده های بزرگ با خواص BASE است. بنابراین توسعهدهندگان یا تیم های امنیتی باید لایه های امنیتی خاص خود را به ابزارهایNosql  سازمانیشان اضافه کنند به صورتی که خواص BASE  آن حفظ شود.مقدمهNosql یک پایگاه داده متن باز است. Nosql  که  مخفف Not Only SQL   می باشد در مواردی که نمی توان از پایگاه داده رابطه ای Sql استفاده نمود، بکار می رود. به دلیل متن باز بودن و امکانات بسیار دیگری که Nosql  دارد، این پایگاه داده روز به روز در حال توسعه است و بیش از 151 نوع از این پایگاه داده به وجود آمده است. اغلب مشاغل کوچکی که این دیتابیس ها را راه اندازی میکنند، از شیوه مدیریت امنیت این گونه جدید اطلاعات کافی ندارند و همین سبب میشود به طور کلی تهدیدهای امنیتی را نادیده بگیرند و به صورت پیشفرض سیستم را نصب کنند. این در حالی است که نصب پیشفرض در دیتابیس های رابطه ای سنتی با رعایت بسیاری از نکات امنیتی همراه است.1-1 ویژگی های پایگاه داده NoSqlتمرکز  Nosql بر روی در دسترس بودن داده ها و عملکرد مناسب آنها می باشد ولی تمرکز در پیاده سازی پایگاههای رابطه ای با خواص سازگاری و جداسازی است. از مواردی که به عنوان خواص اصلی  Base مطرح می شودسازگاری داده ها می باشد ،در خواص  ACID سازگاری بلافاصله بعد از اتمام تراکنش به وقوع می پیوندد، درحالی که در  Base این اتفاق نمی افتد و سازگاری موقتی را مطرح می نماییم.ACID ها زمانی که تعداد کاربران و مجموع های داده زیاد نبودند مطرح شدند، گرچه کاربرد آنها در زمان ایجاد بن بست به نوبه خود یک مورد قابل بحث می باشد. اما خواص  Base زمانی که بحث توزیع داده ها و سنکرون نمودن آن ها مطرح گردید، یکی از موارد قابل بحث در  Base بروز رسانی داده های توزیع شده می باشد.برخی از برنامه ها به خصوص برنامه هایی که در زمینه مالی فعالیت می کنند، نمی توانند از خواصBase  استفاده نمایند. برای مثال زمانی که یک کاربر عملیات بانکی برداشت از حساب را انجام می دهد به دلیل عدم بروزسانی آنی در سیستم، پایگاه داده دارای ناسازگاری موقت می شود که در یک سیستم بانکی قابل قبول نیست، لذا این خواص برای چنین مدل هایی کاربرد ندارد.2-1 دسته بندی پایگاه داده Nosqlپایگاه های داده ای Nosql  به دو دسته تقسیم می شوند:1)تجمع گرا2) غیر تجمع گرادر حالت تجمع گرا: Nosql  مجموعه ایی از اطلاعات را از نود های مختلف موجود در شبکه جمع آوری می نماید.MapReduce  می تواند آن ها را مجددا برای جمع آوری در فرم ها سازماندهی نماید، این نوع پایگاه داده در زمانی هایی که تجمع داشته باشیم مفید می باشد.غیر تجمع گرا: مانند پایگاه های داده ای گرافی که در این نوع پایگاه داده ها مجموعه ای از خواص مدل های کلید مقدار و ستون گرا و سندگرا را دارا هستند همچنین در آنها رابطه ها نقش مهمی را ایفا می کنند. در مواردی که برنامه دارای سر در گرمی بیشتر می شوند، این نوع پایگاههای تجمع گرا مانند neo4j  بیشتر به کار می آیند. کلید / مقدار: این پایگاه داده ها اساسی ترین نوع پایگاه های دادهNosql   هستند. این پایگاه های داده همچون یک دیکشنری عمل می کنند، در این پایگاه های داده نه ساختاری وجود دارد و نه رابطه ای. در این معماری تنها یک کلید داریم (که همچون کلید اصلی در پایگاه های داده رابطه ای عمل می کند) و یک مقدار داریم که مقدار معادل آن کلید را باز می گرداند. معموًلاً برای نگهداری اطلاعات ساده استفاده می شود ولی گاهی اوقات ممکن است اطلاعات ذخیره شده بسیار هم پیچیده باشند .پایگاه های داده ستونی: پایگاه های داده ستونی با کمی توسعه پایگاه های داده کلید – مقدار  بوجود آمدند .این سیستم در واقع بجای یک جفت کلید - مقدار، برای هر رکورد در خود چندین جفت کلید - مقدار می تواند داشته باشد. این پایگاه های داده نیازی به ساختار از پیش تعیین شده برای اطلاعات خود ندارند و هر رکورد می تواند چندین ستون مختلف با صفات متفاوت داشته باشد. این معماری را مانند یک آرایه چند بعدی (مکعبی) در نظر بگیرید که برای هر کلید اجازه پیوست کردن هزاران نوع جفت مقدار متفاوت را می دهد. این پایگاه های داده برای ذخیره میزان وسیع و متفاوتی از رکوردها با مقادیر بسیار وسیع از مقادیر در این دیتابیس خیلی خوب جواب می دهد.پایگاه های داده مبتنی بر سند: معماری این پایگاه داده ها همانند معماری پایگاه داده ستونی است، با این تفاوت که امکان ذخیره با عمق بیشتری (از نظر تودرتو بودن جفت کلیدها) را می دهد. این معماری امکان ذخیره سند در سند را می دهد. هر گونه اطلاعاتی در این معماری می توانند یک سند باشند، از متن ساده گرفته تا یک ایمیل یا عکس و ... . اما با وجود قدرت بسیار بالایی که این نوع پایگاه های داده نسبت به موارد قبلی دارند، اما خواندن و نوشتن در آنها بسیار وقت گیر است. به دلیل اینکه میزان بی شماری سند را می توان درون یکدیگر قرار داد، عمل خواندن باعث می شود تمام این اسناد بازیابی شوند و در هنگام نوشتن هم تمام این توشه دوباره نوشته شود.پایگاه های داده مبتنی بر گراف: این پایگاه داده از نوعGraph Based   است. این نوع معماری به داده ها از دیدی کاملا متفاوت نسبت به مدل های قبلی نگاه می کند. این مدل، داده ها را مانند یک گراف به هم مرتبط می کند و ساختار یک درخت یا گراف را به آنها می دهد. در این پایگاه داده، رکوردها هنگام درج در پایگاه داده توسط یک یا چند صفت به هم مرتبط می شوند؛ لذا انجام عملیات ریاضی و استنتاج وقایع از آنها بسیار ساده تر از مدل های دیگر است .این پایگاه های داده مناسب تحقیقات علمی و فنی است .3-1 آنالیز خواص Baseدسترسی پذیری: سیستم های پایگاه داده همواره در حال کار می باشند. در واقع بر طبق تئوری cap  بر این است که سیستم همیشه پا برجا می ماند . پایگاه داده برروی تعداد زیادی از سیستم های ذخیره سازی با قابلیت پخش و تکرار بالا قرار می گیرد که خود باعث ایجاد درجه بالایی از پایداری می شود.حالت نرم: در زمان کپی داده ها سیستم در وضعیت ناسازگاری قرار می گیرد. در حالت نرم باید برای برنامه های کاربردی قابلیت مجزا بودن را در باطن خود داشته باشند، به خصوص زمانی که در حال بارگذاری اولیه و یا ذخیره داده های زیادی از اطلاعات باشد. با استفاده از حالت نرم، منابع می توانند یکبار بارگذاری اولیه انجام دهند و در دفعات بعد از آن استفاده نمایند . در پایگاه داده حالت نرم، یک دید ساده از داده ها با توجه به سازگاری فراهم می کند. اطلاعات مربوط به حالت نرم اگر تجدید نشوند از بین خواهند رفت . اطلاعات در حالت نرم در حال تغییر می باشد ، این امر حتی بدون داشتن وروردی نیز می تواند اتفاق بیافتد.سازگاری نهایی: بروزرسانی انتشار، در یک دوره خواص زمانی بعد از بروزرسانی نیاز به انتشار آن می باشد . از این رو، سیستم های که در آن شرط کلیدی قابلیت اطمینان است، توان تغییر داده ها پایین تر می آید. بسیاری از پایگاه های داده را در وب سرعت، کارایی و مقیاس پذیری را به جای سازگاری خالص و تمامیت داده ها ترجیه می دهند . در دسترس بودن سیستم ، استفاده از Eventually Consistent را تضمین نمود. عاقبت یک دست شدن، به معنای دریافت دستوری از شما و نحوه پاسخ دادن به آن ( یا حتی پاسخ ندادن به آن) از طرف بانک اطلاعاتیNosql  است. .برای مثال : زمانیکه یک رکورد جدید را اضافه می کنید، یا اطلاعات موجودی را به روز رسانی خواهید کرد، اغلب بانک های اطلاعاتیNosql  این دستور را بسیار سریع دریافت و پردازش خواهند کرد. اما بین دریافت پیام و پردازش واقعی آن در اینجا تفاوت می باشد.اکثر بانک های اطلاعاتیNosql، پردازش و اعمال واقعی دستورات دریافتی را با یک تاخیر انجام میدهند. به این ترتیب می توان خیلی سریع به بانک اطلاعاتی اعلام کرد که چه میخواهیم و بانک اطلاعاتی بلافاصله مجددا کنترل را به شما بازخواهد گرداند. اما اعمال و انتشار واقعی این دستور، مدتی زمان خواهد برد. کپی داده ها در نهایت به تمام گره های جدید اضافه شده در سیستم انتقال می یابد. اما تمام گره ها با نسخه های مشابه از اطلاعات داده شده در همه زمان ها وجود دارند.2. امنیت داده ها در پایگاه داده Nosqlپایگاه دادهNosql  با دیدگاه امنیتی محض طراحی نشده است و اولویت اصلی آن در وهله ی نخست دسترسی به داده های بزرگ در سریع ترین زمان ممکن بوده است. بنابراین تیم هایی که بر روی این نوع از پایگاه های داده کار می کنند می بایست بخش امنیتی خود را در آن لحاظ نمایند.در بسیاری از پیاده سازی ها از این دیتابیس ها، از شیوه مدیریت امنیتی آن اطلاعات کافی ندارند و همین سبب میشود به طور کلی تهدیدهای امنیتی را نادیده بگیرند و به صورت پیشفرض سیستم را نصب کنند. این در حالی است که نصب پیشفرض در دیتابیس های رابطه ای سنتی با رعایت بسیاری از نکات امنیتی همراه می باشد. با کار بر روی نسخه های مختلف بانک های اطلاعاتی ایجاد شده می توانیم به نتایج زیر در حوزه ی امنیتی برسیم:1) بیشتر محصولاتNoSQLاجازه می دهد دستورها در محیط معتمد(Trusted Environment)  بدون در نظر گرفتن امنیت و هویت فرد اجرا شود و بعضا حتی این اقدام را توصیه و تشویق نیز میکند.2) ضعف در تأیید هویت: به طور پیش فرض در نصب دیتابیس رمز پیش فرضی تعریف نمی گردد، با خواندن کتابچه ی راهنمای MondoDB می توانیم به این نکته پی ببریم که توسعه دهندگان با این فرض که در یک محیط امن می باشد آنرا توسعه داده اند.3) نقاط ضعف مجوز: هر کاربر، یک دسترسی فقط خواندنی به تمام پایگاه داده را دارد .بنابراین برای هر کاربری به صورت پیش فرض دسترسی به کل پایگاه داده مهیا می باشد.4) مجوز ضعیف برای دسترسی مدیریت: یک کاربر با دسترسی مدیریتی به پایگاه داده می تواند دسترسی کامل خواندن / نوشتن برای همه چیز را داشته باشد و با توجه به این امر که هیچ کلمه عبوری برای مدیریت در محیط مدیریتی وجود ندارد، لذا برای همگان در دسترس می باشد.5) حملات شبکه ای: داده های ارسالی به صورت کد نشده ارسال می شود ،به طوری که داده ها در یک حمله ARP  و یا حملهMITM  می توانند هک گردیده و به راحتی شنود شوند.6) واسط های رابطه ای متعدد ضعیف: به طور پیش فرض این سرویس برای کلیه رابطه های موجود فراهم می گردد. این امر با نصب در محیط های خانگی عملکرد خوبی را نخواهد داشت چرا که تمام پایگاه داده را در یک محیط نا امن قرار می دهیم.7) بدون رمزگذاری: در حال حاضر هیچ رمزگذاری بر روی داده ها وجود ندارد.3. راهکارهای پیشنهادی جهت بهبود امنیت پایگاه داده Mongodbبررسی در این بخش انحصارا بر روی پایگاه داده mongodb  می باشد و لذا با توجه به محدودیت های دسترسی به سورس های پایگاه داده Mongodb  و همچنین عدم ارایه نرم افزار های مناسب برای کاربران در این مقاله پیشنهاد یک بسته نرم افزاری بدون خدشه وارد نمودن به خواصBASE   این نوع از پایگاه های داده ای و با نگرشی جهت بهبود امنیت آن ها مطرح گردیده است و می توان بخش اعظمی از مشکلات امنیتی ابتدایی این نوع پایگاه داده را مرتفع گرداند و از حملات و شنود ها و سایر مشکلات امنیتی توسعه دهندگان را نجات داد .این بسته نرم افزاری با کمک زبان برنامه نویسی جاوا پیشنهاد گردیده است. دلیل انتخاب این زبان با توجه به ویژگی های ذیل می باشد:1. سیستم عامل: هر چقدر زبان های.net  قوی باشند تنها بر روی پلت فرم ویندوز اجرا میشوند و برخی ویندوز را سیستم عامل غیر قابل اعتمادی در برنامه نویسیEnterprise  می دانند ولی جاوا از این نظر انتخابی خوب است زیرا ما را از وابستگی به نوع سیستم عاملی بی نیاز می نماید.2. قابلیت حمل: جاوا بر روی پلتفرم های گوناگونی قابل اجرا است و ما را از وابستگی به نوع پلتفرم سخت افزاری نیز بی نیاز می نماید.3. جاوا بیشتر از یک زبان است: جاوا فقط یک زبان نیست و انجمن هایی متشکل از بزرگان صنایع و برنامه نویسان زیادی مشغول به توسعه و ایجاد استانداردهای جدید و به روز هستند و در زمینه های فعالیتی Mongodb  با توجه به قابلیت امنیتی که فراهم می نماید می تواند به حفره های امنیتی Mongodb  کمک نماید. سرعت پایین برنامه های جاوا در محیطی که اجرا میشوند ملاک کارایی نبوده زیرا در محیط وب مسئله ای که سرعت را کند می سازد، شبکه بوده و ابتدا باید سربار شبکه را از روی برنامه ها برداشت .یکی از ساده ترین، اما خطرناکترین حملات درون شبکه های محلی ، ARP Attacks می باشند. این نوع حملات حتی از طریقFirewall  ها نیز قابل تشخیص نیست و می توانند خسارات زیادی را به شبکه وارد نمایند .Address Resolution Protocol :ARP از جمله پروتکل های ارتباطی لایه 2 شبکه است که وظیقه آدرس دهی بینIP Address  و Address   MAC  را دارند. به عنوان مثال:در  یک شبکه ی  محلی ، سیستم های کامپیوتری و تجهیزات شبکه ها برای ارسال داده ها و برقراری ارتباط با یکدیگر نیاز به دانستنIP  وMac Address کامپیوتر طرف مقابل خود  می باشند. حال فرض کنید کامپیوتریIP  Address کامپیوتر دیگری که می خواهد با آن ارتباط برقرار کند را می داند، ولیMac Address  آن را نمی داند ،این امر باعث می شود اتصال بین سیستم ها برقرار نشود. بنابراین از پروتکلARP استفاده می کند تا  بتواند در هرزمانMAC Address  مرتبط باIP Address  یک سیستم را در اختیار داشته باشیم. هر میزبان  یک جدول دارد که نگاشت های اخیر انجام شده در آن نگهداری می شوند. درصورتی که یک کامپیوتر Mac Address  کامپیوتر مقصد را درARP Cache خود نیابد، یک بسته درخواست تحت عنوان درخواست که حاویIP  کامپیوتر مورد نظر است، برای کل شبکه ارسال می کند و جواب خود را دریک بسته با عنوان پاسخ دریافت می کند که حاویMAC  addressمتناظر با آنIP  درخواستی است که بلافاصله نتیجه درخواست در جدولی جهت استفاده های بعدی ذخیره و یا بروز می شود.حتی با یک آگاهی محدود هم می توان این نوع شنودها را پیاده سازی نمود. در کلARP یک پروتکل قابل اعتماد ومورد نیاز در شبکه است، اما با وجود سادگی و کارآمدی، هیچ روشی برای تایید یکIP address متناظر با MAC address خود ندارد، بنابراین میزبان  نمی تواند چک نماید پاسخی که دریافت کرده است دقیقا پاسخ همان  پاسخ  ارسال شده باشد. همچنین اگر یک میزبان ، بدون ارسال درخواست، یک درخواست دریافت کند به آن اعتمادکرده وجدول خود را با آن  اطلاعات بروز می کند.که این مساله تحت عنوان حمله  ARP  شناخته می شود که در نتیجه ترافیک شبکه به جای ارسال به مقصد اصلی به کامپیوتر نفوذگر ارسال می شود.راه حل پیشنهادی استفاده شده برای مقابله با این حمله استفاده از آدرسIP  وMAC  ثابت arp -s[ip_address] [mac_address]  می باشد و همچنین بهره گیری از DLL  های برنامه های XRAP که برای جلوگیری و تشخیص این حملات در صورت وقوع آن ها در سیستم ها تعبیه گردیده است.رمزنگاری داده های حیاتی در پایگاه داده Mongodb  انجام نمی پذیرد ولذا در بخشی از طرح مطرح شده می توان با فراخوانی پارامترهای داخلی بسته پیشنهادی و قرار دادن داده ها درون این پارمتر ها و توابعی که جهت همین امر مهیا گردیده است داده ها را به صورت داده هایی با رمز نگاری Des  در آورده و در زمان دریافت داده نیز با بهر گیری از توابع داخلی داده ها را رمزگشایی نمود. با ابن حال جهت استفاده راحت توسط هر از این خاصیت تنها کافیست این نرم افزار در حال اجرا باشد. در این حالت حتی می توان توابع آن را درون برنامه های خود جهت کار برروی پایگاه داده استفاده نمود و کلیه عملیات های ارسال و دریافت داده و نوع کلید جهت رمزگذاری را نیز توسط خود برنامه نویس و درون برنامه اش مدیریت نمود.الگوریتم پیشنهادی که از آن برای رمزنگاری بر روی فیلد های داده ای استفاده می نماییم الگوریتم رمزنگاری متقارن است. الگوریتم DES منتشر شده شامل چندین تکرار از یک تغییر شکل ساده با استفاده از هر دو تکنیک جابجایی و جایگزینی است. این الگوریتم تنها از یک کلید برای رمزنگاری و رمزگشایی استفاده می کند و به همین جهت به آن رمزنگاری کلید اختصاصی نیز گفته می شود. در این حالت حفظ کلید به صورت محرمانه توسط فرستنده و گیرنده پیغام بسیار اهمیت دارد. به همین جهت در رمزنگاری DES معمولاً عمر کلید به اندازه عمر تراکنش است.دراین روش پیشنهادی در ابتدای شروع بکار برای ارتباط با پایگاه داده کلید در نظر گرفته شده بین در خواست کننده و سرور اطلاعاتی در میان گذاشته می شود و بعد از آن اطلاعات مبادله شده در مسیر می توانند به صورت کد انتقال یابند.به جهت امنیت بیشتر در پایگاه های رابطه ای از STORE PROCEDURE  ها استفاده می گردد که با توجه به عدم پشتیبانی مستقیم در خود MongoDB می توان آنرا در JAVA SCRIPT  ها پیاده سازی نمود اما این امر نیز دارای امنیت پایینی می باشد لذا به صورت پیش فرض در بسته ی مطرح شده این امر به صورت پیش فرض نهادیده شده است و علاوه بر رمزنگاری داده های می توانند به صورت بسته ایی در قالب STORE PROCEDURE   ارسال گردند. با این روش اطلاعات عبوری از کانال ها در صورت شنود نیز واضح نخواهند بود که البته در صورتی که این امر با رمزگذاری در الگوریتم های متقارن همراه باشد، اطلاعات به طور کامل ناخوانا خواهند بود.راه پیشنهادی برای مقابله با تعیین هویت و دسترسی های غیر مجاز با توجه به این حفره امنیتی در زمان بعد از نصب این پایگاه داده، بسته برنامه مذکور با اتصال خودکار به پایگاه داده mongodb  ایجاد یک کاربر در سطح مدیریتی با پسورد در نظر گرفته شده از سوی مدیر و یک کاربر جهت مشاهده بخشی از پایگاه داده به صورت فقط خواندنی و تنها بر روی یک پایگاه داده پیش فرض ایجادی توسط خودش عمل می نماید و برای سایر دسترسی هایکدیگر را با توجه به درخواست مدیر می تواند بلاک و یا پاک نماید.1. بحثبه دلیل مشکلات امنیتی موجود در بخش پایگاه داده Mongodb  این مدل از پایگاه داده Nosql  با خطرات امنیتی زیادی مواجه می باشد که می تواند منجر از دست رفتن اطلاعات امنیتی بسیار مهم شود و لذا با توجه به کارامدی این پایگاه داده برای برنامه نویسان، نیاز به اصلاحات امنیتی بیشتر احساس می گردد. در این زمان راهکار هایی پیشنهاد گردیده که بدون از بین بردن خواص اصلی NoSql  به سیستم بانک اطلاعاتی کمک کند. خواص اصلی NoSql  شامل دسترسی، حالت نرم، سازگاری موقتی می باشد. در طرح پیشنهادی در این مقاله از این سه قابلیت اصلی NoSql  پشتیبانی می نماییم.این بسته نرم افزاری پیشنهادی با قابلیت استاتیک نمودن آدرس های شبکه ای و محافظت از پورت های مورد استفاده Mongodb و با بهره گیری از کتابخانه های دینامیک نرم افزار های مربوط به جلوگیری از حملات شبکه ای، از حملات  ARP و نفوذ گری های دیگر به شبکه ی داخلی که سیستم سرور در آن پیاده سازی گردیده است ،جلوگیری می نماید. در بخش دیگر با ایجاد نام های کاربری برای کاربران مورد تایید مدیر سیستم و تعیین سطح دسترسی آنها به پایگاه داده با قابلیت تعریف نمودن رل های کاری متفاوت از بهره برداری غیر مجاز در سیستم جلوگیری می نماییم. همچنین با غیر فعال نمودن سایر دسترسی های به داده های از دسترسی های نا خواسته با توجه به قابلیت توزیع پذیری سیستم جلوگیری می نماییم و ضعف های مجوزی را برطرف می نماییم و مدیریت کاربران را بهبود می بخشیم.در بخش دیگر از ضعف های امنیتی به کد گذاری اطلاعات حیاتی در سیستم می پردازیم که در حال حاضر در سیستم پایگاه داده ای اتفاق نمی افتد. برای رفع این مشکل نیز با ارسال و دریافت درخواست ها و پاسخ های پرس و جو از طریق بسته پیشنهادی نرم فزاری و با کد گذاری که بر روی آنها درد سیستم انجام می پذیرد، اقدام می نماییم و حتی با قابلیتی فراتر می توانیم از دستورات به کار برده شده در داخل بسته نرم افزاری ، در درون کد برنامه ها فارغ از زبان برنامه نویسی آن نیز استفاده نماییم تا درخواست ها و پرس و جو ها را با امنیت بیشتر ارسال نماییم .در این میان از روش کد گذاری داده های با الگو های DES  استفاده می نماییم و همچنین ارسال داده ها برای میزبان ها به صورت را پشتیبانی از STORE PROCEDURE  مهیا می نماییم.بنابراین با استفاده از این بسته پیشنهادی می توان تمام مشکلات بخش امنیتی را اصلاح نمود و پایگاه داده را در حالت امنی جهت جلوگیری از دسترسی ها غیر مجاز ،نفوذگری ها و دسترسی های نا خواسته قرار داد.2. نتیجه گیریدر این مقاله یک مطالعه تحلیلی از خواصBase پایگاه داده های Nosql  با بررسی برخی از سیستم ها پرداختیم و بخشی از عملکرد آن را برای رسیدن به سازگاری و دردسترس بودن، مورد بررسی قرار دادیم و در انتها به موارد امنیتی داده ها در پایگاه داده Nosql  و حملات و شنود ها و دسترسی های نامعتبر در این سیستم  پرداختیم که با استفاده از یک بسته پیشنهادی توانستیم هر 7 مشکل امنیتی در این نوع سیستم ها شامل درنظرنگرفتن امنیت و هویت فرد، ضعف در تأیید هویت، نقاط ضعف مجوز ، مجوز ضعیف برای دسترسی مدیریت، حملات شبکه ای، واسط های رابطه ای متعدد ضعیف، بدون رمزگذاری بودن داده ها ،را با توجه به عدم امکان دسترسی به سورس های این نوع پایگاه داده بهبود بخشیده و همچنین راه حل های پیشنهادی خود را در قالب یک بسته نرم افزاری برای جلوگیری از این اتفاقات را ارائه دهیم. این راه کارها با توجه به قابلیت های مطرح شده BASE  برای NOSQL  مطرح شده و هیچ یک از موارد مربوط به این خاصیت ها را نفی نمی کند .نویسنده : کیانا صابرینام استاد: دکتر مریم حاجی اسمعیلی. دکترای علوم کامپیوتر از دانشگاه کینگستون لندنDr.Maryam HajiesmaeiliPhD of computer science from Kingston university of Londonhttps://ir.linkedin.com/in/dr-maryam-hajiesmaeili-90930743 </description><category>کیانا صابری</category><author>کیانا صابری</author><pubDate>Sun, 22 May 2022 03:30:57 +0430</pubDate></item><item><title>خطا های رایج SQL Server و نحوه برطرف کردن آنها</title><link>https://virgool.ir/@kiana.saberi/خطا-های-رایج-sql-server-و-نحوه-برطرف-کردن-آنها-pl1bjvhcila2</link><description>SQL   مخفف Structured query language و یک زبان برنامه نویسی استاندارد  ANSI  برای مدیریت و به اشتراک گذاری دیتابیس به ویژه داده هایی که در سیستم های مدیریت پایگاه داده رابطه ای(Relational Database Management System) وجود دارد ، به‌اختصار RDBMS که نوعی از DBMS(مخفف Database Management System و به‌معنی سامانه‌ی مدیریت پایگاه داده) است که توسط شرکت مایکروسافت ارائه شده و توسعه داده می‌شود.SQL می تواند حجم انبوهی از داده ها را طبقه بندی و مدیریت کند .نرم افزارهایی مانند اکسل نیز برای گرد آوری و مدیریت داده برنامه ریزه شده اند ولی مدیریت حجم زیادی از اطلاعات با استفاده از اکسل بسیار دشوار است و این نرم افزار توانایی انجام این کار را ندارد.با استفاده از SQL، می توانیم اطلاعاتی مانند راه های ارتباطی و جزییات فروش تمام مشتریانی که در کسب و کار داشته ایم را ذخیره کنیم. به عنوان مثال اگر  بخواهیم اطلاعات مشتریانی که حداقل ۴۰۰۰ یورو در قرن گذشته در شرکت خرج کرده اند را محاسبه کنیم ، SQL به خوبی می تواند به این نیاز  پاسخ دهد.برخی از ویژگی های این نرم افزار شامل امکان جدید Master Data Services برای مدیریت متمرکز SQL Serverهای مختلف، بهبود عملکرد هسته Database نرم افزار، امکان جدید Backup Compression به منظور کاهش حجم نسخه پشتیبان اطلاعات، پردازش تا ۶۴پروسه به صورت همزمان، امکان جدید Configuration Serversبرای مدیریت چندین سرور، پشتیبانی از فایل های با فرمت XML، بهبود عملکرد قسمت های Analysis Services, Integration Services, Replication, Reporting Services, Service broker و … می باشد.برسی چند مورد از خطا های رایج SQL Server و نحوه برطرف کردن آنها :1. خطای Server Error in Application هنگام خواندن داده ها از دیتابیس· با این خطا معمولا زمانی رو به رو می شویم که connection string مناسب رو انتخاب نکرده باشیم.· در نتیجه بقیه فیلدهای آن را بررسی و از صحیح بودن آدرس دیتابیس سرور ، نام کاربری و کلمه ی عبور و نام دیتابیس مطمئن می شویم.2. خطای Specified SQL Server not found هنگام اجرای برنامه· این پیغام موقع بارگذاری شدن فایل mdf سنگین مربوط به برنامه ظاهر می شود. معمولا در این زمان قبل از اجرای کامل SQL server، سرویس connection ایجاد می شود و باعث به وجود آمدن این مشکل می شود.· اگر هنگام وصل شدن به SQL server با استفاده از QUERY ANALYZER با این پیام مواجه شدیم در یک زمان دیگری اقدام به اتصال به SQL server نموده، یا SQL SERVER را از طریق  Service manager  دوباره اجرا می کنیم.3. حل خطای provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server· برای رفع این خطا از بخش SQL server configuration management؛ سرویس SQL را Run می کنیم.یا در صورتی که سرویسی در این بخش نداشتیم باید از این مسیرها برای باز کردن configuration استفاده کنیم   نسخه SQL                                              مسیر اجرای Configuration C:\Windows\SysWOW64\SQLServerManager13.mscSQL       Server2016          C:\Windows\SysWOW64\SQLServerManager12.mscSQL       Server2014   C:\Windows\SysWOW64\SQLServerManager11.mscSQL       Server2012          C:\Windows\SysWOW64\SQLServerManager10.msc              Server20084. مشکل استارت نشدن سرویس Reporting Service در SQL SERVER· System.InvalidOperationException: Cannot start service ReportServer on computer ”. —&gt; System.ComponentModel.Win32Exception· اگر هنگام اجرای سرویس Reporting Service خطای بالا را دریافت کردیم می توانیم از طریق رجیستری این مشکل را حل کنیم.· برای اینکار نیاز است به رجیستری ویندوز ( Run -&gt; Regedit ) رفته و در مسیر ” HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control” ، یک کلید با اسم ServicesPipeTimeout بسازیم و مقدار آن را ۶۰۰۰۰ قرار دهیم و در نهایت یکبار سرور را ریستارت کنیم.5. خطا هنگام بروزرسانی tableدر SQL Server· ” Saving changes is not permitted. The changes that you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the table to be re-created. ”· بخش SQL Server Management Studioرا باز می کنیم.· در منوی Tools گزینه Optionsرا انتخاب می کنیم.· در منوی سمت راست ( Designers ( Navigation Paneرا انتخاب می کنیم.· تیک مربوط به گزینه Prevent saving changes that require the table re-creation را برمی داریم و روی OKکلیک می کنیم.نویسنده : کیانا صابرینام استاد: دکتر مریم حاجی اسمعیلی. دکترای علوم کامپیوتر از دانشگاه کینگستون لندنDr.Maryam HajiesmaeiliPhD of computer science from Kingston university of London https://ir.linkedin.com/in/dr-maryam-hajiesmaeili-90930743 </description><category>کیانا صابری</category><author>کیانا صابری</author><pubDate>Mon, 18 Apr 2022 00:19:39 +0430</pubDate></item></channel></rss>