RAID-1 و قالب بندی پایین (و یا فایل خراب شدن)، شانس بیشتری برای بازیابی اطلاعات؟

در RAID-1، نوشتن به آرایه همیشه معادل نوشتن به هر درایو به صورت جداگانه است.

اما اگر من آن ها را جدا کنم و آنها را به عنوان درایوهای جداگانه وصل کنم، آیا احتمال بیشتری برای بازیابی فایل ها دارم؟

در تئوری هر درایو ممکن است در طول زمان آسیب دیده باشد. یک بخش آسیب دیده که برای خواندن برای بازگشت بیش از حد طول می کشد یا بار دیگر بیشتر از حد معمول است، به یک بخش جدید کپی می شود و بخش قبلی به عنوان غیر قابل استفاده مشخص می شود. این بخش remapping می تواند بخش هایی که قبلا نوشته شده اند را بدون تغییر حتی پس از رونویسی تمام درایو را ترک کند. این خاص نیست، اما اتفاق می افتد. به طور طبیعی، با استفاده از دو درایو، احتمال وقوع این اتفاق دو برابر می شود.

یک یادداشت کوچک: اکثر دستگاه های RAID یک فراداده کوچک در ابتدای هر درایو ذخیره می کنند که شامل اطلاعات اساسی مانند UUID، شماره درایو، حالت درایو، سطح آرایه، و غیره این متادیته زمانی که شما به آرایه می نویسید لمس نمی شود. اگر به هر دلیلی، شما معتقدید که داده های قدیمی و غیر استفاده شده که در آن ناحیه ابرداده جای نگرفته اند (که بعید است به طور معمول در ابتدای چند صد بخش از هر درایو باشد)، سپس نوشتن در آرایه ممکن نیست کافی نیست چون آن را بازنویسی نمی کند. این بسیار بعید است هر چند، و فقط به خاطر کامل بودن در اینجا ذکر شده است.

من همیشه تصور می کردم که یک راننده اصلی از راه اندازی RAID-1 وجود دارد، و کنترل کننده به نحوی "هوشمند" و انجام برخی از ترفندهای بهینه سازی است که منجر به حفظ برخی از داده های حذف شده در یکی از درایو ها می شود.

RAID-1 شامل یک درایو "master" نیست. در آن سطح حمله، هر درایو یک کلون کامل از هر درایو دیگر است. کنترل کننده از هیچ "ترفندهای" استفاده نخواهد کرد که موجب حفظ اطلاعات در یکی از درایوها شود. به همین دلیل است که نوشتن یک آرایه RAID-1 با سرعت کمترین سرعت درایو محدود می شود، زیرا هیچ بهینه سازی در حال انجام نیست و نوشتن تنها زمانی شروع می شود که به هر درایو در آرایه ارسال می شود.

حالا، آیا اشتباه میکنم؟ باید RAID-1 و فرمت سطح پایین (یا تقسیم شده) آنها را به طور جداگانه غیرفعال کنید تا اطمینان حاصل شود که داده ها از بین رفته است.

نوشتن در آرایه RAID-1 کارکردی برابر با نوشتن دو بار به هر درایو شخصی است. هر چیزی که شما در آرایه نوشتید، به صورت همزمان تکثیر و ضبط خواهد شد. توجه داشته باشید، با این حال، یک فرمت سطح پایین ممکن است کافی نباشد، در صورتی که در واقع تمام داده ها را بازنویسی نکند. کافی بودن آن بستگی به نرم افزار دقیق و سیستم فایل مورد استفاده شما دارد. اما به جای قالب بندی، باید ATA Security Erase را استفاده کنید. این یک ویژگی سیستم عامل درایوهای مدرن است که حذف خودکار تمام اطلاعات از سطح پایین را دارد. این می تواند چند ساعت در درایو های قدیمی تر و یا چند ثانیه در درایو های جدید که از SED استفاده می کنند. ATA Security Erase ممکن است با RAID کار نکند اگر نرم افزار از آن پشتیبانی نکند، در این صورت شما بایستی آرایه را قطع کنید و دستور را به هر یک از درایو صادر کنید.

چگونه می توان حساب ها را در پایگاه داده های نشت یافته بر مبنای نام دامنه در آدرس ایمیل پیدا کرد؟

من دوست دارم در دیتابیس های نشت یافته براساس نام دامنه مرتبط با آدرس ایمیل نشت پیدا کنم. پایگاه های داده های عمومی مانند https://haveibeenpwned.com/ این توانایی را دارند تا حدی. جستجو تنها زمانی ممکن است که آدرس ایمیل کامل شناخته شده باشد یا حوزه تأیید شده باشد.

به نظر می رسد که این ویژگی Hasibeenpwned.com را ارائه نمی کند، اگرچه درخواست ویژگی مربوطه را در اینجا پیدا کردم: https://haveibeenpwned.uservoice.com/ forums / 275398-general / suggestions / 19170856-add-domain-search-function-to-api-functions که ظاهرا به علت تعداد کم شمارش آرا به نظر نمی رسد بسیار محبوب هستند. هر چند رأی دادن را رد کنید

آیا سرویس دیگری (API) شناخته شده است که قابلیت جستجوی حساب های نشت شده بر اساس نام دامنه را فراهم می کند؟

من علاقه مند به گزینه جمع آوری، نمایه سازی و تجزیه و تحلیل پایگاه های داده شده به اندازه کافی هستم.

ذخیره سازی داده های مشتری ایمن (انطباق)

من یک نقص داده ای را در بر داشتم که در آن توسعه دهندگان یک سازمان برخی از اطلاعات مشتری PII را در حساب github خود ذخیره کردند. حس مشترک به من می گوید که این چیزی است که به وضوح احمقانه و بی دقت است.
سوال من این است که آیا استانداردهای امنیتی وجود دارد که به طور خاص تنظیم می کند که چگونه و چگونه سازمان باید داده های مشتری ذخیره شده را ذخیره کند؟ من NIST 800-53 را بررسی کرده ام و کمی زحمت کشیدم ولی هیچ راهنمایی روشن نداشتم. مانند مثال اگر سرور پایگاه داده باید در محیط شبکه داخلی کنترل شده پشت فایروال باشد، داده ها رمزگذاری شده و غیره
در مثال نقض اطلاعات، داده ها به سرور عمومی github با تنها یک رمز عبور محافظت از داده ها گذاشته شد و احتمالا این حساب احتمالا به اشتراک گذاشته شد.
هر گونه مراجعه به استانداردهای خاص (و پاراگرافها) بیشتر مفید خواهد بود.

رمزگذاری – اصل تقسیم اطلاعات حساس در سراسر ماشین های مختلف در حال اجرا سیستم عامل های مختلف

فرض کنید شما سعی می کنید اطلاعات را به صورت ایمن ذخیره کنید، از جمله تقسیم آن در ماشین های مختلف (رمزگذاری شده به طوری که آن را غیر قابل خواندن تا زمانی که تمام قطعات از بازیابی). اگر مهاجم الگوریتم و سازگاری شما را تمام دستگاه های خود را می داند، همیشه می تواند داده ها را بازیابی کند، بنابراین همیشه احتمال این اتفاق غیر صفر وجود دارد. اما شما می خواهید احتمال را تا آنجا که ممکن است کاهش دهید.

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

اجرای سیستم عامل های مختلف بدین معنی است که احتمال ریسک یک ماشین مستقل از احتمال ریسک کردن ماشین های دیگر است. اگر شما سه ماشین دارید و همه آنها ویندوز سرور را اجرا می کنید، و در یک قاب زمانی معین، 10٪ احتمال پیدا کردن یک آسیب پذیری در ویندوز سرور وجود دارد که به شما اجازه دسترسی به دستگاه را می دهد، 10٪ از آسیب پذیری تمام سیستم، زیرا پس از آن شما تمام سه ماشین را می گیرید. اما اگر سه ماشین وجود داشته باشد، هر یک از سیستم عامل های مختلفی را اجرا می کنند و برای هر سیستم عامل 10٪ از آسیب پذیری را در آن سیستم عامل پیدا می کنند و احتمال برای هر سیستم عامل مستقل است؛ سیستم

شما همچنین می توانید داده ها را با یک کلید جدید دوباره رمزگذاری کنید و سپس کلید جدید را تقسیم کنید. سپس مهاجم تنها سیستم را از بین می برد اگر همه ی ماشین ها را در یک زمان مشابه قبل از رمزگذاری مجدد سازش کند.

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

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

پایگاههای داده – محدود کردن نوردهی کد منبع

می گویند شما به تکنسین های مرکز داده (یا مدیریت) اعتماد ندارید، اما هیچ گزینه دیگری از میزبانی برنامه وب خود را با آنها ندارید.

همچنین می گویید که می خواهید برخی از فایل ها را غیر قابل دسترسی به افرادی که دسترسی به

سوال
چگونه تنظیمات زیر را در تأمین کد منبع و سایر فایل های حساس تأثیر می گذارد؟

روش حفاظت:

فرض کنید که برنامه از ستون زیر استفاده می کند:
LEMP + Redis + Node (Websocket)

A. یک پیکربندی زمانی

  1. غیر فعال کردن خودکار راه اندازی Nginx، Redis و MySQL
  2. یک پوشه ریشه برای یک پارتیشن RAMDISK ایجاد کنید:
    mkdir -p / media / private
  3. تغییر دایرکتوری داده MySQL به / media / private / mysql

B. پس از هر بار راه اندازی مجدد

  1. پارتیشن RAMDISK را ایجاد و نصب کنید:
    mount -t tmpfs -o size = 2048M tmpfs / media / private /
  2. دایرکتوری زیر را در زیر / media / private
  3. فایل های داده MySQL را آپلود کنید، فایل پیکربندی Nginx، پرونده های SSL cert، فایل پیکربندی Redis، فایل های منبع پی اچ پی و پرونده های پرونده های گره را در زیر پوشه مناسب / media / private
  4. سرور با پیکربندی سفارشی
  5. شروع سرور MySQL
  6. شروع Nginx با پیکربندی سفارشی