Mongodb

پیاده سازی الزامات امنیتی دیتابیس MongoDB – گام دهم

مطالبی که در پیش رو داریم لیستی از چک لیست امنیتی و اقدامات امنیتی است که باید برای حفاظت از نصب دیتابیس MongoDB خود انجام داده و همواره به یاد داشته باشید.

این مطالب در چند گام مختلف ارائه خواهد شد

انتشار محتوای سایت ایران سایبر فقط با ذکر منبع رسمی مجاز است 

گام دهم :

ارتقاء از احراز هویت Keyfile به احراز هویت x.509

جهت ارتقاء خوشه هایی که در حال حاضر از احراز هویت keyfile به احراز هویت x.509 در حال استفاده هستند ، از فرآیندهای upgrade  زیر استفاده کنید.

خوشه هایی که در حال حاضر از TLS / SSL استفاده می کنند

خوشه هایی که از TLS / SSL و احراز هویت keyfile استفاده می کنند ، برای ارتقا به احراز هویت خوشه x.509 ، از روند  upgradeزیر استفاده کنید :

۱ . برای هر نود یک خوشه ، نود مربوطه را با گزینه clusterAuthMode به  sendKeyFile- – تنظیم کرده و گزینه sslClusterFile – – را در مسیر مناسب نودها تنظیم کنید . این پیکربندی شامل سایر گزینه های TLS / SSL می باشد و همچنین هر گزینه دیگر که برای پیکربندی خاص شما مورد نیاز است را دارا می باشد .

مثلا:

mongod --replSet <name> --sslMode requireSSL --clusterAuthMode sendKeyFile --sslClusterFile <path to membership certificate and key PEM file> --sslPEMKeyFile <path to TLS/SSL Certificate and key PEM file>  --sslCAFile <path to root CA PEM file> --bind_ip localhost,<hostname(s)|ip address(es)>

با استفاده از این پیکربندی ، هر نود همچنان از فایل اصلی خود برای احراز هویت به عنوان یک عضو استفاده می کند . با این حال ، هر نود می تواند تمامی فایل های کلیدی یا یک Certificate x.509 از دیگر اعضا برای تأیید اعتبار آن اعضا را بپذیرد . تمام گره های خوشه را به این مدل پیکربندی ارتقا دهید .

۲ . سپس برای هر نود یک خوشه ، به نود مربوطه متصل شده و از دستور setParameter استفاده کنید تا clusterAuthMode را برای sendX509 به روز کنید . به عنوان مثال :

db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )

با استفاده از این پیکربندی ، هر نود می تواند از گواهی x.509 خود استفاده کند که با گزینه  sslClusterFile – – در مرحله قبل برای تأیید اعتبار خود به عنوان یک عضو مشخص شده است . با این حال ، هر نود یا همچنان یک keyfile را قبول می کند یا یک Certificate x.509 از دیگر اعضا برای احراز هویت این اعضا می پذیرد .

تمام نود های خوشه را به این پیکربندی ارتقا دهید.

۳ . (اختیاری اما توصیه می شود) در نهایت برای هر نود خوشه ، به نود مربوطه متصل شده و از دستور setParameter برای به روز رسانی clusterAuthMode به x509 استفاده کنید تا فقط از گواهی x.509 برای احراز هویت استفاده کند. به عنوان مثال :

db.adminCommand( { setParameter: 1, clusterAuthMode: "x509" } )

پس از ارتقاء تمام نود ها ، فایل پیکربندی مربوطه را با تنظیمات مناسب x.509 ویرایش کنید تا مطمئن شوید که پس از راه اندازی مجدد ، خوشه از احراز هویت x.509 استفاده می کند.

clusterAuthMode – – را برای حالت های مختلف می توانید مشاهده کنید.

خوشه هایی که در حال حاضر از TLS / SSL استفاده نمی کنند

خوشه های که احراز هویت keyfile را دارا می باشند اما از TLS / SSL استفاده نمیکنند ، برای ارتقاء به احراز هویت x.509، از روند upgrade زیر استفاده کنید :

  • شروع نود با گزینه sslMode – – تنظیم به allowSSL

  • تنظیم گزینه  clusterAuthMode – –  به sendKeyFile

  • تنظیم گزینه  sslClusterFile – – به مسیر مناسب گواهی نود

این پیکربندی شامل سایر گزینه های TLS / SSL و همچنین گزینه  های متفاوتی که برای پیکربندی خاص شما مورد نیاز است. مثلا:

mongod --replSet <name> --sslMode allowSSL --clusterAuthMode sendKeyFile --sslClusterFile <path to membership certificate and key PEM file> --sslPEMKeyFile <path to TLS/SSL certificate and key PEM file> --sslCAFile <path to root CA PEM file> --bind_ip localhost,<hostname(s)|ip address(es)>

پیکربندی sslMode allowSSL – – این اجازه را می دهد که نود هر دو TLS / SSL و اتصالات ورودی غیر TLS / غیر SSL را قبول کند . اتصالات خروجی آن از TLS / SSL استفاده نمی کند.

پیکربندی  clusterAuthMode sendKeyFile – – اجازه می دهد هر نود همچنان بتواند از keyfile خود برای احراز هویت به عنوان یک عضو استفاده کند. با این حال، هر نود می تواند هر یک از keyfile ها یا یک Certificate x.509 از دیگر اعضا را برای احراز هویت آن اعضا بپذیرد.

۲ . سپس برای هر نود یک خوشه ، باید به نود متصل شوید و از دستور setParameter برای به روز رسانی sslMode برای preferSSL استفاده کنید و از دستور clusterAuthMode برای sendX509 .

  مثلا:

db.adminCommand( { setParameter: 1, sslMode: "preferSSL", clusterAuthMode: "sendX509" } )

با پیکربندی sslMode به preferSSL ، نود مربوطه میتواند TLS / SSL و اتصالات ورودی غیر TLS / غیر SSL را قبول کند .

با استفاده از clusterAuthMode برای sendX509 ، هر نود از گواهی x.509 خود استفاده می کند . برای همین گزینه sslClusterFile – – در مرحله قبل برای تأیید اعتبار خود به عنوان یک عضو مشخص شده است . با این حال هر نود همچنان می تواند یک keyfile یا یک Certificate x.509 از دیگر اعضا برای احراز هویت را بپذیرد .

۳ . (اختیاری اما توصیه می شود) : در نهایت برای هر نود از خوشه ، به نود مربوطه متصل شده و از دستور setParameter برای به روز رسانی sslMode به requireSSL و clusterAuthMode به x509 استفاده کنید.

به عنوان مثال:

db.adminCommand( { setParameter: 1, sslMode: "requireSSL", clusterAuthMode: "x509" } )

با استفاده از پیکربندی sslMode  به requireSSL  ، نود فقط از اتصالات TLS / SSL استفاده می کند.

با استفاده از پیکربندی clusterAuthMode به x509 ، نود مربوطه تنها از گواهی x.509 برای احراز هویت استفاده می کند.

۴ . پس از ارتقاء تمامی نود ها ، فایل پیکربندی را با تنظیمات مناسب TLS / SSL و x.509 ویرایش کنید تا اطمینان حاصل شود که پس از راه اندازی مجدد ، خوشه از احراز هویت x.509 استفاده می کند.

 

 

پایان گام دهم
ادامه دارد …

سرفصل گام یازدهم : 

( Encryption at Rest ( Configure Encryption – Rotate Encryption Keys 

 

گردآورنده : سید محمد اسماعیلی

 

 

 

نوشته های مرتبط

مدیریت دستگاه های IOT

۰۵

آبان
همه موضوعات

مدیریت از راه دور دستگاه های IOT با استفاده از ابزار Upswift

انتشار محتوای سایت ایران سایبر فقط با ذکر منبع رسمی مجاز است اگر فقط از یک دستگاه IoT استفاده می کنید و درحال توسعه پروژه های خود هستید، به روزرسانی و مدیریت آن سریع و آسان است. اما اگر ۱۰ ، ۵۰ یا ۱۰۰ دستگاه داشته باشید چه می کنید؟ مدیریت همه آنها ناگهان به یک دردسر […]

رکوردهای DNS

۱۹

مهر
همه موضوعات

مدیریت رکوردهای DNS با DNStable

یافتن اطلاعات در مورد سوابق DNS فرآیندی است که متخصصان امنیتی با عملیات های خاصی انجام می دهند. این اطلاعات از چند طریق قابل دستیابی است که در این مقاله به آنها خواهیم پرداخت. مشکل این است که بیشتر ابزارها برای یافتن سوابق DNS به روز شده و استفاده از آنها دشوار است. بیشتر متخصصان با تجربه[…]