پیروی PCI و انتقال داده کارت

من خواندن کرده ام که PCI تجار را برای نگهداری شش و چهار رقم آخر مجبور می کند حداکثر رقم هایی باشد که ممکن است
نمایش داده شده / ذخیره شده است.
من سعی می کنم آنچه را که در رابطه با انتقال کارت لازم است پیدا کنم. e.g. آیا مشتری یک وب سایت (اگر بخواهد) شماره PAN و شماره CC (نه پنهان) را ارسال کند، اما توسعه دهنده آن را همانطور که توسط PCI مورد نیاز است ذخیره می کند؟ بنابراین PCI تنها در مورد ذخیره سازی از دیدگاه بازرگان است، اما چگونه مشتری آن را به فروشنده ارسال می کند بی اهمیت است

متشکرم

رمزگذاری – فرمت متداول برای ارسال داده های رمز شده + نمک؟

برنامه ای دارم که از پرونده های مختلف از شخص ثالث دریافت می کند: MQTT، HTTP، AMQP، …
برخی از مشتریان نمی توانند از TLS استفاده کنند (دستگاه iot بدون پشتیبانی TLS)، بنابراین ما باید یک کامپایلر و راه آسان برای دریافت داده های رمز شده.

ایده من این است که از یک الگوریتم متقارن (AES256 یا مشابه) استفاده کنم، اما چگونه می توانم فرموله کنم چگونه داده ها ارسال شوند؟

همراه با داده های رمز شده، ما باید یک نمک و یک بروزرسانی اولیه . یک فرمت معمولی "container" وجود دارد که توضیح میدهد که چگونه باید بسته encryptedData + نمک + IV

، شاید با استفاده از ASN.1 و یا برخی از فرمت سریال سازی دیگر، اما اگر چیزی وجود دارد، آن را آسان تر برای توضیح به تمام توسعه دهندگان.

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

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

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

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

روش حفاظت:

فرض کنید که برنامه از ستون زیر استفاده می کند:
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 با پیکربندی سفارشی

رمزگذاری – چگونه رمزگذاری / رمزگشایی اطلاعات در برنامه سرور، و ارسال آن به پایگاه داده رمزگذاری شده است؟

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

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

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

(این فرض است که پشتیبان گیری برای پایگاه داده خودشان رمزگذاری می شوند).