برنامه نویسی

سری امنیتی Proxmox: SSH از طریق فایروال

Summarize this content to 400 words in Persian Lang

در تلاشم برای یافتن راه‌های جدید برای بهبود امنیت SSH فراتر از نکات و ترفندهای معمول، به دنبال استفاده از فایروال OPNsense – چیزی که قبلاً داشتم – را به عنوان دروازه‌ای برای سرور Proxmox خود کردم. ایده این بود که این فایروال به نقطه ورودی اصلی برای دسترسی به سرور تبدیل شود. این راه‌اندازی دسترسی را ساده می‌کند، اما به این معنی است که اگر فایروال مشکلاتی داشته باشد، همه چیز حل می‌شود. اگرچه ایده جالبی بود، اما در ابتدا مطمئن نبودم که چقدر امنیت را افزایش می دهد. با ما همراه باشید تا در ادامه مقاله به این موضوع بپردازم.

کلیدهای احراز هویت SSH

قبل از اجرای تنظیمات فایروال، دو کلید SSH ایجاد کردم: یکی برای اتصال به فایروال و دیگری برای سرور Proxmox.

## Auth Keys for Proxmox Server
ssh-keygen -t ed25519 -f ~/.ssh/pve

## Auth Keys for OPNsense Firewall
ssh-keygen -t ed25519 -f ~/.ssh/firewall

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اعتراف می کنم که استفاده از دو کلید مختلف ممکن است کمی زیاد به نظر برسد و واقعاً یک کلید معمولاً کافی است. اما کنجکاو بودم – آیا استفاده از دو کلید مجزا می تواند امنیت را بیشتر کند؟ من این را فرصتی برای آزمایش آن ایده دیدم.

تغییرات فایروال برای SSH

پیکربندی فایروال برای SSH ساده بود و می‌توان آن را کاملاً از طریق رابط وب مدیریت کرد. به خاطر داشته باشید که فایروال‌های مختلف ویژگی‌های متفاوتی را ارائه می‌دهند، بنابراین در زیر شرح سطح بالایی از تنظیماتی که من انجام دادم آورده شده است:

SSH منحصراً در رابط LAN فعال شد.
ورود کاربر ریشه برای افزایش امنیت غیرفعال شد.
ورود مبتنی بر رمز عبور غیرفعال شد و به روش‌های احراز هویت امن‌تری نیاز داشت.
یک حساب کاربری جدید ایجاد شد که برای دسترسی SSH به امتیازات مدیریتی نیاز داشت.
من پوسته مورد نظر را برای کاربر انتخاب کردم.
کلید احراز هویت SSH برای اطمینان از دسترسی ایمن آپلود شد.

این تغییرات با موفقیت دسترسی SSH به فایروال را فعال کرد و زمینه را برای عملیات ایمن تر فراهم کرد.

دستور پرش SSH

SSH شامل یک مفید است -J سوئیچ، که امکان مسیریابی از طریق سرور پرش را فراهم می کند.

## SSH Jump Command
ssh -J @ @

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

همانطور که شروع به ادغام گزینه هایی مانند کلیدهای احراز هویت می کنید، فرمان ممکن است به هم ریخته شود. اینجاست که .ssh/config فایل ارزشمند می شود. این به کاربران اجازه می دهد تا نام مستعار را به سرورهای SSH اختصاص دهند و گزینه هایی را برای هر اتصال مشخص کنند. برای محیط هایی با چندین سرور، فایل می تواند پیچیده شود. استفاده از شامل فایل های داخل .ssh/config می تواند به مدیریت این پیچیدگی، سازماندهی و نگهداری پیکربندی ها کمک کند.

پیکربندی SSH با .ssh/config

برای ساده‌سازی دستورات SSH با استفاده از فایل‌های پیکربندی، می‌توانید فایل‌های پیکربندی خاصی را برای هر سرور ایجاد کنید، مانند:

نام فایل پیکربندی: فایروال

# Configuration file for firewall
Host firewall
HostName 192.168.166.1
User sebos
IdentityFile ~/.ssh/firewall

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نام فایل پیکربندی: pve

# Configuration file for Proxmox VE
Include ~/.ssh/include.d/firewall
Host pve
HostName 192.168.167.127
User richard
ProxyJump firewall
IdentityFile ~/.ssh/pve

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تغییر در: ~/.ssh/config

Include ~/.ssh/include.d/firewall
Include ~/.ssh/include.d/pve

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این پیکربندی‌ها، اتصال به سرور Proxmox از طریق میزبان پرش فایروال به یک فرمان ساده می‌شود:

ssh pve

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه:

ذخیره فایل های پیکربندی اضافی در ~/.ssh/include.d/ دایرکتوری اجباری نیست اما به حفظ سازماندهی و وضوح در تنظیم SSH شما کمک می کند.

آیا امنیت را افزایش داد؟

ارزیابی من مثبت است. این تنظیم نتایج جالبی را به همراه داشت:

سرور Proxmox دیگر نمی‌تواند مستقیماً از طریق SSH بدون مسیریابی از طریق سرور پرش دسترسی داشته باشد – یک افزایش امنیتی پیش‌بینی‌شده اما قابل توجه.
با کمال تعجب، حتی از پوسته فایروال، من نتوانستم اتصال SSH به سرور Proxmox را شروع کنم.

برای دسترسی موفقیت آمیز به سرور Proxmox از طریق SSH، شرایط زیر باید رعایت شود:

حضور فیزیکی در شبکه LAN من.
در اختیار داشتن هر دو مجموعه از کلیدهای SSH من.
با این حال، شناخت شناسه های کاربر و آدرس های IP سرور .ssh/config فایل این جنبه را ساده می کند.

آیا این تنظیمات را به شبکه WiFi یا WAN خود گسترش می دهم؟ به طور بالقوه، بله، اگر فایل های پیکربندی و کلیدهای احراز هویت خود را در یک فهرست رمزگذاری شده ذخیره می کردم که با رمز عبور ایمن شده است، انجام این کار را امکان پذیر و ایمن می دانستم.

در اینجا یک نسخه ساده تر برای مخاطبان عام وجود دارد:

آیا در آینده دوباره دو فایل کلید احراز هویت ایجاد کنم؟ بله، اما فقط در صورتی که قصد داشته باشم آنها را در مکان‌های مختلف ذخیره کنم، مانند یکی در دستگاه محلی خود و دیگری در یک اشتراک شبکه در شبکه خودم.

آیا این می تواند همه هکرها را متوقف کند؟

هیچ سیستم امنیتی کامل نیست. هکرهای بسیار ماهر می توانند آسیب پذیری هایی از جمله سوء استفاده های Zero Day را در هر سیستمی پیدا کنند. بهترین استراتژی این است که نقاط ورود بالقوه را به حداقل برسانید و لایه‌های امنیتی اضافه کنید تا بیشتر مهاجمان را دلسرد کنید.

من دوست دارم در مورد روش های شما بشنوم. چگونه SSH را در شبکه خود ایمن می کنید؟

در تلاشم برای یافتن راه‌های جدید برای بهبود امنیت SSH فراتر از نکات و ترفندهای معمول، به دنبال استفاده از فایروال OPNsense – چیزی که قبلاً داشتم – را به عنوان دروازه‌ای برای سرور Proxmox خود کردم. ایده این بود که این فایروال به نقطه ورودی اصلی برای دسترسی به سرور تبدیل شود. این راه‌اندازی دسترسی را ساده می‌کند، اما به این معنی است که اگر فایروال مشکلاتی داشته باشد، همه چیز حل می‌شود. اگرچه ایده جالبی بود، اما در ابتدا مطمئن نبودم که چقدر امنیت را افزایش می دهد. با ما همراه باشید تا در ادامه مقاله به این موضوع بپردازم.

کلیدهای احراز هویت SSH

قبل از اجرای تنظیمات فایروال، دو کلید SSH ایجاد کردم: یکی برای اتصال به فایروال و دیگری برای سرور Proxmox.

## Auth Keys for Proxmox Server
ssh-keygen -t ed25519 -f ~/.ssh/pve  

## Auth Keys for OPNsense Firewall
ssh-keygen -t ed25519 -f ~/.ssh/firewall
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اعتراف می کنم که استفاده از دو کلید مختلف ممکن است کمی زیاد به نظر برسد و واقعاً یک کلید معمولاً کافی است. اما کنجکاو بودم – آیا استفاده از دو کلید مجزا می تواند امنیت را بیشتر کند؟ من این را فرصتی برای آزمایش آن ایده دیدم.

تغییرات فایروال برای SSH

پیکربندی فایروال برای SSH ساده بود و می‌توان آن را کاملاً از طریق رابط وب مدیریت کرد. به خاطر داشته باشید که فایروال‌های مختلف ویژگی‌های متفاوتی را ارائه می‌دهند، بنابراین در زیر شرح سطح بالایی از تنظیماتی که من انجام دادم آورده شده است:

  • SSH منحصراً در رابط LAN فعال شد.
  • ورود کاربر ریشه برای افزایش امنیت غیرفعال شد.
  • ورود مبتنی بر رمز عبور غیرفعال شد و به روش‌های احراز هویت امن‌تری نیاز داشت.
  • یک حساب کاربری جدید ایجاد شد که برای دسترسی SSH به امتیازات مدیریتی نیاز داشت.
  • من پوسته مورد نظر را برای کاربر انتخاب کردم.
  • کلید احراز هویت SSH برای اطمینان از دسترسی ایمن آپلود شد.

این تغییرات با موفقیت دسترسی SSH به فایروال را فعال کرد و زمینه را برای عملیات ایمن تر فراهم کرد.

دستور پرش SSH

SSH شامل یک مفید است -J سوئیچ، که امکان مسیریابی از طریق سرور پرش را فراهم می کند.

## SSH Jump Command
ssh -J @ @
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

همانطور که شروع به ادغام گزینه هایی مانند کلیدهای احراز هویت می کنید، فرمان ممکن است به هم ریخته شود. اینجاست که .ssh/config فایل ارزشمند می شود. این به کاربران اجازه می دهد تا نام مستعار را به سرورهای SSH اختصاص دهند و گزینه هایی را برای هر اتصال مشخص کنند. برای محیط هایی با چندین سرور، فایل می تواند پیچیده شود. استفاده از شامل فایل های داخل .ssh/config می تواند به مدیریت این پیچیدگی، سازماندهی و نگهداری پیکربندی ها کمک کند.

پیکربندی SSH با .ssh/config

برای ساده‌سازی دستورات SSH با استفاده از فایل‌های پیکربندی، می‌توانید فایل‌های پیکربندی خاصی را برای هر سرور ایجاد کنید، مانند:

نام فایل پیکربندی: فایروال

# Configuration file for firewall
Host firewall
    HostName 192.168.166.1
    User sebos
    IdentityFile ~/.ssh/firewall
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نام فایل پیکربندی: pve

# Configuration file for Proxmox VE
Include ~/.ssh/include.d/firewall
Host pve
    HostName 192.168.167.127
    User richard
    ProxyJump firewall
    IdentityFile ~/.ssh/pve
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تغییر در: ~/.ssh/config

Include ~/.ssh/include.d/firewall
Include ~/.ssh/include.d/pve
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این پیکربندی‌ها، اتصال به سرور Proxmox از طریق میزبان پرش فایروال به یک فرمان ساده می‌شود:

ssh pve
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه:

ذخیره فایل های پیکربندی اضافی در ~/.ssh/include.d/ دایرکتوری اجباری نیست اما به حفظ سازماندهی و وضوح در تنظیم SSH شما کمک می کند.

آیا امنیت را افزایش داد؟

ارزیابی من مثبت است. این تنظیم نتایج جالبی را به همراه داشت:

  • سرور Proxmox دیگر نمی‌تواند مستقیماً از طریق SSH بدون مسیریابی از طریق سرور پرش دسترسی داشته باشد – یک افزایش امنیتی پیش‌بینی‌شده اما قابل توجه.
  • با کمال تعجب، حتی از پوسته فایروال، من نتوانستم اتصال SSH به سرور Proxmox را شروع کنم.

برای دسترسی موفقیت آمیز به سرور Proxmox از طریق SSH، شرایط زیر باید رعایت شود:

  • حضور فیزیکی در شبکه LAN من.
  • در اختیار داشتن هر دو مجموعه از کلیدهای SSH من.
  • با این حال، شناخت شناسه های کاربر و آدرس های IP سرور .ssh/config فایل این جنبه را ساده می کند.

آیا این تنظیمات را به شبکه WiFi یا WAN خود گسترش می دهم؟ به طور بالقوه، بله، اگر فایل های پیکربندی و کلیدهای احراز هویت خود را در یک فهرست رمزگذاری شده ذخیره می کردم که با رمز عبور ایمن شده است، انجام این کار را امکان پذیر و ایمن می دانستم.

در اینجا یک نسخه ساده تر برای مخاطبان عام وجود دارد:

آیا در آینده دوباره دو فایل کلید احراز هویت ایجاد کنم؟ بله، اما فقط در صورتی که قصد داشته باشم آنها را در مکان‌های مختلف ذخیره کنم، مانند یکی در دستگاه محلی خود و دیگری در یک اشتراک شبکه در شبکه خودم.

آیا این می تواند همه هکرها را متوقف کند؟

هیچ سیستم امنیتی کامل نیست. هکرهای بسیار ماهر می توانند آسیب پذیری هایی از جمله سوء استفاده های Zero Day را در هر سیستمی پیدا کنند. بهترین استراتژی این است که نقاط ورود بالقوه را به حداقل برسانید و لایه‌های امنیتی اضافه کنید تا بیشتر مهاجمان را دلسرد کنید.

من دوست دارم در مورد روش های شما بشنوم. چگونه SSH را در شبکه خود ایمن می کنید؟

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا