کتاب Advanced ASP.NET Core 8 Security, 2nd Edition: Move Beyond ASP.NET Documentation and Learn Real Security (امنیت پیشرفته ASP.NET Core 8، ویرایش دوم: فراتر از مستندات ASP.NET بروید و امنیت واقعی را بیاموزید) به شما کمک میکند تا درک عمیقتری از امنیت در برنامههای ASP.NET Core پیدا کنید. این کتاب با نگاهی متفاوت به امنیت، به جای تکیه صرف بر مستندات رسمی، شما را با بهترین شیوههای امنیتی که توسط متخصصان امنیت توصیه میشود، آشنا میکند.
با مطالعه کتاب Advanced ASP.NET Core 8 Security، میتوانید نقاط ضعف امنیتی موجود در چارچوب ASP.NET Core را شناسایی کرده و راهکارهای عملی برای بهبود امنیت برنامههای خود پیدا کنید.
همچنین، کتاب Advanced ASP.NET Core 8 Security شما را با مفاهیم کلیدی امنیت مانند رمزنگاری، اعتبارسنجی ورودی کاربر، مدیریت دسترسی و بسیاری موارد دیگر آشنا میکند. با استفاده از این کتاب، شما قادر خواهید بود تا برنامههای ASP.NET Core ایمنتر و مقاومتری در برابر حملات سایبری ایجاد کنید.
در ادامه مقدمهای از کتاب Advanced ASP.NET Core 8 Security را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Advanced ASP.NET Core 8 Security:
بسیاری از افراد، به عنوان یک نویسنده منتشر شده، از من میپرسند که ایده کتاب را از کجا بیاورم. در حالی که به طور کلی نمیتوانم به شما بگویم که مردم چگونه ایده کتاب را پیدا میکنند، اما میتوانم به شما بگویم که چگونه ایده کتاب Advanced ASP.NET Core 8 Security را پیدا کردم.
در حال یادگیری نوعی تست امنیتی بودم که تعداد زیادی درخواست را به وبسایت ارسال میکند تا مشکلات امنیتی را پیدا کند. صفحهای طراحی کردم تا درخواستهایی را که وبسایت دریافت میکند ثبت کند تا بفهمم چه کاری انجام میدهد. پس از دیدن نتایج، از خودم پرسیدم: چرا ASP.NET این درخواستها را نمیبیند و متوقف نمیکند؟
تلاش برای پاسخ به این سوال منجر به کاوش در کد منبع ASP.NET Core (که در آن زمان فقط در نسخه ۱.۱ بود) و سپس ایجاد محصولی شد که حملات دست و پا چلفی مانند حملاتی که این اسکنرها ارسال میکنند را ببیند و متوقف کند.
هیچ کس محصول را نخرید، اما من چیزهای زیادی در مورد نحوه عملکرد و عدم عملکرد ASP.NET Core در زمینه امنیت یاد گرفتم. به دنبال منابع دیگری – کتابها، وبلاگها، مقالات سفید، هر چیزی – گشتم که به توسعهدهندگان نرمافزار کمک کند تا آنچه من یاد گرفتهام را بیاموزند و هیچکدام را پیدا نکردم.
تعداد منابع کمی برای توسعهدهندگان ASP.NET برای یادگیری امنیت وجود داشت و منابع موجود بر روی آنچه مایکروسافت گفت شما باید برای ایمن کردن وبسایتهای ASP.NET Core خود انجام دهید، تمرکز داشتند.
این مسئله چهار سال بعد هم صادق است – صادقانه بگویم جای دیگری را نمیشناسم که شخصاً برای توصیه به توسعهدهندگان نرمافزار برای درک امنیت واقعی احساس راحتی کنم.
کتاب Advanced ASP.NET Core 8 Security، منبعی است که شبیه هیچ منبع دیگری در بازار پیدا نکردهام. هدف من این است که به شما کمک کنم سوالات درستی را در مورد امنیت بپرسید.
گاهی اوقات، پاسخ به آن سوالات در تنظیمات یا پیکربندیهای درون ASP.NET Core قرار میگیرد، و من تمام تلاشم را میکنم تا در صورت وجود آنها را به شما نشان دهم.
گاهی اوقات، پاسخی به سوالات امنیتی شما در داخل فریمورک وجود نخواهد داشت، و من تمام تلاشم را میکنم تا به شما نشان دهم در چنین مواقعی چه کاری باید انجام دهید. اما مهمتر از همه، برای هر چیزی که به شما نشان ندادهام، ابزارهایی خواهید داشت تا سوالات درستی بپرسید و به تنهایی به دنبال پاسخ بگردید.
کتاب Advanced ASP.NET Core 8 Security برای چه کسی است؟
کتاب Advanced ASP.NET Core 8 Security را عمدتاً برای توسعهدهندگان نرمافزاری نوشتهام که تجربه عملی توسعه با ASP.NET Core دارند. این شامل برخی از دانش بسیار پایه در مورد HTML، CSS و جاوااسکریپت است. اگر تجربه کار با ASP.NET MVC (Framework) دارید، احتمالاً بدون نیاز به مطالعه زیاد یا بدون آن، به سرعت پیشرفت خواهید کرد.
اگر تجربه شما عمدتاً با ASP.NET WebForms است، ارزشش را دارد که چند ساعت را صرف ایجاد یک وبسایت با یکی از نسخههای Core یا MVC کنید و قبل از ورود به کتاب Advanced ASP.NET Core 8 Security با نحوه عملکرد آن آشنا شوید.
شما نیازی به دانستن هیچ چیز در مورد امنیت قبل از شروع ندارید. اگر از قبل بهترین شیوههای امنیتی توصیه شده توسط تیم ASP.NET را بدانید، مفید خواهد بود تا بتوانید توضیحات من را در مورد چگونگی و مکانهایی که این بهترین شیوهها از آنچه من امنیت واقعی میدانم کم میآورند، بهتر درک کنید، اما این دانش به هیچ وجه مورد نیاز نیست.
اگر یک متخصص امنیت هستید که به دنبال یادگیری نحوه رفع مشکلات درون ASP.NET Core هستید، بیشتر اطلاعات مورد نیاز خود را در اینجا پیدا خواهید کرد. شاید بخواهید فصلهای ۱ تا ۳ کتاب Advanced ASP.NET Core 8 Security را به صورت گذرا مرور کنید، و اگر تجربه تست نفوذ دارید، فصل ۴ را نیز به صورت گذرا مرور کنید، زیرا شیرجه عمیق به خود ASP.NET Core از فصل ۵ شروع میشود.
بررسی اجمالی کتاب Advanced ASP.NET Core 8 Security در اینجا خلاصهای از هر فصل آورده شده است تا بدانید به کجا میرویم.
فصل ۱ – مقدمهای بر امنیت
صحبت در مورد چگونگی اعمال مفاهیم مرتبط با امنیت بدون درک مشترک از اینکه امنیت چیست (و چه چیزی نیست) دشوار است.
این فصل از کتاب Advanced ASP.NET Core 8 Security، با تعریف منظور خود از «امنیت»، بررسی برخی از تصورات اشتباه رایج در مورد کارهایی که مجرمان هنگام حمله به وب سایت شما انجام میدهند و نمیدهند، و همچنین بحث در مورد استانداردها و مقررات ممکن است برای اثبات به دیگران که به درستی از خود و مشتریان خود محافظت میکنید، نیاز به رعایت آنها داشته باشید، درک مشترکی از امنیت ایجاد میکند.
فصل ۲ – بررسی اجمالی امنیت نرم افزار
پس از اینکه متوجه شدیم امنیت چیست، فصل ۲ کتاب Advanced ASP.NET Core 8 Security به مفاهیم امنیتی میپردازد که برای اکثر پروژههای نرم افزاری کلی هستند اما ممکن است در مطالعات شما در مورد توسعه نرم افزار پوشش داده نشده باشند.
در اینجا شما در مورد مدلسازی تهدید، تکنیکی که توسط متخصصان امنیت برای یافتن نقاط ضعف امنیتی در طراحی معماری شما استفاده میشود، یاد خواهید گرفت و همچنین شروع به درک مفاهیمی میکنید که اگر میخواهید وبسایتهایی بسازید که به طور منطقی در برابر حملات مجرمانه ایمن باشند، نیاز دارید بدانید.
فصل ۳ – امنیت وب
در فصل ۳ کتاب Advanced ASP.NET Core 8 Security، عمیقتر به نحوه عملکرد وبسایتها میپردازیم. این شامل نحوه اتصال مرورگر به سرور، مرور کلی بر روی سربرگهای مرتبط با امنیت و مسائل مربوط به ذخیره سازی داده میشود. شما احتمالاً برخی از مطالب ارائه شده را قبلاً میدانید، اما امیدوارم ما در این فصل عمیقتر از گذشته به این موضوعات بپردازیم.
این فصل با بررسی اجمالی از لیست ده ریسک برتر امنیت برنامههای کاربردی OWASP (پروژه امنیت کاربردی سراسری باز) به پایان میرسد. در حالی که من توصیه نمیکنم از این لیست به عنوان یک منبع قطعی برای هیچ چیزی استفاده کنید، اما این یک منبع عالی برای به دست آوردن یک نمای کلی از نحوه تفکر برخی از متخصصان امنیت در مورد امنیت وب است.
فصل ۴ – تفکر مثل یک هکر
یکی از چالشهای دشوار برای توسعهدهندگان نرمافزار و متخصصان امنیتی با تفکر دفاعی، دانستن این است که آیا یک آسیبپذیری نرمافزاری واقعاً یک مشکل است یا خیر، و اگر چنین است، چقدر جدی است. برای رفع این چالش، شما نیاز به دانستن نحوه سوء استفاده از آسیبپذیریها دارید.
در این فصل از کتاب Advanced ASP.NET Core 8 Security، ابزاری را به شما نشان میدهم که تستکنندگان نفوذ برای آزمایش وبسایتها استفاده میکنند و اصول اولیه نحوه استفاده از آن را توضیح میدهم.
به این ترتیب، شما بهتر از اکثر مردم میدانید که چه چیزی قابل سوء استفاده است یا نیست، بنابراین میتوانید به این سوالات برای خود پاسخ دهید.
فصل ۵ – مقدمهای بر امنیت ASP.NET Core
حالا وقتشه که شروع به کندن کد کنیم! در اینجا بر روی دانش قبلی خود به عنوان یک توسعه دهنده ASP.NET Core بنا خواهیم کرد و توضیح خواهیم داد که سرویسها و واسطهها چگونه کار میکنند، در مورد فیلترها و مکانهایی که استفاده میشوند بحث میکنیم.
نحوه اتصال مدلها توسط فریمورک را شرح میدهیم و تفاوتهای بین MVC و Razor Pages را از دیدگاه امنیتی بررسی میکنیم. اگر برای اولین بار با ASP.NET Core کار میکنید، نحوه راهاندازی و پیکربندی وبسایتها را نیز در اینجا یاد خواهید گرفت.
فصل ۶ – رمزنگاری
رمزنگاری یکی از مفاهیمی است که به نظر من هیچ محصول نرم افزاریای تا به حال به طور کامل آن را درست پیادهسازی نکرده است.
در این فصل از کتاب Advanced ASP.NET Core 8 Security، تفاوتهای میان رمزنگاری متقارن، نامتقارن و هش کردن را یاد خواهید گرفت و اینکه در چه مواقعی از هر کدام استفاده کنید.
همچنین یاد خواهید گرفت که چگونه هر کدام را به درستی اجرا کنید و چطور اشتباهات موجود در مقالات آنلاین را تشخیص دهید. سپس از این اطلاعات برای محافظت از دادههای خود در برابر دسترسیهای غیرمجاز استفاده خواهیم کرد.
فصل ۷ – پردازش ورودی کاربر
قطعا در این فصل از کتاب Advanced ASP.NET Core 8 Security، مرور کلی بر نحوهی اعتبارسنجی صحیح ورودی کاربر خواهیم داشت، که با مرور مجدد بر تکنیکهایی که احتمالا قبلا از آنها استفاده کردهاید، شروع میشود.
با این حال، مهمتر از آن، به شما نشان خواهم داد که این تکنیکها در صورت اشتباه (از جمله اشتباهاتی که خودم در طول حرفهام مرتکب شدهام) چگونه کارایی خود را از دست میدهند و به جای آنها چه کاری باید انجام دهید. همچنین، چگونگی بهبود دفاعهایی که تیم ASP.NET در فریمورک گنجاندهاند را به شما نشان خواهم داد.
فصل ۸ – دسترسی و ذخیرهسازی دادهها
فریمورک .NET اکنون چند دهه است که دفاعی بسیار مستحکم در برابر اکثر حملات به پایگاه داده دارد. با وجود این، حملات تزریق کد به پایگاه داده همچنان رایج هستند. Entity Framework به صورت پیشفرض از اکثر این حملات جلوگیری میکند.
اما استفاده از Code-First EF (EF مبتنی بر کد)، به شیوهای که در اکثر مستندات توصیه میشود، در کنار استفاده از کوئریهای سفارشی، همچنان میتواند شما را در برابر حملات مبتنی بر پایگاه داده آسیبپذیر کند. ما در این فصل به این موارد و همچنین به پایگاههای داده NoSQL و روشهای منحصربهفرد برای مدیریت دستکاری رشتههای کوئری خواهیم پرداخت.
فصل ۹ – احراز هویت و مجوزدهی
اکثر وبسایتها نیاز دارند تا کاربرانی که به وبسایت دسترسی پیدا میکنند را ردیابی کنند و پس از ورود، مجوزهای آنها را اعمال نمایند. ASP.NET Core راهحلهای خوبی برای این مشکلات ارائه میدهد، مگر اینکه بخواهید از برخی حملات مدرن جلوگیری کنید و یا نیاز به مطابقت با مقررات مربوط به مراقبتهای بهداشتی یا پرداختها داشته باشید.
این فصل از کتاب Advanced ASP.NET Core 8 Security، مشکلاتی را که فریمورک در این زمینهها دارد، به طور خلاصه شرح میدهد و راهحلهایی را پیشنهاد میکند که میتوانید در وبسایتهای خود پیادهسازی کنید.
فصل ۱۰ – امنیت پیشرفته وب
تا اینجا، کتاب Advanced ASP.NET Core 8 Security بر روی روشهای ایمنسازی یک وبسایت معمولی سرویسگیرنده/سرودهنده (Client/Server) که با ASP.NET Core ساخته شده است، تمرکز کرد.
با این حال، اکثر وبسایتهای مدرن به این سادگی نیستند و اغلب فریمورکهای جاوا اسکریپت را پیادهسازی میکنند، با APIها ادغام میشوند، با ارائهدهندگان داده شخص ثالث یکپارچه میشوند و غیره. این فصل بسیاری از مسائلی را که ممکن است هنگام ساخت وبسایتهای مدرن با آنها مواجه شوید را پوشش خواهد داد.
فصل ۱۱ – لاگگیری و مدیریت خطا
لاگگیری و مدیریت خطا احتمالا هیجانانگیزترین موضوعات نیستند و ممکن است وسوسه شوید که از این فصل عبور کنید. اما اگر نتوانید مجرمان را شناسایی کنید، چگونه میتوانید آنها را متوقف کنید؟
و در حالی که ASP.NET Core نسبت به نسخه قبلی خود چندین ارتقاء در لاگگیری داشته است، لاگگیری در Core هنوز از نظر امنیتی جای کار زیادی دارد. ما در این فصل به کمبودهای آن خواهیم پرداخت و راهی بهتر را برای پیشرفت پیشنهاد خواهیم کرد.
فصل ۱۲ – راهاندازی و پیکربندی
با معرفی Kestrel، یک لایه میانی بین وب سرور و فریمورک وب، بخش بیشتری از مسئولیت حفظ امنیت وبسایت در سطح سرور بر عهده توسعهدهنده قرار میگیرد. حتی اگر شما یک توسعهدهنده در یک شرکت بزرگتر با یک تیم دیگر که مسئول پیکربندی وب سرورها هستند، باشید، باید بدانید که چه گزینههای پیکربندی در فریمورک برای شما در دسترس است.
فصل ۱۳ – چرخه عمر توسعه نرمافزار امن (SSDLC)
ساخت نرمافزار و سپس تلاش برای ایمنسازی آن بعداً تقریباً هرگز کار نمیکند. ساخت نرمافزار امن نیازمند این است که امنیت را در هر مرحله از فرآیند خود، از برنامهریزی تا توسعه، آزمایش، استقرار تا پشتیبانی، ادغام کنید.
اگر نسبتاً جدید به امنیت بالغ هستید، شروع چنین فرآیندهایی ممکن است دلهرهآور باشد. این فصل ابزارها و مفاهیمی را پوشش میدهد که به شما کمک میکنند تا تأیید کنید که وبسایت شما به اندازه کافی امن است و به شما کمک میکند تا آن را به همین شکل نگه دارید.
سرفصلهای کتاب Advanced ASP.NET Core 8 Security:
- Table of Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Introduction
- Chapter 1: Intro to Security
- Chapter 2: Software Security Overview
- Chapter 3: Web Security
- Chapter 4: Thinking Like a Hacker
- Chapter 5: Introduction to ASP.NET Core Security
- Chapter 6: Cryptography
- Chapter 7: Processing User Input
- Chapter 8: Data Access and Storage
- Chapter 9: Authentication and Authorization
- Chapter 10: Advanced Web Security
- Chapter 11: Logging and Error Handling
- Chapter 12: Setup and Configuration
- Chapter 13: Secure Software Development Lifecycle (SSDLC)
- Index
جهت دانلود کتاب Advanced ASP.NET Core 8 Security میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.