فصل ۱۲: پروژه نهایی و جمعبندی
مرور کلی دوره، پروژهٔ نهایی سختسازی سرور لینوکس از صفر با UFW، SSH، مانیتورینگ لاگ و Lynis، چکلیست خودارزیابی و گامهای بعدی برای ادامهٔ مسیر.
مرور مسیر
خوشآمدید به فصل پایانی دورهٔ «پایههای امنیت سایبری». در طول ۱۱ فصل گذشته، سفری ساختاریافته از مفاهیم بنیادی تا کنترلهای عملی را طی کردید:
- فصل ۱: امنیت سایبری چیست، مدل CIA، انواع تهدیدات، مشاغل
- فصل ۲: مدلهای تهدید STRIDE، DREAD، PASTA و درخت حمله
- فصل ۳: رمزنگاری متقارن و نامتقارن، هش، امضای دیجیتال، TLS 1.3 و GPG
- فصل ۴: احراز هویت و دسترسی، MFA، SSO، JWT، Zero Trust
- فصل ۵: امنیت شبکه، OSI، فایروال، IDS/IPS، VPN، DMZ، DDoS و UFW
- فصل ۶: OWASP Top 10 با کد آسیبپذیر و اصلاحشده و تمرین DVWA
- فصل ۷: بدافزار، باجافزار، مسیرهای آلودگی و اسکن با ClamAV
- فصل ۸: مهندسی اجتماعی، فیشینگ، Vishing، Smishing و Watering Hole
- فصل ۹: پاسخ به حادثه با چرخهٔ NIST و SANS و پزشکی قانونی دیجیتال
- فصل ۱۰: امنیت لینوکس، SSH، SELinux/AppArmor، auditd و Lynis
- فصل ۱۱: چارچوبهای NIST CSF، ISO 27001، CIS Controls، PCI DSS و SOC 2
این پایهٔ دانش لازم برای ورود به حوزههای تخصصیتر مانند تست نفوذ، مهندسی امنیت ابری و تحلیل بدافزار است.
پروژهٔ نهایی: سختسازی سرور لینوکس از صفر
پروژهٔ نهایی این است: یک سرور اوبونتو ۲۴٫۰۴ تازهنصبشده را تا سطح قابلدفاع سختسازی کنید. هر مرحله با کار عملی و خروجی قابلممیزی همراه است.
پیشنیاز
برای این پروژه به یک ماشین مجازی (VirtualBox، VMware یا VPS ابری) با اوبونتو ۲۴٫۰۴ LTS نیاز دارید. دسترسی sudo و یک کاربر غیر root الزامی است. هرگز روی سرور تولیدی آزمایش نکنید؛ ابتدا در محیط آزمایشگاهی تمرین کنید.
مرحلهٔ ۱: نصب و پیکربندی فایروال UFW
اولین کنترل، محدود کردن حملات پیش از رسیدن به سرویسهاست. UFW رابط سادهٔ iptables/nftables است.
# نصب و فعالسازی
sudo apt update
sudo apt install ufw
# سیاست پیشفرض: مسدود همهٔ ورودی، مجاز همهٔ خروجی
sudo ufw default deny incoming
sudo ufw default allow outgoing
# مجاز کردن SSH (روی پورت ۲۲۲۲ که در مرحلهٔ ۲ تغییر میدهیم)
sudo ufw allow 2222/tcp comment 'SSH hardened port'
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'
# محدود کردن SSH به یک IP خاص (اختیاری اما توصیهشده)
sudo ufw allow from 203.0.113.10 to any port 2222 proto tcp
# فعالسازی
sudo ufw enable
sudo ufw status verbose
sudo ufw status numberedخودتان را بیرون نیندازید
قبل از فعالکردن UFW، مطمئن شوید پورت SSH مجاز شده است؛ وگرنه دسترسی خود را از دست میدهید. اگر روی VPS ابری هستید، اکثر ارائهدهندگان کنسول وب دارند که میتوانید از آن طریق قواعد UFW را اصلاح کنید.
مرحلهٔ ۲: سختسازی SSH
SSH پربازدیدترین سرویس هدف است. سه کنترل کلیدی: کلید عمومی بهجای رمز، غیرفعالکردن ورود root و نصب fail2ban.
# روی ماشین محلی: تولید کلید ED25519 (امنتر و کوتاهتر از RSA)
ssh-keygen -t ed25519 -a 100 -C "user@laptop-2026" -f ~/.ssh/server_ed25519
# کپی کلید عمومی به سرور
ssh-copy-id -i ~/.ssh/server_ed25519.pub user@server-ip
# روی سرور: ویرایش پیکربندی SSH
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_configتغییرات لازم:
Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no
MaxAuthTries 3
LoginGraceTime 30
AllowUsers user
X11Forwarding no
ClientAliveInterval 300
ClientAliveCountMax 0# اعتبارسنجی و اعمال
sudo sshd -t
sudo systemctl restart sshd
# نصب fail2ban
sudo apt install fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshdقبل از بستن ترمینال فعلی، یک ترمینال جدید باز کنید و ورود با کلید را تست کنید تا مطمئن شوید قفل نشدهاید.
مرحلهٔ ۳: راهاندازی مانیتورینگ لاگ
برای کشف بهموقع حادثه، لاگها باید فعال مانیتور شوند. یک اسکریپت سادهٔ روزانه برای خلاصهٔ تلاشهای ناموفق SSH:
sudo tee /usr/local/bin/ssh-summary.sh > /dev/null << 'EOF'
#!/bin/bash
echo "=== خلاصهٔ تلاشهای ناموفق SSH در ۲۴ ساعت گذشته ==="
sudo journalctl -u sshd --since "24 hours ago" \
| grep "Failed password" \
| awk '{print $(NF-3)}' \
| sort \
| uniq -c \
| sort -nr \
| head -10
echo ""
echo "=== ورودهای موفق اخیر ==="
sudo journalctl -u sshd --since "24 hours ago" \
| grep "Accepted publickey" \
| awk '{print $11, $NF}'
EOF
sudo chmod +x /usr/local/bin/ssh-summary.sh
sudo /usr/local/bin/ssh-summary.shافزودن به cron برای اجرای روزانه و ارسال ایمیل:
sudo crontab -e
# اضافه کنید:
0 8 * * * /usr/local/bin/ssh-summary.sh | mail -s "SSH Daily Report" admin@example.comمرحلهٔ ۴: ممیزی با Lynis
پس از اعمال همهٔ کنترلها، یک ممیزی امنیتی کامل اجرا کنید:
sudo apt install lynis
sudo lynis audit system --pentest | tee lynis-$(date +%F).txt
# استخراج هشدارها و توصیهها
sudo lynis show warnings
sudo lynis show suggestionsهدف: رسیدن به Hardening Index حداقل ۸۰ از ۱۰۰. هر هشدار و توصیهٔ با اولویت بالا را برطرف کنید و گزارش نهایی را ذخیره کنید.
مرحلهٔ ۵: مستندسازی اقدامات امنیتی
مستندسازی، خود یک کنترل امنیتی است (و برای انطباق ISO 27001 و SOC 2 الزامی). یک سند Markdown با این بخشها ایجاد کنید:
# مستند سختسازی سرور web-prod-01
## اطلاعات سرور
- hostname: web-prod-01
- IP: 203.0.113.50
- OS: Ubuntu 24.04 LTS
- تاریخ پیکربندی: 1405/04/10
## کنترلهای اعمالشده
1. فایروال UFW با سیاست Deny پیشفرض
- پورتهای مجاز: 2222 (SSH)، 80 (HTTP)، 443 (HTTPS)
2. SSH سختسازیشده
- پورت 2222، کلید ED25519، PasswordAuthentication=no
- PermitRootLogin=no، AllowUsers=user
3. fail2ban فعال با jail sshd (5 ناموفق → 10 دقیقه ban)
4. مانیتورینگ لاگ با اسکریپت روزانه
5. بهروزرسانی خودکار امنیتی (unattended-upgrades)
6. AppArmor در حالت Enforce
7. پشتیبان روزانه باborgbackup به سرور آفلاین
## Lynis Report
- Hardening Index: 84/100
- تاریخ ممیزی: 1405/04/10
## اقدامات آینده
- [ ] نصب Wazuh agent برای مانیتورینگ متمرکز
- [ ] فعالسازی auditd برای فایلهای حساس
- [ ] تست بازیابی پشتیبان هر سه ماهچکلیست خودارزیابی
پاسخ «بله» به هر سوال نشاندهندهٔ تسلط بر آن حوزه است:
- میتوانم مدل CIA را با مثال توضیح دهم؟
- میتوانم یک سناریو را با STRIDE تحلیل کنم؟
- تفاوت AES و RSA و کاربرد هرکدام را میدانم؟
- میتوانم MFA را با TOTP پیاده کنم؟
- تفاوت IDS و IPS و فایروال را توضیح میدهم؟
- هر ۱۰ آسیبپذیری OWASP Top 10 را میتوانم نام ببرم؟
- آناتومی یک حملهٔ باجافزاری را توضیح میدهم؟
- میتوانم یک ایمیل فیشینگ را تشخیص دهم؟
- شش مرحلهٔ IR SANS را میدانم؟
- SSH را به کلید عمومی محدود میکنم؟
- تفاوت SELinux و AppArmor را میدانم؟
- پنج تابع NIST CSF را نام میبرم؟
- یک سرور لینوکس را از صفر سختسازی کردهام؟
گامهای بعدی
این دوره پایهای بود؛ مسیر ادامه دارد. سه مسیر پیشنهادی:
۱. دورهٔ هک قانونمند و تست نفوذ
اگر به سمت Pentester میخواهید بروید، دورهٔ هک قانونمند را در همین پلتفرم دنبال کنید. این دوره شامل متدولوژی PTES، OSINT، اسکن Nmap، استثمار با Metasploit، هک وب و حملات بیسیم است.
۲. مدرکهای حرفهای
- CompTIA Security+ — بهترین نقطهٔ ورود، گواهی پایهای بینالمللی
- CEH (Certified Ethical Hacker) — مدرک رسمی هک قانونمند EC-Council
- OSCP (Offensive Security Certified Professional) — سختترین و معتبرترین مدرک عملی تست نفوذ با آزمون ۲۴ ساعته
- CISSP — برای مدیران امنیت (CISO)، نیازمند ۵ سال تجربه
- CISM — مدیریت امنیت اطلاعات
۳. پلتفرمهای تمرین عملی
- TryHackMe — بهترین شروع برای مبتدی با مسیرهای ساختاریافته
- HackTheBox — چالشهای پیشرفته با ماشینهای واقعی
- PortSwigger Web Security Academy — تمرین رایگان OWASP Top 10 از سازندهٔ Burp Suite
- OverTheWire — وارشهای خط فرمان برای تقویت مهارت لینوکس
منابع تکمیلی
- فصل ۱: مقدمهای بر امنیت سایبری — مرور چارچوب کلی
- فصل ۵: امنیت شبکه — عمیقتر در UFW و فایروال
- فصل ۱۰: امنیت لینوکس — مرجع کامل سختسازی
- کتاب The Web Application Hacker's Handbook — مرجع کلاسیک هک وب
- کتاب Practical Malware Analysis — برای ورود به تحلیل بدافزار
- پادکست Darknet Diaries — داستانهای واقعی از دنیای سایبری
تبریک! دوره را تکمیل کردید
شما با موفقیت ۱۲ فصل پایههای امنیت سایبری را پشت سر گذاشتید. این پایان راه نیست، آغاز آن است. امنیت سایبری یک حوزهٔ در حال تغییر است؛ هر هفته یک آسیبپذیری جدید، یک تکنیک جدید، یک ابزار جدید. کنجکاوی، تمرین مداوم و یادگیری مادامالعمر سه کلید موفقیت در این مسیرند. به جوامع امنیتی بپیوندید، در CTF شرکت کنید، و دانش خود را به دیگران منتقل کنید. موفق باشید.
جمعبندی نهایی
در این ۱۲ فصل، شما از مفاهیم بنیادی امنیت سایبری تا کنترلهای عملی و چارچوبهای حاکمیتی سفر کردید. اکنون میتوانید یک سیستم را تحلیل ریسک کنید، کنترلهای فنی پیادهسازی کنید، به حوادث پاسخ ساختاریافته بدهید و سازمان را با چارچوبهای بینالمللی ارزیابی کنید. مهمترین درس کل دوره: امنیت یک فرایند مستمر است، نه یک محصول یا یک وضعیت نهایی.
گام بعدی با شماست.
این صفحه در تاریخ ۸ تیر ۱۴۰۵ بهروزرسانی شده است.