رفتن به مطلب
  • 0

امنیت نرم افزار آنلاین


امیرحسین قاسمی

سوال

با سلام و احترام،

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

خب چندتا سوال در این رابطه داشتم:

1- طرف اول برنامه قراره اکانت بسازه درسته؟ به عنوان مثال ماهم قراره با شماره همراه اکانت رو وریفای کنیم. حالا یه فردی بیاد لینک ثبت نام رو استخراج کنه و مثلا با پایتون یا هر زبان دیگه بیاد به اون لینک در ثانیه هزاران ریکوئست بفرسته و هربار یه شماره رندوم بهش بده خب کل اعتبار پنل پیامکی من تموم میشه و من بیخود و بی جهت کلی ضرر میکنم! شاید بگید ip رو چک کنید که اگه مثلا در عرض یک ساعت بیشتر از 5 ریکوئست داد دیگه به اون ip جواب نده! اما اون فرد ممکنه روی برنامه ای که نوشته یه پ * ر * و * ک *س * ی هم سوار کنه و ip رو هر چند ثانیه تغییر بده!

2- کلا این برنامه چطور باید کار کنه؟ مثلا همین اینستارو در نظر بگیرید. کاربر میخواد دوستش رو فالو کنه هر سری نام کاربری و رمز عبورش از طریق GET یا POST باید به سرور ارسال بشه و صحتش چک بشه؟ یا باید هنگام ورود به برنامه سشن بزنیم؟

3- هرکاری که بخوایم انجام بدیم به هرحال باید رمز عبور و یوزرنیم و یه سری اطلاعات دیگه داخل گوشی طرف سیو بشه سوالم اینه با توجه به اینکه این موارد رو خود کاربر میدونه باید رمزنگاری شده سیو بشه؟ چرا؟ اگر بله با چه کلیدی باید رمزنگاری کنیم؟ کلید رو که داخل سورس بصورت استرینگ بنویسیم یا از سرور بگیریم یا هرکاری کنیم که به دست میارن!

 

یه سوال دیگه هم داشتم زیاد به موضوع تاپیک ربطی نداره ولی همینجا میپرسم:

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

3 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱۴۰۱/۱/۲۱ در ۲۲:۳۶، امیرحسین قاسمی گفته است:

ثانیه هزاران ریکوئست بفرسته و هربار یه شماره رندوم بهش بده خب کل اعتبار پنل پیامکی من تموم میشه و من بیخود و بی جهت کلی ضرر میکنم!

خیلی جالبه 😅 من تو یه شرکت کار میکردم و نزدیک به یک هفته فقط رو همین موضوع کار کردیم. جالب اینه که تو این مدت تقریبا اکثر برنامه های ایرانی این مشکل رو داشتن و به راحتی پنلشون مورد حمله قرار میگرفت و با یه اسکریپت همین داستانی که فرمودین پیش میومد. این موضوع راه حل داره عزیز اونم کپچا هست. ثبت نام کاربر به هیچ عنوان نباید با api انجام بشه. باید حتما یه صفحه html باشه و تو وب ویو لود بشه. تو این صفحه یه کپچا کد گوگل بزارید و یه اینپوت هم برا شماره. اینجوری دیگه به هیچ عنوان ربات ها نمیتونن دورش بزنن. کاربر مجبوره دونه دونه بشینه و کپچا بزنه و شماره وارد کنه که خب عملا این آدم باید دیوونه باشه.

در ۱۴۰۱/۱/۲۱ در 22:36، امیرحسین قاسمی گفته است:

کلا این برنامه چطور باید کار کنه؟ مثلا همین اینستارو در نظر بگیرید. کاربر میخواد دوستش رو فالو کنه هر سری نام کاربری و رمز عبورش از طریق GET یا POST باید به سرور ارسال بشه و صحتش چک بشه؟ یا باید هنگام ورود به برنامه سشن بزنیم؟

نه عزیز این چه کاریه. شما بعد از ورود کاربر یه توکن بهش اختصاص میدین و با این توکن اعتبار سنجی انجام میشه.

در ۱۴۰۱/۱/۲۱ در 22:36، امیرحسین قاسمی گفته است:

باید رمزنگاری شده سیو بشه؟ چرا؟ اگر بله با چه کلیدی باید رمزنگاری کنیم؟

این مورد اگه رمزنگاری بشه بهتره برای جلوگیری از سرقت رفتن توسط شخص یا برنامه های ثالث. برای رمزنگاری هم روشهای زیادی هست یه نمونه قابل قبول و کار راه اندازش EncryptedSharedPreferences هست که یه کلید رانتایم میسازه و با اون عملیات رمزنگاری و رمزگشایی انجام میشه. برای بیسیک رپش کردم ولی نمیدونم تو انجمن گذاشتم یا نه😊

 

در ۱۴۰۱/۱/۲۱ در 22:36، امیرحسین قاسمی گفته است:

بعد خرید یه سرور مجازی یا اختصاصی و بعد اینکه فایل های لازم رو روی سرور اجرا کردیم باید دقیقا چیکار کنیم؟

این مورد مهمترین مرحله هست.و سوراخهای زیادی باید پوشونده بشه:2: و بسته به سیستم عامل سرور کارها مختلفه. مثلا حتما یه فایروال یا یه cdn خوب ست کنید. تنظیمات وب سرور رو کاملا درست انجام بدین از پورتهای پیشفرض برای نرم افزارها استفاده نکنید و خیلی چیزای دیگه حتما از یه متخصص سرور باید کمک بگیرید اگه خودتون نمیدونید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۱/۱/۲۱ در 23:09، محمدرضا شاهپیری گفته است:

خیلی جالبه 😅 من تو یه شرکت کار میکردم و نزدیک به یک هفته فقط رو همین موضوع کار کردیم. جالب اینه که تو این مدت تقریبا اکثر برنامه های ایرانی این مشکل رو داشتن و به راحتی پنلشون مورد حمله قرار میگرفت و با یه اسکریپت همین داستانی که فرمودین پیش میومد. این موضوع راه حل داره عزیز اونم کپچا هست. ثبت نام کاربر به هیچ عنوان نباید با api انجام بشه. باید حتما یه صفحه html باشه و تو وب ویو لود بشه. تو این صفحه یه کپچا کد گوگل بزارید و یه اینپوت هم برا شماره. اینجوری دیگه به هیچ عنوان ربات ها نمیتونن دورش بزنن. کاربر مجبوره دونه دونه بشینه و کپچا بزنه و شماره وارد کنه که خب عملا این آدم باید دیوونه باشه.

راستش کپچا به ذهن خودمم رسید اما خیلی از نرم افزارها مثل اینستا چطوری کپچا نمیخوان و مشکلی هم براشون پیش نمیاد؟

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

در ۱۴۰۱/۱/۲۱ در 23:09، محمدرضا شاهپیری گفته است:

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

سرچ کردم نبود بنظر باید خیلی جالب باشه. بی زحمت میشه بزارید تو انجمن؟

در ۱۴۰۱/۱/۲۱ در 23:09، محمدرضا شاهپیری گفته است:

نه عزیز این چه کاریه. شما بعد از ورود کاربر یه توکن بهش اختصاص میدین و با این توکن اعتبار سنجی انجام میشه.

یعنی هرسری با هر ریکوئست اون توکن باید فرستاده بشه؟ توکن باید یکبار مصرف باشه و موقع ورود به برنامه در سرور ساخته بشه و بعد به برنامه برگردونده بشه درسته؟

 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۱/۱/۲۱ در ۲۳:۲۰، امیرحسین قاسمی گفته است:

اینستا چطوری کپچا نمیخوان و مشکلی هم براشون پیش نمیاد

عزیز نرم افزارایی مثه اینستا پنل و اینا از خودشونه. مثه ما نیست که هزارتومن شارژ کنه و بعد بخواد یه سالم داشته باشدش. در کل نگران این قضیه نیستن که یکی بیاد اس ام اس بفرسته.

 

در ۱۴۰۱/۱/۲۱ در 23:20، امیرحسین قاسمی گفته است:

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

عزیز اگه خودتون بخواین سیستم کپچا پیاده کنید یه کم کارتون سخت میشه.باید حواستون باشه که الگوریتم تکراری پیش نیاد و دور زده بشه. البته خود کپچا برای اندروید هست ولی اندرویداستودیو هست دیگه.

در ۱۴۰۱/۱/۲۱ در 23:20، امیرحسین قاسمی گفته است:

یعنی هرسری با هر ریکوئست اون توکن باید فرستاده بشه؟ توکن باید یکبار مصرف باشه و موقع ورود به برنامه در سرور ساخته بشه و بعد به برنامه برگردونده بشه درسته؟

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

https://jwt.io/introduction

در ۱۴۰۱/۱/۲۱ در 23:20، امیرحسین قاسمی گفته است:

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

عزیز cdn صرفا واسط بین کلاینت و سرور هست و ربطی به اپتون نداره. شما آپلود رو به شکل معمول انجام میدید و توی اپ خودتون پیاده میکنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...