PDA

View Full Version : مقابله با نشت اطلاعات حساس شبکه از طریق DNS



Identifier
سه شنبه 16 اسفند 1384, 12:37 عصر
مقابله با نشت اطلاعات حساس شبکه از طریق DNS


گرد آورنده : حامد ذوالقدری



به عنوان مسئول شبکه یا مسئول سیستم DNS بایستی نکات زیر را رعایت کنید تا اطلاعات مهم و حساس از شبکه شما به بیرون نشت نکند :

وظیفه اصلی یک سرویس دهنده DNS آنست که اسامی ماشینها را به آدرس IP بنگارد سرویس دهنده پست الکترونیکی (Mail Setver) و سرویس دهنده DNS را تعیین نماید . لزومی ندارد تا با رکوردهای HINFO نوع سخت افزار و نرم افزار ماشین را مشخص نمایید ، هیچگونه اطلاعات اضافی احتیاج نیست . حتی الامکان از رکوردهای TXT برای ارائه اطلاعات اضافی در مورد ماشینها استفاده نکنید . چه لزومی دارد که نوع CPU یا سیستم عامل خود را تبلیغ کنید . این اطلاعات بیش از آنکه نفعی داشته باشد ، بر علیه شبکه شما استفاده خواهد شد .

انتخاب نام برای هر ماشین باید به نحوی باشد که در مورد نوع سخت افزار یا نرم افزار آن ماشین اطلاعاتی ارائه نکند . مثلاً انتخاب نام ntftp یا sunftp یا HPUNIX بهیچوجه صحیح نیست .

از انتقال کامل رکوردهای مرتبط با یک نام حوزه (Zone Transfer) جلوگیری کنید. معمولاً عمل Zone Transfer فقط برای انتقال رکوردها ( بصورت کامل ) از DNS اولیه به DNS ثانویه کاربرد دارد . ( تا DNS ثانویه با DNS اولیه هماهنگ شده و در فواصل زمانی مشخص به روز شود) لذا باید سرویس دهنده DNS را به نحوی پیکربندی کنید تا از انتقال کامل رکوردها جلوگیری به عمل آید . در سرویس دهنده های DNS که با نامBIND (‌درمحیط یونیکس یا سولاریس) عرضه می شود با استفاده ازگزینه های xfenets , allow-transfer می توان بدقت ماشینهایی را که اجازه دریافت رکوردهای کامل دارند ، تعیین کرد . این ماشینها از طریق آدرس IP مشخص می شوند و بقیه ماشینها از دسترسی به رکوردهای کامل منع خواهند شد .

دیوار آتش شبکه خود را به نحوی پیکربندی کنید که پورت شماره TCP-53 را کاملاً مسدود کند . دقت کنید که سرویس دهنده DNS از پورت TCP-53 برای انتقال کامل رکوردها (Zone Transfer) استفاده می کند در حالی که بسته های پرس و جوی DNS از شماره پورت UDP-53 بهره می گیرد . لذا بسته شدن پورت شماره TCP-53 از انتقال کامل رکوردها جلوگیری به عمل خواهد آورد .

در پیکربندی شبکه خود از " DNS دو بخشی " (Split DNS) استفاده نمایید . در این پیکربندی شما باید دو ماشین را بعنوان سرویس دهنده DNS در نظر بگیرید . یکی از این ماشینهای DNS و بخش عمومی شبکه شما و به منظور سرویس دهی به کاربران کل شبکه اینترنت پیکربندی می شود . ماشین DNS دوم در درون شبکه داخلی شما راه اندازی و پیکربندی می شود و صرفاً به کاربران درونی شبکه سرویس می دهد و دسترسی های بیرونی به آن از طریق دیوار آتش غیر ممکن است . حال شما آزادی عمل دارید : در DNS عمومی فقط رکوردهایی درج می شوند که ماشینهای بخش عمومی شبکه را مشخص و تعریف کرده اند . این DNS حداقل اطلاعات لازم را در اختیار می گذارند بنابراین یک کاربر خارجی نمی تواند از طریق این DNS در مورد نام ماشینهای درون شبکه داخلی شما اطلاعاتی را بدست بیاورد . DNS اختصاصی در شبکه داخلی تمام ماشینهای درونی شبکه را تعریف کرده و می تواند به هر تعداد رکورد داشته باشد . این رکوردها فقط در اختیار کاربران شبکه داخلی قرار می گیرد . در حقیقت " DNS دو بخشی " کمک می کند تا بتوان رکوردهای عمومی و رکوردهای اختصاصی را از هم تفکیک کرده و سطوح دسترسی را کنترل و نظارت کرد .]

DNS داخلی تمام ماشینهای داخلی را تعریف کرده و رکوردهای آن در اختیار کاربران داخلی قرار می گیرد . وقتی یک کاربر خارجی می خواهد از ماشینهای بخش عمومی شبکه شما سرویس بگیرد فقط به سرویس دهنده DNS خارجی شبکه احتیاج خواهد داشت . رکوردهای این DNS بسیار محدود است و فقط ماشینهای بخش عمومی شبکه را تعریف کرده است . هر گاه کاربران داخلی بخواهند با دنیای خارج در ارتباط باشند و نامهای حوزه خارجی را تحلیل و ترجمه نمایند ، تقاضای خود را به سوی DNS داخلی خود ارسال می کنند و DNS داخلی نیز چون دسترسی مستقیم به دنیای خارج ندارد این تقاضا را به DNS خارجی ارسال می نماید. درحقیقت DNS داخلی نقش یک پراکسی(وکیل) را بازی می کند . وظیفه تحلیل نامهای خارجی کلاً بعهده DNS خارجی است. پس از تحلیل و ترجمه نام سرویس دهنده DNS رکوردهای پاسخ را به DNS داخلی ارسال می نماید . سرویس دهنده DNS داخلی نسخه را برای ماشین کاربر درون شبکه ارسال می نماید .

البته دیوار آتش به گونه ای پیکربندی شده که ارتباط DNS داخلی و DNS خارجی مجاز است ولی ارتباط هیچ ماشین درونی با DNS خارجی و همچنین ارتباط ماشینهای خارجی با DNS درونی غیر مجاز و توسط دیوار آتش جلوگیری می شود .

پایان