دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
امنیت
  • Folder icon closed Folder open iconCIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • Folder icon closed Folder open iconAttack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • Folder icon closed Folder open iconThreat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • Folder icon closed Folder open iconVulnerability چیست؟ آشنایی با آسیب‌پذیری در امنیت سایبری
  • Folder icon closed Folder open iconExploit چیست؟ آشنایی با مفهوم اکسپلویت در امنیت سایبری
  • Folder icon closed Folder open iconRisk چیست؟ آشنایی با مفهوم ریسک در امنیت سایبری
  • Folder icon closed Folder open iconCVE چیست؟ آشنایی با سیستم شماره‌گذاری آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconCVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconبعد از خرید سرور مجازی لینوکس(VPS)، اولین کارهایی که باید انجام دهید
  • Folder icon closed Folder open iconآموزش تغییر Hostname سرور در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح Timezone و NTP در لینوکس
  • Folder icon closed Folder open iconآموزش بروزرسانی کامل سیستم‌عامل لینوکس همه توزیع ها
  • Folder icon closed Folder open iconآموزش ساخت کاربر جدید و حذف استفاده روزمره از Root در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح sudo در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم Banner ورود به SSH در لینوکس
  • Folder icon closed Folder open iconآموزش مدیریت Password Policy در لینوکس
  • Folder icon closed Folder open iconآموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • Folder icon closed Folder open iconآموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • Folder icon closed Folder open iconتغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • Folder icon closed Folder open iconآموزش محدود کردن کاربران مجاز SSH در لینوکس
  • Folder icon closed Folder open iconآموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • Folder icon closed Folder open iconآموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • Folder icon closed Folder open iconآموزش بررسی لاگ‌های SSH در لینوکس
  • Folder icon closed Folder open iconآموزش عیب‌یابی مشکلات SSH در لینوکس
  • Folder icon closed Folder open iconآموزش کامل UFW در لینوکس؛ راه‌اندازی، مدیریت و ایمن‌سازی فایروال سرور
  • Folder icon closed Folder open iconnftables چیست؟ آشنایی با فایروال نسل جدید لینوکس و جایگزین iptables
  • Folder icon closed Folder open iconآموزش کامل Firewalld در لینوکس
  • Folder icon closed Folder open iconآموزش کامل ConfigServer Security & Firewall (CSF)
  • Folder icon closed Folder open iconآموزش مشاهده Loginهای اخیر در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی پردازش‌های مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی Cron Jobهای مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • Folder icon closed Folder open iconآموزش نصب RKHunter در لینوکس
  • Folder icon closed Folder open iconآموزش نصب Chkrootkit در لینوکس
  • Folder icon closed Folder open iconآموزش اسکن سرور با RKHunter و Chkrootkit
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و اسکن سرور با AIDE در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و استفاده از Auditd در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، اسکن و تحلیل امنیت سرور با Lynis در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، بروزرسانی و اسکن سرور با ClamAV در لینوکس
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Nginx
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Apache
  • Folder icon closed Folder open iconآموزش Hardening PHP
  • Folder icon closed Folder open iconآموزش Hardening پایگاه داده MySQL
  • Folder icon closed Folder open iconآموزش Hardening سرویس Redis
  • Folder icon closed Folder open iconآموزش Hardening سرویس Docker
  • Folder icon closed Folder open iconآموزش Hardening سرویس FTP
  • Folder icon closed Folder open iconشناسایی Backdoor و ارتباطات مخفی در سرور لینوکس
  • Folder icon closed Folder open iconاسکن آسیب‌پذیری با Nmap NSE
  • Folder icon closed Folder open iconآموزش Socat
  • Folder icon closed Folder open iconآموزش WhatWeb در لینوکس
  • Folder icon closed Folder open iconشناسایی تکنولوژی سایت‌ها
  • Folder icon closed Folder open iconآموزش Amass برای کشف Subdomain
  • Folder icon closed Folder open iconشناسایی Reverse Shell در لینوکس
  • Folder icon closed Folder open iconپیدا کردن فایل‌های SUID مشکوک
  • Folder icon closed Folder open iconبررسی کاربران Administrator مخفی در ویندوز
  • Folder icon closed Folder open iconبررسی PowerShell History
  • Folder icon closed Folder open iconشناسایی Reverse Shell در ویندوز
  • Folder icon closed Folder open iconبررسی Persistence در لینوکس
  • Folder icon closed Folder open iconبررسی Persistence در ویندوز
  • Folder icon closed Folder open iconشناسایی Web Shell در سرورهای لینوکس
  • Folder icon closed Folder open iconبررسی فایل‌های تغییرکرده مشکوک در Linux
  • Folder icon closed Folder open iconتحلیل Failed Login در Windows Server
  • Folder icon closed Folder open iconتحلیل لاگ‌های SSH برای شناسایی Brute Force
  • Folder icon closed Folder open iconبررسی SSH Keyهای مشکوک در لینوکس
  • Folder icon closed Folder open iconشناسایی DNS Requestهای مشکوک در سرور
  • Folder icon closed Folder open iconبررسی فایل‌های Log حذف‌شده یا دستکاری‌شده در Linux و Windows
  • Folder icon closed Folder open iconبررسی تغییرات Firewall در Linux و Windows
امنیت

آموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس

آموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس

مقدمه

حتی اگر از SSH Key Authentication استفاده کنید، ورود مستقیم Root را غیرفعال کرده باشید و کاربران مجاز SSH را نیز محدود کرده باشید، همچنان سرویس SSH از هر نقطه‌ای در اینترنت قابل دسترسی خواهد بود.

در بسیاری از سازمان‌ها، مدیران سیستم همیشه از مکان‌های مشخصی مانند دفتر شرکت، VPN سازمان یا یک IP ثابت به سرورها متصل می‌شوند. در چنین شرایطی، منطقی نیست که سرویس SSH برای تمام اینترنت باز باشد.

یکی از مؤثرترین روش‌های کاهش سطح حمله (Attack Surface)، محدود کردن دسترسی SSH بر اساس آدرس IP است.

در این مقاله، روش‌های مختلف انجام این کار و بهترین شیوه‌های پیاده‌سازی آن را بررسی خواهیم کرد.


محدود کردن SSH بر اساس IP چیست؟

در این روش، تنها IPها یا شبکه‌هایی که از قبل مشخص شده‌اند اجازه اتصال به سرویس SSH را خواهند داشت.

اگر شخصی از IP دیگری تلاش کند به سرور متصل شود، حتی قبل از نمایش صفحه ورود، اتصال او مسدود خواهد شد.


چرا این روش اهمیت دارد؟

فرض کنید سرور شما در اینترنت قرار دارد.

اگر SSH برای همه باز باشد:

  • میلیون‌ها ربات می‌توانند آن را اسکن کنند.
  • حملات Brute Force به‌صورت مداوم انجام می‌شود.
  • لاگ‌های SSH پر از درخواست‌های ناموفق خواهند شد.

اما اگر فقط IP شرکت شما مجاز باشد:

  • اکثر حملات حتی به مرحله احراز هویت هم نمی‌رسند.
  • تعداد درخواست‌های غیرمجاز به‌شدت کاهش پیدا می‌کند.
  • سطح حمله سرور کوچک‌تر می‌شود.

آیا این روش از تغییر پورت SSH بهتر است؟

در بسیاری از سناریوها، بله.

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

به همین دلیل، این روش یکی از بهترین اقدامات برای ایمن‌سازی SSH محسوب می‌شود.


روش‌های محدود کردن دسترسی

روش‌های مختلفی برای انجام این کار وجود دارد.

از جمله:

  • Firewall (UFW)
  • Firewalld
  • iptables
  • nftables
  • TCP Wrappers (در سیستم‌های قدیمی)
  • Security Group در سرویس‌های ابری
  • فایروال سخت‌افزاری

در بیشتر سرورهای امروزی، استفاده از فایروال سیستم‌عامل بهترین گزینه است.


محدود کردن SSH با UFW

ابتدا اجازه دسترسی از IP موردنظر را صادر کنید.

برای مثال:

sudo ufw allow from 203.0.113.10 to any port 22 proto tcp

سپس دسترسی سایر IPها را مسدود کنید.

sudo ufw deny 22/tcp

در این حالت فقط IP مشخص‌شده امکان اتصال خواهد داشت.

آموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس

چند IP مجاز

اگر چند مدیر سیستم دارید:

sudo ufw allow from 203.0.113.10 to any port 22
sudo ufw allow from 198.51.100.25 to any port 22

اجازه دسترسی به یک شبکه

اگر دفتر شرکت از یک شبکه ثابت استفاده می‌کند:

sudo ufw allow from 192.168.10.0/24 to any port 22

در این مثال، تمام IPهای موجود در این شبکه اجازه اتصال خواهند داشت.


بررسی قوانین UFW

برای مشاهده قوانین فعال:

sudo ufw status numbered

محدود کردن SSH با Firewalld

در AlmaLinux و Rocky Linux:

sudo firewall-cmd \
--permanent \
--add-rich-rule='rule family="ipv4" source address="203.0.113.10" port protocol="tcp" port="22" accept'

سپس:

sudo firewall-cmd --reload

اگر IP شما تغییر می‌کند چه باید کرد؟

بسیاری از کاربران خانگی IP ثابتی ندارند.

در این شرایط می‌توانید از یکی از روش‌های زیر استفاده کنید:

  • استفاده از VPN با IP ثابت
  • استفاده از Bastion Host
  • استفاده از سرویس‌های Dynamic DNS
  • به‌روزرسانی قوانین فایروال هنگام تغییر IP

محدود کردن SSH در Cloud

اگر سرور شما روی پلتفرم‌های ابری قرار دارد، بهتر است این محدودیت را در سطح Security Group یا Firewall Provider نیز اعمال کنید.

این کار باعث می‌شود درخواست‌های غیرمجاز حتی قبل از رسیدن به سیستم‌عامل مسدود شوند.


تست تنظیمات

قبل از خروج از نشست فعلی SSH، حتماً تنظیمات را آزمایش کنید.

ابتدا از IP مجاز اتصال جدید برقرار کنید.

سپس از یک IP دیگر تست کنید.

اتصال از IP غیرمجاز باید رد شود.


اگر اشتباه تنظیم کنیم چه می‌شود؟

اگر IP اشتباهی را مجاز کنید یا IP خود را فراموش کنید، دیگر امکان اتصال SSH نخواهید داشت.

در این شرایط باید از یکی از روش‌های زیر استفاده کنید:

  • کنسول مدیریتی VPS
  • KVM
  • Rescue Mode

به همین دلیل، همیشه قبل از اعمال محدودیت، IP فعلی خود را بررسی کنید.


آیا این روش کافی است؟

خیر.

محدود کردن SSH بر اساس IP یکی از لایه‌های امنیتی است، اما جایگزین سایر اقدامات نمی‌شود.

بهترین نتیجه زمانی حاصل می‌شود که این روش همراه با موارد زیر استفاده شود:

  • SSH Key Authentication
  • غیرفعال کردن Root Login
  • غیرفعال کردن Password Authentication
  • Fail2Ban
  • فایروال
  • بروزرسانی منظم سیستم‌عامل

اشتباهات رایج

برخی از خطاهای متداول عبارت‌اند از:

  • فراموش کردن IP خود
  • اعمال قوانین قبل از تست
  • بستن نشست فعلی SSH
  • باز گذاشتن SSH برای تمام اینترنت در سرورهای سازمانی
  • استفاده از IPهای پویا بدون برنامه‌ریزی

بهترین روش‌ها

برای افزایش امنیت:

  • اگر IP ثابت دارید، فقط همان IP را مجاز کنید.
  • اگر چند مدیر سیستم دارید، برای هر IP قانون جداگانه ایجاد کنید.
  • از VPN سازمانی استفاده کنید.
  • دسترسی SSH را به‌صورت دوره‌ای بازبینی کنید.
  • تغییرات فایروال را مستندسازی کنید.

چک‌لیست

پس از محدود کردن SSH بر اساس IP، موارد زیر را بررسی کنید:

  • فقط IPهای مجاز امکان اتصال دارند.
  • قوانین فایروال بدون خطا اعمال شده‌اند.
  • اتصال از IP مجاز با موفقیت انجام می‌شود.
  • اتصال از IP غیرمجاز رد می‌شود.
  • نشست فعلی تا پایان تست باز نگه داشته شده است.
  • در صورت تغییر IP، برنامه‌ای برای به‌روزرسانی قوانین وجود دارد.

جمع‌بندی

محدود کردن دسترسی SSH بر اساس آدرس IP یکی از مؤثرترین روش‌ها برای کاهش سطح حمله سرور است. این کار باعث می‌شود تنها کاربران یا شبکه‌های مورد اعتماد بتوانند به سرویس SSH دسترسی داشته باشند و بسیاری از حملات خودکار حتی فرصت برقراری اتصال را پیدا نکنند.

در محیط‌های سازمانی، استفاده از این روش در کنار SSH Key Authentication، غیرفعال کردن ورود Root، غیرفعال کردن ورود با رمز عبور و Fail2Ban یک لایه دفاعی بسیار قدرتمند ایجاد می‌کند و امنیت دسترسی از راه دور به سرور را به شکل قابل توجهی افزایش می‌دهد.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مقالات مرتبط

  • تعریف Cron Job در cPanel و DirectAdmin
  • مجموعه قوانین اصلی OWASP ModSecurity
  • تغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • آموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • آموزش کامل ConfigServer Security & Firewall (CSF)
  • آموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • مفاهیم پایه امنیت
  • آموزش reboot سرور لینوکس
  • چگونه حملات Slowloris را کاهش دهیم
  • بررسی وضعیت سیستم و شناسایی نفوذ سطح root
  • آموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • تخلیه حافظه کش در ویندوز و لینوکس
  • چگونه فضای دیسک را در لینوکس محاسبه کنیم؟
  • مدیریت cpHulk از طریق ترمینال
  • آموزش نصب Chkrootkit در لینوکس
  • ریست پسورد root در Ubuntu 18.04
  • بستن دسترسی ssh یوزر root یا یوزرهای دیگر
  • آموزش ایجاد پارتیشن swap در لینوکس
  • آموزش تغییر پورت SSH در لینوکس
  • Threat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • CIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • عدم نمایش رشته‌های(strings) قابل ترجمه در زبان‌های غیرانگلیسی
  • نحوه امن‌سازی SSH
  • ریست سرویس آپاچی در ssh و کنترل پنل های دایرکت ادمین و سی پنل
  • ریست پسورد root در Ubuntu 16.04
  • سطوح امنیتی قدیمی(Legacy Security Levels)
  • حل مشکل پشتیبانی از فرمت HEIC در ImageMagick PECL در نسخه‌های ea-php
  • آموزش عیب‌یابی مشکلات SSH در لینوکس
  • Attack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • آموزش بررسی لاگ‌های SSH در لینوکس
  • امنیت دانلود در cPanel & WHM
  • آموزش مشاهده و تحلیل لاگ‌های SSH در لینوکس
  • راهنمای پیکربندی Microsoft Windows برای استفاده از TLS نسخه ۱.۲
  • کاهش حملات DoS و DDoS با تنظیمات در فایروال CSF
  • چگونه مشکلات Jailshell را در یک VPS مبتنی بر Virtuozzo یا OpenVZ رفع کنیم
  • افزایش Open Files در cpanel به همراه cloudlinux
  • بررسی time Zone سرور (لینوکس و ویندوز)
  • چگونه پیچیدگی Password را تعیین کنیم
  • مسدود کردن دسترسی به یک دامنه از مناطق جغرافیایی مشخص در سی‌پنل
  • Repair کردن دیتابیس Mysql
  • راهنمای مشاهده رم و CPU در لینوکس
  • آموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • راهنمای تنظیمات SSL در cPanel & WHM
  • آموزش نصب RKHunter در لینوکس
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

سپتامبر 2026
شیدسچپج
 1234
567891011
12131415161718
19202122232425
2627282930 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام