نقص طراحی – دست زدن به استثنا در برنامه های چند لایه

پردازش خطا و استثنا در برنامه های کاربردی وب می تواند مشکلات امنیتی را، اغلب به شکل انکار سرویس (یعنی زمانی که یک سرویس به دلیل خطا در خطا رخ می دهد) و افشای اطلاعات (یعنی زمانی که یک استثنا حاوی جزئیات حساس در مورد سیستم به کاربر / مهاجم منتقل می شود.

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

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

 نمودار جریان داده ساده برنامه های کاربردی وب مدرن

با بررسی منشاء استثنائات، می توانیم ببینیم که موتور محاسباتی، مخزن و ابزار دسترسی به پرونده می تواند (به طور بالقوه) برخی از جزئیات در مورد سیستم را نشان می دهد، اگر یک ارتباط با پایگاه داده های مختلف (به عنوان مثال، اطلاعات در مورد پایگاه داده SQL، طرح پایگاه دانش، و غیره)، باید یک استثناء پرتاب شود.

پس از آن سوالات، رسیدگی به این استثنائات و کاهش خطر برای هر دو افشای اطلاعات و انکار سرویس؟

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

اشکال اصلی این روش این است که مکانیسم مدیریت استثنایی پیچیده تر است، زیرا لازم است استثنائات خاص برنامه برای هر دسته از بومی (و [استثنائات]

آیا این رویکرد دارای مزایا و معایب دیگری است و آیا یک طرح جایگزین وجود دارد که بهترین تعادل امنیتی و کار را در اختیار شما قرار می دهد؟

RSA از جایگزینی و زدن استفاده می کند؟

من برخی از جستجوهای RSA را انجام داده ام و به نظر می رسد که از آن استفاده می شود که به جای زدن، اما نه جایگزینی.

RSA یک الگوریتم ریاضی است. هیچکدام از این اصطلاحات برای آن قابل اجرا نیستند.

به طور کلی، اصطلاحات "تغییر" و "جایگزینی" به طور کلی فقط برای تکنیکهای بسیار ساده و پیشرو الکترونیکی رمزنگاری – رمزهای Vigenère، transposition ستونها و غیره قابل استفاده هستند. آنها به طور خاص به رمزنگاری مدرن مربوط نیستند.

sniffing – آیا از طریق تونل زدن SSH از Telnet استفاده می شود

در ابتدا متاسفم، ممکن است سوال ناله، اما من یک سرویس در سرور من اجرا شده است که می تواند تنها توسط telnet (بندر 23) اداره شود، اما من می دانم که Telnet نا امن است، بنابراین من پورت 23 را در iptables مسدود شده به جز رابط loopback ( از طریق اینترنت قابل دسترسی نیست، اما فقط از localhost است.

بنابراین ایده من این است که من به سرور با استفاده از SSH و سپس در جلسه SSH من اتصال به telnet localhost 23 ، بنابراین من تعجب اگر آن را امن یا اگر می توان آن را خراب کرد

احراز هویت – دور زدن فرمان / اسکریپت مشخص شده در / etc / passwd

خط زیر از / etc / passwd :

 sadeq: x: 1000: 1000: محمد صادق دوستی ،،،: / home / sadeq: /bin/custom-script.sh را در نظر بگیرید

آخرین بخش /bin/custom-script.sh ، دستور / اسکریپت را اجرا می کند زمانی که کاربر وارد سیستم می شود. در حال حاضر، این یک اسکریپت ساده است که کاربر را با منو معرفی می کند، به طور موثری دستورات احتمالی را که می تواند اجرا کند، محدود کند.

یا امیدوارم این کار را انجام دهم! شاید کاربرانی بتوانند custom-script.sh را دور بزنند و به طور مستقیم به Bash دسترسی پیدا کنند.

آیا راهی برای دور زدن اسکریپت Bash فوق وجود دارد و دستورات دیگر را اجرا می کند؟

ویرایش: موارد ساده زیر را به عنوان custom- script.sh :

 #! / bin / bash
اکو اسم شما چیست؟
نام را بخوان
echo سلام نام قیمت