
آموزش مدیریت خطاها و امنیت در ASP.NET Core
آموزش مدیریت خطاها و امنیت در ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی مدیریت استثناها به روشی ایمن و لاگ کردن داده های امنیتی در اپلیکیشن های وب ASP.NET Core است که با نام اصلی Securely Handling Errors and Logging Security Events in ASP.NET and ASP.NET Core از شرکت Pluralsight منتشر شده است.
ویژگی های امنیتی ASP.NET Core
تکنولوژی ASP.NET Core ابزارها و کتابخانه های زیادی را برای ایمن سازی برنامه های شما از جمله ارائه دهندگان identity داخلی فراهم می کند، اما می توانید از identity سرویس های third-party مانند فیس بوک، توییتر و LinkedIn استفاده کنید. با ASP.NET Core شما می توانید به راحتی اسرار اپلیکیشن را مدیریت کنید، که در واقع راهی برای ذخیره و استفاده از اطلاعات محرمانه، بدون نیاز به افشای آن در کد است.
مقایسه Authentication و Authorization
فرایند Authentication فرایندی است که در آن کاربر اعتبارنامه هایی را ارائه می دهد. سپس با اعتبارهایی که در یک سیستم عامل، پایگاه داده، اپلیکیشن یا منبع ذخیره شده وجود دارند، مقایسه می شوند. اگر آن ها باهم مطابقت داشته باشند، کاربران با موفقیت authenticate میشوند و سپس میتوانند اقداماتی را که برای آنها authorized شدهاند، در طول فرآیند authorization انجام دهند. به عبارت دیگر authorization به فرآیندی اشاره دارد که تعیین می کند کاربر مجاز به انجام چه کاری است.
راه دیگری انجام authentication این است که از آن به عنوان راهی برای ورود به یک فضای دیگر، مانند سرور، پایگاه داده، اپلیکشن یا منبع ذخیره در نظر بگیرید، در حالی که authorization این است که کاربر چه اقداماتی را می تواند در مورد آبجکت ها در آن فضاها (سرور، پایگاه داده، یا اپلیکیشن) انجام دهد.
مدیریت امن خطاها در ASP.NET Core
مدیریت خطاها یکی از بخشهای مهم توسعه اپلیکیشنهای امن با ASP.NET Core است. زمانی که یک خطا در برنامه رخ میدهد، نحوه نمایش و ثبت اطلاعات آن میتواند بر امنیت سیستم تأثیر بگذارد. برای مثال، نمایش جزئیات داخلی برنامه، مسیر فایلها یا اطلاعات مربوط به زیرساخت ممکن است دادههایی را در اختیار کاربران غیرمجاز قرار دهد. به همین دلیل، توسعهدهندگان باید میان اطلاعاتی که برای عیبیابی نیاز دارند و اطلاعاتی که میتوانند به کاربران نمایش داده شوند، تفاوت قائل شوند.
یک راهکار مناسب برای مدیریت خطا باید امکان بررسی مشکلات را فراهم کند، بدون اینکه جزئیات حساس برنامه را افشا کند. در محیط توسعه ممکن است نمایش اطلاعات بیشتر برای شناسایی علت خطا مفید باشد، اما در محیط عملیاتی باید از انتشار اطلاعات داخلی سیستم جلوگیری شود. شناخت تنظیمات امنیتی ASP.NET و ASP.NET Core به شما کمک میکند رفتار برنامه را هنگام بروز خطا بهتر مدیریت کنید و احتمال افشای ناخواسته اطلاعات را کاهش دهید.
ثبت رویدادهای امنیتی در ASP.NET Core
ثبت رویدادهای امنیتی یا Security Event Logging به توسعهدهندگان کمک میکند فعالیتهای مرتبط با امنیت برنامه را ثبت و بررسی کنند. این رویدادها میتوانند شامل تلاشهای ورود ناموفق، فعالیتهای مشکوک یا رخدادهای مرتبط با دسترسی به منابع محافظتشده باشند. ثبت مناسب چنین اطلاعاتی امکان بررسی اتفاقات گذشته و شناسایی الگوهای غیرعادی را فراهم میکند. در اپلیکیشنهای ASP.NET، طراحی یک راهکار مناسب برای ثبت رویدادها باید با توجه به نیازهای امنیتی و الزامات عملیاتی برنامه انجام شود.

ثبت اطلاعات بهتنهایی کافی نیست و باید مشخص باشد چه دادههایی ثبت میشوند، چه افرادی به گزارشها دسترسی دارند و اطلاعات تا چه زمانی نگهداری میشوند. برای مثال، ذخیره رمز عبور، Tokenهای معتبر یا سایر اطلاعات محرمانه در Logها میتواند خود به یک آسیبپذیری امنیتی تبدیل شود. بنابراین، هنگام ثبت رویدادها باید اطلاعات حساس حذف یا به شکل مناسبی محافظت شوند. این آموزش به بررسی ثبت رویدادهای امنیتی در ASP.NET میپردازد و به شما کمک میکند اهمیت Logها را در مدیریت و بررسی مسائل امنیتی بهتر درک کنید.
جلوگیری از افشای اطلاعات حساس در Logها
Logها یکی از منابع مهم برای عیبیابی و بررسی وضعیت اپلیکیشن هستند، اما اگر بدون توجه به ملاحظات امنیتی طراحی شوند، ممکن است به محل ذخیره اطلاعات محرمانه تبدیل شوند. دادههایی مانند اطلاعات احراز هویت، مقادیر حساس درخواستها و جزئیات داخلی سیستم نباید بدون بررسی در گزارشها ثبت شوند. توسعهدهندگان باید هنگام انتخاب اطلاعات قابل ثبت، میان نیاز به مشاهده جزئیات فنی و ضرورت محافظت از حریم خصوصی کاربران تعادل برقرار کنند.
یکی دیگر از نکات مهم، کنترل دسترسی به محل ذخیره Logها و جلوگیری از تغییر یا افشای غیرمجاز آنها است. گزارشهای امنیتی ممکن است اطلاعات ارزشمندی درباره رفتار کاربران و وضعیت برنامه داشته باشند؛ بنابراین، حفاظت از آنها بخشی از طراحی امنیتی سیستم محسوب میشود. در این دوره با تنظیمات امنیتی و ثبت Security Eventها در اپلیکیشنهای ASP.NET آشنا میشوید و میتوانید درک بهتری از نحوه مدیریت اطلاعات ثبتشده و کاهش خطرهای ناشی از افشای آنها به دست آورید.
سرفصل مطالب آموزش ویدئویی مدیریت خطاها و امنیت در ASP.NET Core
فصل اول: مقدمه دوره آموزشی- مقدمه دوره آموزشی
- معرفی تکنیک های ایمن Log کردن
- اهداف Log کردن ایمن
- بررسی Developer Exception Page
- بررسی Global Error Handling در NET Core
- بررسی Global Error Handling درNET
- Log کردن اطلاعات درفایل هایLocal
- بررسی کردن Durable Sink ها
- جمع بندی
- مقدمه
- سطح ریسک خود را درک کنید
- بررسی Security Event ها
- بررسی اطلاعات برای Log کردن
- آموزش عملی: متمرکز کردن Logging Logic
- آموزش عملی: اضافه کردن Enricher ها برای کامل کردن اطلاعات
- آموزش عملی: Log کردن Event های مربوط به Authorization و Authentication
- آموزش عملی: Log کردن Security Event های دیگر
- تجزیه و تحلیل Security Log
- آموزش عملی: تجزیه و تحلیل Log کردن وردوی ها با Kibana
- آموزش عملی: مسیریابی Security Event ها
- جمع بندی و تمرین


