اگر یک مدل زبانی را بهصورت شخصی میزبانی میکنید، احتمالاً همین حالا درهای خانه را برای مهاجمان باز گذاشتهاید. طبق گزارش ممیزی امنیتی توسط HyperNexus، حدود ۶۷٪ از نسخههای میزبانیشده Mistral 7B، پورتهای خام gRPC یا HTTP API خود را روی پورت 8080 بدون هیچگونه احرازیتی در دسترس قرار دادهاند.
این حفره امنیتی به دلیل یک پیشفرض ساده ایجاد میشود: اکثر سرورهای استنتاج (Inference) — یعنی لحظهای که مدل واقعاً جواب تولید میکند و شبیه به خودِ آشپزی است، نه دوره آموزش آشپز — به صورت پیشفرض روی 0.0.0.0 تنظیم شدهاند. این یعنی هر فرآیند در ماشین میزبان، یا هر کانتینری که در همان شبکه داکر قرار دارد، میتواند مستقیماً درخواستهای خام به نقطه انتهایی (Endpoint) مدل شما بفرستد و منجر به استخراج دادهها شود.
میزبانی شخصی مدلهایی مثل LLaMA 3، Mistral یا مدلهای شخصیسازیشده (Fine-tuned)، حاکمیت داده و قابلیت سفارشیسازی را تضمین میکند، اما اغلب هزینه این کار نادیده گرفتن ریسکهای مواجهه با شبکه است. همانطور که در تحلیل قبلی ما دربارهی تلههای پرداخت در تسهیلگران عاملهای AI اشاره کردیم، واضح است که لایه زیرساختی همچنان یک نقطه ضعف بحرانی برای اپراتورهای مستقل است؛ بهطوری که برخی بررسیها نشان دادهاند ۲۰٪ از تنظیمات عاملهای هوش مصنوعی دارای حفرههای امنیتی بحرانی هستند.
تصور کنید درب ورودی خانهتان کاملاً باز باشد و شما فقط به قفل بودن گاوصندوق داخلی اعتماد کنید. بسیاری از کاربران تصور میکنند پیچیدگی مدل یک سد دفاعی است، اما یک پورت باز، در واقع دعوتنامهای برای هر مهاجمی است که در شبکه حضور دارد. اصل اساسی در جداسازی شبکه این است که سطح حمله (Attack Surface) را به یک نقطه ورود واحد و کنترلشده کاهش دهید.
سازوکار جداسازی لوکالهوست
به نقل از گزارش HyperNexus، موثرترین دفاع، تغییر آدرس گوشدهنده (Listening Address) هسته AI به 127.0.0.1 است. این تغییر تضمین میکند که فقط فرآیندهای داخل همان ماشین بتوانند به مدل بکاند دسترسی داشته باشند. این اقدام بلافاصله اسکنهای خارجی، بردارهای فرار از کانتینر (Container Escape) از طریق سرویسهای همسایه و مواجهههای تصادفی ناشی از پیکربندی اشتباه فایروالهای ابری را حذف میکند.
این الگو که مشابه روش ارائهدهندگان ابری برای ایزولهکردن بکاندهای پایگاهداده است، منجر به یک کاهش اندازهگیری شده و واقعی ۹۴ درصدی در تعداد پورتهای باز در رابط بیرونی میزبان شده است. برای درک جامعتر از مزایای این رویکرد، ۷ دلیل استقرار درگاه هوش مصنوعی در شبکه خصوصی VPC را بررسی کنید تا متوجه شوید چرا ایزولاسیون شبکه در مقیاس سازمانی حیاتی است.
برای مدیریت دسترسیهای خارجی، این معماری از یک پروکسی معکوس Nginx بهعنوان تنها دروازه (Gateway) استفاده میکند. در این الگو، سرور استنتاج AI (مانند vLLM یا Ollama) منحصراً روی 127.0.0.1:8000 گوش میدهد. پروکسی Nginx روی 0.0.0.0:443 گوش داده و درخواستها را به سوکت لوکالهوست پل میزند. در این ساختار، هیچ سرویس دیگری مجاز نیست مستقیماً به هسته AI دسترسی داشته باشد.
کنترلهای امنیتی لایهبندیشده
از آنجایی که اکثر سرورهای استنتاج — از جمله vLLM، Ollama و Tabby — فاقد سیستم احراز هویت داخلی هستند، این دروازه سه لایه امنیتی اصلی را برای تضمین «اعتماد صفر» (Zero Trust) اعمال میکند:
- Mutual TLS (mTLS): اجبار به استفاده از TLS 1.3 (با استفاده از سایفرهایی مانند
TLS_AES_256_GCM_SHA384وTLS_CHACHA20_POLY1305_SHA256) که محرمانه ماندن کامل نشستها (Perfect Forward Secrecy) را تضمین کرده و هویت کلاینتهای متصل را از طریق یک گواهینامه CA تایید میکند. - اعتبارسنجی JWT: هر درخواست باید یک توکن وب جیسون (JSON Web Token) معتبر داشته باشد. Nginx با استفاده از ماژول Lua به نام
resty.jwtتوکنها را در برابر یک کلید مخفی ۲۵۶ بیتی بررسی میکند. این کار باعث میشود بار احراز هویت از روی هسته AI برداشته شده و به پروکسی منتقل شود تا هسته AI فقط روی استنتاج تمرکز کند. این متد مشابه الگوی امنیتی Spring Boot برای جلوگیری از نشت کلیدهای OpenAI است که از توکنها برای مدیریت دسترسیهای حساس استفاده میکند. - بازرسی محتوا: اسکریپتهای Lua در Nginx بدنه درخواستها را قبل از رسیدن به GPU، برای الگوهای حساس مانند «password» یا «credit-card» اسکن میکنند. اگر تطابقی پیدا شود، پروکسی خطای 403 را با پیام «Prompt contains blocked content» (پرامپت حاوی محتوای مسدود شده است) بازمیگرداند.
بر اساس مستندات HyperNexus، این الگو در یک خوشه تولیدی (Production Cluster) تست شد و مشخص شد که روزانه ۱۲۰۰ درخواست مخرب را مسدود کرده است. میانگین تأخیر (Latency) اضافه شده کمتر از ۳ میلیثانیه بود، به این معنی که امنیت باعث کاهش عملکرد نشد.
سختسازی پشته کانتینر
در استقرارهای واقعی AI، پشتهها اغلب شامل چندین سرویس از جمله پایگاهدادههای برداری مانند Qdrant یا Milvus، سرورهای Embedding و ابزارهای مانیتورینگ هستند. بدون نظم و انضباط در شبکه، این سرویسها به اهدافی عالی برای «حرکت عرضی» (Lateral Movement) مهاجمان تبدیل میشوند.
برای جلوگیری از این اتفاق، این شرکت توصیه میکند از یک توپولوژی Docker Compose با سیاستهای شبکه صریح استفاده شود. با ایجاد یک شبکه داخلی و فعال کردن پرچم internal: true برای آن، هسته AI کاملاً از هرگونه دروازه به دنیای بیرون تهی میشود. در این حالت، دروازه Nginx تنها سرویسی است که به هر دو شبکه داخلی و خارجی (Bridge Networks) متصل است.
این توپولوژی سختگیرانه تضمین میکند که حتی اگر یک مهاجم بتواند به یک کانتینر همسایه نفوذ کند، شعاع تخریب (Blast Radius) نفوذ تا ۸۳٪ کاهش یابد. این روش با تبدیل Nginx به تنها نقطه ورود قابل ممیزی، جلوی حرکت عرضی را میگیرد. در بنچمارکها، این پیکربندی دفاعی عمیق در برابر ۵ مورد از رایجترین اکسپلویتهای فرار از کانتینر، بدون ایجاد هیچگونه تأخیر اضافی، عمل کرد.
مدیریت لایه رمزنگاری
مدیریت دستی گواهینامهها یک نقطه شکست رایج است و اغلب بسیار شکننده است. راهنمای مذکور توصیه میکند که تمدید گواهینامهها از طریق Let's Encrypt و ترکیب آن با یک CA خودامضا (Self-signed) برای کلاینتهای داخلی، بهصورت خودکار انجام شود.
برای اجتناب از اشتباهات رایج، Nginx باید طوری پیکربندی شود که تمام اتصالات HTTP را به HTTPS ارتقا دهد و پروتکل HSTS (امنیت انتقال سختگیرانه HTTP) را با مقدار max-age برابر ۶۳۰۷۲۰۰۰ اعمال کند. این کار از تلاش مهاجمان برای کاهش سطح اتصال به حالت متن ساده (Plaintext) جلوگیری میکند.
بدون این لایه TLS، منطق تجاری اختصاصی یا اطلاعات شناسایی شخصی (PII) مشتریان میتواند از طریق اتصالات رمزنگارینشده WebSocket نشت کند. یک حمله مرد میانی (MITM) در شبکه محلی — برای مثال از طریق یک روتور هک شده — میتواند دادههای پرامپت و خروجیهای مدل را رهگیری کند. HyperNexus اندازهگیری کرد که استقرار این الگوی TLS در مقایسه با HTTP ساده، سطح نشت دادهها را ۱۰ برابر کاهش میدهد.
این تغییر درtطوریست که امنیت AI را از «دفاع محیطی» به «اعتماد صفر» (Zero Trust) منتقل میکند. با جداسازی موتور استنتاج از رابط شبکه، توسعهدهندگان میتوانند بدون به خطر انداختن سیستمعامل میزبان، بر روی عملکرد مدل تمرکز کنند.
برای کسانی که پشتههای پیچیده را مدیریت میکنند، گام بعدی انجام یک ممیزی جداسازی شبکه برای شناسایی پورتهای باز پنهان است. شما میتوانید یک جدول امتیازدهی جداسازی شبکه را در سایت hypernexus.site برای بنچمارک کردن استقرار فعلی خود بیابید.
گام بعدی شما
- انجام ممیزی جداسازی شبکه (Network Isolation Audit) برای شناسایی پورتهای باز پنهان.
- جایگزینی دسترسی مستقیم API مدلها با یک لایه پروکسی معکوس احرازشده.
- بررسی امتیاز استقرار خود در داشبورد hypernexus.site.
این تنها بخشی از لایههای دفاعی است؛ برای درک نحوه مقابله با تزریق پرامپت در لایه اپلیکیشن، تحلیل ما درباره حفاظهای (Guardrails) مدلهای زبانی را بخوانید.




گفتگو