</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

فصل ۵: امنیت شبکه

مدل OSI، انواع فایروال (packet، stateful، NGFW، WAF)، IDS/IPS با Snort و Suricata، VPN (IPsec، OpenVPN، WireGuard)، DMZ، VLAN، DDoS، امنیت DNS و پیکربندی UFW.

متوسط۱۶ دقیقه مطالعهآخرین بروزرسانی: ۸ تیر ۱۴۰۵ویرایش در گیت‌هاب

مدل OSI و محل وقوع حملات#

مدل مرجع OSI (Open Systems Interconnection) هفت لایه دارد. شناخت این لایه‌ها به این دلیل اهمیت دارد که هر حمله در لایه‌ای مشخص رخ می‌دهد و دفاع آن لایه متفاوت است.

لایهناممثال دادهنمونه حمله
۷ApplicationHTTP, DNS, SMTPSQL Injection, XSS
۶PresentationTLS, JPEGDowngrade attack
۵SessionNetBIOS, RPCSession Hijacking
۴TransportTCP, UDPSYN Flood, Port Scan
۳NetworkIP, ICMPIP Spoofing, Smurf
۲Data LinkEthernet, ARPARP Spoofing, MAC Flood
۱Physicalکابل، Wi-FiTap کابل، Jamming

بیش از ۷۰ درصد حملات در لایهٔ ۷ رخ می‌دهد، اما نفوذگر برای رسیدن به آن معمولاً باید از لایه‌های پایین‌تر عبور کند.

فایروال‌ها#

فایروال اولین خط دفاعی در مرز شبکه است. چهار نسل اصلی:

۱. Packet Filtering#

هر بسته را مستقل بررسی می‌کند (IP، پورت، پروتکل). سریع اما محدود؛ نمی‌تواند state ارتباط را ببیند. مثال: iptables اولیه.

۲. Stateful Inspection#

جدول وضعیت اتصال‌ها را نگه می‌دارد؛ می‌داند که بستهٔ فعلی بخش از کدام جلسه است. اکثر فایروال‌های امروزی حداقل stateful هستند. مثال: nftables، UFW.

۳. Next-Generation Firewall (NGFW)#

ترکیب stateful با DPI (Deep Packet Inspection)، IPS و awareness اپلیکیشن. می‌تواند بگوید «این ترافیک Telegram است حتی اگر روی پورت ۴۴۳ باشد». مثال: Palo Alto، Fortinet، Check Point.

۴. Web Application Firewall (WAF)#

لایهٔ ۷ تخصصی برای HTTP. الگوهای حمله مانند SQLi، XSS و bot را شناسایی می‌کند. مثال: Cloudflare، ModSecurity، AWS WAF.

عمق دفاعی (Defense in Depth)

هرگز فقط به یک لایه فایروال تکیه نکنید. ترکیب NGFW در مرز + WAF مقابل اپلیکیشن + host firewall روی سرور، اصل «عمق دفاعی» را پیاده می‌کند. اگر مهاجم یک لایه را شکست دهد، لایهٔ بعدی هنوز فریاد می‌زند.

IDS و IPS#

  • IDS (Intrusion Detection System): ترافیک را passively مانیتور می‌کند و هشدار می‌دهد.
  • IPS (Intrusion Prevention System): ترافیک را inline مانیتور می‌کند و می‌تواند بستهٔ مخرب را رد کند.

ابزارهای شناخته‌شده#

ابزارنوعویژگی
SnortIDS/IPSقوانین مبتنی بر signature، قدیمی و پایدار
SuricataIDS/IPSچندنخی، سریع، پشتیبانی از protocol parsing
Zeek (Bro)IDSتحلیلگر ترافیک، لاگ‌نویسی دقیق، مناسب تحقیقات

نمونه قانون Snort برای تشخیص brute-force روی SSH:

alert tcp any any -> $HOME_NET 22 (msg:"SSH brute force attempt"; \
  detection_filter:track by_src, count 5, seconds 60; \
  sid:1000001; rev:1;)

VPN — دسترسی امن از راه دور#

VPN تونل رمزگذاری‌شده‌ای بین دو نقطه ایجاد می‌کند. سه پروتکل اصلی:

IPsec#

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

  • Transport: فقط payload رمز می‌شود.
  • Tunnel: کل بسته IP درون یک بستهٔ جدید رمز می‌شود.

پیچیده در پیکربندی اما سنگین‌محور و پایدار برای site-to-site.

OpenVPN#

مبتنی بر OpenSSL/TLS، پورت ۱۱۹۴ UDP یا TCP. قابل‌انعطاف، عبور از NAT، اما کمی کندتر.

WireGuard#

نسل جدید: کد پایهٔ بسیار کوچک (حدود ۴۰۰۰ خط)، رمزنگاری Curve25519 + ChaCha20 + Poly1305، و سرعت بالاتر از IPsec و OpenVPN. در کرنل لینوکس از ۵.۶ ادغام شده.

# نصب WireGuard روی Ubuntu
sudo apt install wireguard
 
# تولید کلید خصوصی و عمومی
wg genkey | tee privatekey | wg pubkey > publickey
 
# پیکربندی سمت کلاینت /etc/wireguard/wg0.conf
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.0.0.2/24
DNS = 1.1.1.1
 
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
 
# بالا آوردن تونل
sudo wg-quick up wg0
sudo wg show

WireGuard و IP ثابت

WireGuard به‌طور پیش‌فرض بی‌صدا است؛ یعنی تا بسته‌ای از کلاینت نیاید، سرور پاسخی نمی‌دهد. این ویژگی برای شناسایی‌پذیری عالی است اما برای troubleshooting چالش‌برانگیز. PersistentKeepalive = 25 هر ۲۵ ثانیه یک keepalive می‌فرستد تا NAT mapping زنده بماند.

معماری DMZ#

DMZ (Demilitarized Zone) یک زیرشبکهٔ ایزوله است که سرویس‌های رو به اینترنت (مانند وب‌سرور، ایمیل) در آن قرار می‌گیرند. اگر مهاجم وب‌سرور را نفوذ دهد، هنوز فایروال داخلی بین DMZ و شبکهٔ داخلی وجود دارد.

[اینترنت]
   |
[فایروال خارجی]
   |
[DMZ: web, mail, DNS]
   |
[فایروال داخلی]
   |
[شبکه داخلی: دیتابیس, ERP, HR]

تجزیه‌بندی شبکه و VLAN#

VLAN (Virtual LAN) یک شبکهٔ فیزیکی را به چند شبکهٔ منطقی تقسیم می‌کند. اصل کمینه‌دسترسیِ شبکه‌ای می‌گوید: «اگر دو سیستم نیازی به صحبت با هم ندارند، باید در VLAN جدا باشند.»

VLANهای رایج سازمانی:

  • VLAN 10: کاربران
  • VLAN 20: سرورها
  • VLAN 30: مدیریت (iLO, IPMI)
  • VLAN 40: مهمانان
  • VLAN 99: ترافیک صوتی (VoIP)

برای مسیریابی بین VLANها از L3 switch یا فایروال استفاده کنید تا کنترل دقیق ACL اعمال شود.

حملات DDoS و کاهش#

DDoS (Distributed Denial of Service) هدف آن فلج کردن سرویس با ارسال حجم عظیم ترافیک از منابع توزیع‌شده است. سه دستهٔ اصلی:

  • Volumetric: اشباع پهنای باند (UDP flood, amplification).
  • Protocol: سوءاستفاده از handshake پروتکل (SYN flood, Smurf).
  • Application Layer: شبیه‌سازی ترافیک واقعی (HTTP flood, Slowloris).

راه‌های کاهش#

  • CDN و Anycast: Cloudflare، Akamai، AWS Shield ترافیک را در نقاط جهانی پخش می‌کنند.
  • Rate Limiting: محدودیت درخواست از هر IP.
  • SYN Cookies: دفاع کرنل در برابر SYN flood.
  • Blackhole Routing: مسیریابی ترافیک مهاجم به null.

امنیت DNS#

DNS به‌طور پیش‌فرض روی پورت ۵۳ UDP و به‌صورت متنی است؛ یعنی شنودگر می‌تواند سوال و پاسخ را ببیند و جعل کند. سه گسترش امنیتی:

  • DNSSEC: امضای دیجیتال روی رکوردها با زنجیرهٔ اعتماد از root. جلوگیری از DNS spoofing.
  • DoH (DNS over HTTPS): سوال DNS روی HTTPS رمزگذاری می‌شود. پورت ۴۴۳.
  • DoT (DNS over TLS): سوال DNS روی TLS. پورت ۸۵۳.

DNS در ایران

در شبکه‌های داخلی ایران، فیلترینگ DNS و پاسخ‌های جعلی می‌تواند باعث redirect به صفحات ثبتی شود. استفاده از DoH با ارائه‌دهندهٔ معتبر (مانند Cloudflare 1.1.1.1 یا Quad9) هم امنیت و هم دسترسی بهتر را فراهم می‌کند.

تمرین عملی: پیکربندی UFW#

UFW (Uncomplicated Firewall) رابط ساده‌ای برای iptables/nftables در اوبونتو و دبیان است. سناریو: سرور وب با SSH، HTTP و HTTPS.

# تنظیم پیش‌فرض
sudo ufw default deny incoming
sudo ufw default allow outgoing
 
# اجازه SSH (اگر روی پورت پیش‌فرض است)
sudo ufw allow 22/tcp
 
# اگر SSH را روی پورت غیراستاندارد گذاشته‌اید
sudo ufw allow 2222/tcp
 
# اجازه HTTP و HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
 
# محدود کردن SSH به یک IP خاص (امن‌تر)
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
 
# فعال‌سازی
sudo ufw enable
# Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
 
# مشاهدهٔ وضعیت با شماره قانون‌ها
sudo ufw status verbose
sudo ufw status numbered
 
# حذف یک قانون با شماره
sudo ufw delete 3

قفل‌کردن خودتان بیرون

قبل از فعال‌سازی فایروال روی سرور راه دور، حتماً قانون SSH را اضافه کنید. اگر SSH را مسدود کنید، دسترسی خود را به سرور از دست می‌دهید و باید به‌صورت فیزیکی یا از کنسول کلاد وارد شوید. یک ترفند: cron job بگذارید که فایروال را بعد از ۵ دقیقه غیرفعال کند تا اگر اشتباه کردید، دسترسی برگردد.

پورت‌های رایج و پیامد امنیتی#

پورتسرویستوصیه
۲۲SSHفقط با کلید، غیرفعال‌کردن root login، تغییر پورت اختیاری
۲۳Telnetهرگز استفاده نشود؛ رمزگذاری ندارد
۲۵SMTPمحدود به سرور ایمیل؛ DKIM/SPF فعال
۵۳DNSDNSSEC و rate limiting
۸۰HTTPredirect به HTTPS
۴۴۳HTTPSTLS 1.3، HSTS
۳۳۸۹RDPهرگز روی اینترنت باز نشود؛ VPN + MFA
۳۳۰۶MySQLفقط روی شبکهٔ داخلی

خلاصه و گام بعدی#

در این فصل با مدل OSI، انواع فایروال، IDS/IPS، VPN، DMZ، VLAN، DDoS و امنیت DNS آشنا شدید. ترکیب این کنترل‌ها یک دفاع لایه‌لایه می‌سازد که مهاجم باید هر لایه را شکست دهد. به‌خاطر داشته باشید که بهترین فایروال‌ها هم اگر پیکربندی نشوند، بی‌فایده‌اند؛ اصل کمینه‌دسترسی را همیشه اعمال کنید.

در فصل بعد با OWASP Top 10 آشنا می‌شوید؛ فهرست ده آسیب‌پذیری بحرانی در اپلیکیشن‌های وب.

اشتراک‌گذاری:

این صفحه در تاریخ ۸ تیر ۱۴۰۵ به‌روزرسانی شده است.