محیط تعریف‌شده توسط نرم‌افزار

**مرز تعریف‌شده توسط نرم‌افزار** (به انگلیسی: *Software-defined perimeter*)

**محیط امنیتی تعریف‌شده با نرم‌افزار** (به انگلیسی: Software-defined perimeter یا به‌اختصار **SDP**) که گاهی با عنوان **ابر سیاه** (Black Cloud) نیز شناخته می‌شود، روشی برای ارتقای امنیت رایانه‌ای است. چارچوب SDP توسط اتحاد امنیت ابری (Cloud Security Alliance) توسعه یافته‌است تا دسترسی به منابع را بر اساس هویت کنترل کند. در یک معماری SDP، اتصال بر پایهٔ مدل «دانستن در صورت نیاز» (Need-to-Know) انجام می‌شود؛ به این معنا که هم وضعیت دستگاه و هم هویت کاربر پیش از صدور مجوز دسترسی به زیرساخت‌های کاربردی بررسی می‌گردد.

زیرساخت برنامه‌ها در معماری SDP عملاً «سیاه» در نظر گرفته می‌شود—اصطلاحی که وزارت دفاع ایالات متحده برای توصیف زیرساختی غیرقابل شناسایی به‌کار برده که فاقد اطلاعات قابل رؤیت DNS یا آدرس‌های IP است.  
طرفداران این سیستم‌ها ادعا می‌کنند که SDP بسیاری از حملات رایج مبتنی بر شبکه را کاهش می‌دهد، از جمله: اسکن سرور، حمله انکار سرویس، تزریق اس‌کیوال، سوءاستفاده از آسیب‌پذیری‌های سیستم‌عامل و نرم‌افزار، حمله مرد میانی، «pass-the-hash»، «pass-the-ticket» و سایر حملات از سوی کاربران غیرمجاز.
## پیش‌زمینه

### محیط امنیتی تعریف‌شده با نرم‌افزار
یک SDP روش‌شناسی امنیتی‌ای است که دسترسی به منابع را بر پایهٔ هویت کاربر و وضعیت دستگاه کنترل می‌کند. این مدل از رویکرد «اعتماد صفر» (Zero Trust) پیروی می‌کند؛ به‌گونه‌ای که هر دو عامل (هویت و وضعیت دستگاه) پیش از صدور مجوز دسترسی به برنامه‌ها اعتبارسنجی می‌شوند. این روش تلاش می‌کند زیرساخت‌های داخلی را از دید اینترنت پنهان نگه دارد و سطح حمله برای تهدیدهایی همچون حمله انکار سرویس انکار سرویس (DoS) و اسکن سرور را کاهش دهد.

### مقایسه امنیت سنتی و محیط امنیتی تعریف‌شده با نرم‌افزار
امنیت شبکه سنتی معمولاً بر اساس یک محیط پیرامونی ثابت استوار است که معمولاً با دیوارهٔ آتش محافظت می‌شود. اگرچه این روش خدمات داخلی را ایزوله می‌کند، اما با افزایش موارد زیر آسیب‌پذیر می‌شود:

* **دستگاه‌های مدیریت‌شده توسط کاربر**: این دستگاه‌ها از کنترل‌های سنتی پیرامونی عبور می‌کنند.
* **حملات فیشینگ**: این حملات می‌توانند دسترسی کاربران غیرمجاز را به درون محیط فراهم کنند.
* **پذیرش فضای ابری**: برنامه‌ها می‌توانند در هر جایی میزبانی شوند که کنترل پیرامونی را پیچیده‌تر می‌سازد.

SDPها این مشکلات را با روش‌های زیر حل می‌کنند:

* **نامرئی‌سازی برنامه‌ها**: اینترنت عمومی نمی‌تواند مستقیماً منابع داخلی را مشاهده کند.
* **اجرای کنترل دسترسی**: تنها کاربران و دستگاه‌های مجاز قادر به اتصال به برنامه‌ها هستند.

### معماری و جریان کاری SDP
[بندانگشتی|وسط|500px|شماتیکی از معماری محیط امنیتی تعریف‌شده با نرم‌افزار (SDP). منبع: [Wikimedia Commons]]

یک SDP شامل دو مؤلفهٔ اصلی است:

* **کنترل‌گرهای SDP**: مدیریت سیاست‌های دسترسی و ارتباط بین دستگاه‌ها را بر عهده دارند.
* **میزبان‌های SDP**: این‌ها می‌توانند برنامه‌هایی باشند که درخواست دسترسی (initiating) یا ارائه‌دهندهٔ دسترسی (accepting) هستند.

روند کاری به‌طور معمول شامل موارد زیر است:
# کاربر تلاش می‌کند به یک برنامه دسترسی یابد.
# کنترل‌گر SDP هویت و وضعیت دستگاه را بررسی می‌کند.
# در صورت تأیید، دسترسی از طریق میزبان‌های امن برقرار می‌شود.
### مراحل اجرای معماری SDP
فرآیند راه‌اندازی معماری SDP معمولاً شامل مراحل زیر است:
# استقرار کنترل‌گرهای SDP و اتصال آن‌ها به سرویس‌های احراز هویت (مانند Active Directory یا احراز هویت چندمرحله‌ای).
# فعال‌سازی میزبان‌های پذیرندهٔ SDP که با کنترل‌گرها احراز هویت می‌شوند.
# فعال‌سازی میزبان‌های آغازگر که با کنترل‌گرها ارتباط برقرار می‌کنند.
# تعیین ارتباط‌های مجاز از سوی کنترل‌گرها و ایجاد اتصال‌های امن میان میزبان‌ها.

### مدل‌های استقرار SDP
راهکارهای مختلفی برای استقرار SDP وجود دارد که هر یک برای سناریوهای خاصی مناسب هستند:

* **کلاینت به دروازه (Client-to-Gateway)**: سرورها را در پشت یک دروازه محافظت می‌کند و مانع حرکت جانبی حملات در شبکه یا اینترنت می‌شود.
* **کلاینت به سرور (Client-to-Server)**: مشابه مدل قبل است با این تفاوت که سرور محافظت‌شده، نرم‌افزار SDP را مستقیماً اجرا می‌کند.
* **سرور به سرور (Server-to-Server)**: ارتباط بین سرورهایی را ایمن می‌کند که API ارائه می‌دهند.
* **کلاینت به سرور به کلاینت (Client-to-Server-to-Client)**: امکان ایجاد ارتباطات امن همتا به همتا برای برنامه‌هایی مانند کنفرانس ویدیویی را فراهم می‌سازد.

### کاربردهای SDP
SDP در شرایط مختلف مزایای امنیتی ارائه می‌دهد:

* **ایزوله‌سازی برنامه‌های سازمانی**: از برنامه‌های حساس در برابر دسترسی‌های غیرمجاز درون شبکه محافظت می‌کند.
* **امنیت ابری**: امنیت را در استقرارهای ابری عمومی، خصوصی و ترکیبی فراهم می‌سازد.
* **اینترنت اشیا (IoT)**: از برنامه‌های پشتیبان در مدیریت دستگاه‌های اینترنت اشیا محافظت می‌کند.

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


## یادداشت‌ها