Skip to content

Security: ehsanking/RBT

Security

SECURITY.md

🛡️ راهنمای امنیتی RBT

📋 فهرست مطالب


🔒 اصول امنیتی

🎯 مثلث امنیت سایبری

RBT بر اساس CIA Triad طراحی شده است:

  • Confidentiality (محرمانگی) - رمزگذاری قوی
  • Integrity (یکپارچگی) - امضای دیجیتال
  • Availability (در دسترس بودن) - زیرساخت مقاوم

🔐 اصول طراحی امن

  1. امنیت به‌صورت پیش‌فرض - تمام ویژگی‌ها با حداکثر امنیت فعال می‌شوند
  2. کمینه‌سازی سطح حمله - فقط سرویس‌های ضروری فعال هستند
  3. دفاع در عمق - چند لایه امنیتی
  4. عدم اعتماد پیش‌فرض - احراز هویت برای همه چیز

🛡️ ویژگی‌های امنیتی

🔐 رمزگذاری پیشرفته

ویژگی الگوریتم کلید وضعیت
رمزگذاری داده‌ها AES-256-GCM 256-bit ✅ فعال
امضای دیجیتال ECDSA P-384 384-bit ✅ فعال
تبادل کلید ECDH P-384 384-bit ✅ فعال
هش SHA-384 384-bit ✅ فعال

🛡️ سیستم‌های دفاعی

🚨 دیوار آتش هوشمند

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

🔍 سیستم تشخیص نفوذ (IDS)

  • تحلیل امضا - شناسایی حملات شناخته‌شده
  • تحلیل ناهنجاری - شناسایی رفتارهای غیرعادی
  • یادگیری ماشین - تشخیص حملات جدید
  • هشدارهای زمان واقعی - اطلاع‌رسانی فوری

🔐 پیکربندی امن

📝 تنظیمات امنیتی پیشنهادی

فایل config.toml - بخش امنیت

# RBT Security Configuration
# https://github.com/EHSANKiNG/RBT

[security]
# === CORE SECURITY ===
enable_security = true
security_level = "high"  # low, medium, high, maximum
auto_hardening = true

# === ENCRYPTION ===
encryption_algorithm = "AES-256-GCM"
key_rotation_interval = "24h"  # Rotate keys every 24 hours
perfect_forward_secrecy = true

# === AUTHENTICATION ===
enable_mfa = true
session_timeout = "30m"
max_login_attempts = 3
lockout_duration = "15m"

# === NETWORK SECURITY ===
enable_firewall = true
enable_ids = true
enable_dpi_bypass = true
ddos_protection = true

# === CERTIFICATES ===
auto_cert_generation = true
cert_validation = "strict"
min_cert_strength = "2048"

فایل .env - متغیرهای امنیتی

# === CRITICAL SECURITY VARIABLES ===
JWT_SECRET="minimum-32-characters-ultra-secure-random-string"
ENCRYPTION_KEY="256-bit-base64-encoded-encryption-key"
ADMIN_PASSWORD="complex-password-with-upper-lower-numbers-symbols-123!"

# === HCAPTCHA (ANTI-BOT) ===
HCAPTCHA_SITE_KEY="your-secure-hcaptcha-site-key"
HCAPTCHA_SECRET="your-secure-hcaptcha-secret-key"

# === SSL/TLS ===
SSL_CERT_PATH="./ssl/server.crt"
SSL_KEY_PATH="./ssl/server.key"
SSL_CA_PATH="./ssl/ca.crt"

# === MONITORING ALERTS ===
SECURITY_EMAIL="security@your-domain.com"
ALERT_WEBHOOK="https://your-webhook-url.com/alerts"

🔧 اسکریپت پیکربندی امن

#!/bin/bash
# RBT Security Hardening Script
# Run as root for maximum effectiveness

echo "🔒 Starting RBT Security Hardening..."

# 1. Update system
apt update && apt upgrade -y

# 2. Configure firewall
ufw --force enable
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp    # SSH
ufw allow 3000/tcp  # RBT Dashboard
ufw allow 9090/tcp  # RBT Metrics

# 3. Harden SSH
echo "PasswordAuthentication no" >> /etc/ssh/sshd_config
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
echo "MaxAuthTries 3" >> /etc/ssh/sshd_config
systemctl restart sshd

# 4. Configure fail2ban
apt install fail2ban -y
cat > /etc/fail2ban/jail.local << EOF
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3

[rbt]
enabled = true
port = 3000
filter = rbt
logpath = /var/log/rbt/auth.log
maxretry = 3
EOF

systemctl enable fail2ban
systemctl start fail2ban

echo "✅ Security hardening completed!"

📊 ممیزی امنیتی

🔍 ابزار ممیزی داخلی

# اجرای ممیزی کامل
npx tsx scripts/security-manager.ts audit

# ممیوز امنیتی سریع
npx tsx scripts/security-manager.ts quick-audit

# اسکن آسیب‌پذیری‌ها
npx tsx scripts/security-manager.ts vulnerability-scan

# گزارش امنیتی جامع
npx tsx scripts/security-manager.ts full-report

📋 چک‌لیست ممیزی

🔐 احراز هویت و مجوز

  • JWT secret قوی (حداقل 32 کاراکتر)
  • پیاده‌سازی MFA فعال است
  • Session timeout پیکربندی شده
  • Rate limiting فعال است
  • Account lockout پس از تلاش‌های ناموفق

🛡️ امنیت شبکه

  • Firewall پیکربندی شده
  • IDS/IPS فعال است
  • Port scanning protection
  • DDoS protection
  • IP whitelisting برای مدیریت

🔒 رمزگذاری

  • SSL/TLS با TLS 1.3
  • Certificate pinning
  • Perfect Forward Secrecy
  • Key rotation منظم
  • Data encryption at rest

📊 نظارت و گزارش‌گیری

  • Logging فعال و کامل
  • Real-time monitoring
  • Security alerts configured
  • Audit trail maintained
  • Regular security reports

🚨 مدیریت حوادث

🔄 پلن واکنش به حوادث

فاز 1: شناسایی (Detection)

# مانیتورینگ real-time
tail -f /var/log/rbt/security.log | grep "ALERT\|ERROR\|CRITICAL"

# بررسی لاگ‌های سیستم
journalctl -u rbt -f --since "5 minutes ago"

# بررسی اتصالات مشکوک
netstat -tulpn | grep ESTABLISHED | wc -l

فاز 2: مهار (Containment)

# بلاک کردن IP مشکوه
npx tsx scripts/security-manager.ts block-ip 1.2.3.4

# غیرفعال کردن اکانت مشکوک
npx tsx scripts/security-manager.ts disable-user suspicious-user

# ایزوله کردن سرویس
systemctl stop rbt

فاز 3: حذف (Eradication)

# حذف فایل‌های مخرب
find /var/lib/rbt -name "*.malicious" -delete

# پاکسازی کش و لاگ‌ها
npx tsx scripts/security-manager.ts cleanup

# بازنشانی پیکربندی به حالت امن
cp config.secure.toml config.toml

فاز 4: بازیابی (Recovery)

# بررسی یکپارچگی سیستم
npx tsx scripts/security-manager.ts integrity-check

# بازگردانی از بکاپ
npx tsx scripts/backup-manager.ts restore --date 2024-01-15

# راه‌اندازی مجدد سرویس
systemctl start rbt

🔄 به‌روزرسانی امنیتی

🛡️ برنامه به‌روزرسانی

📅 به‌روزرسانی‌های منظم

  • روزانه: Definition updates برای IDS
  • هفتگی: Security patches سیستم عامل
  • ماهانه: به‌روزرسانی نرم‌افزار RBT
  • فصلی: Security audit کامل

🔄 اسکریپت به‌روزرسانی خودکار

#!/bin/bash
# RBT Security Update Script
# Run weekly via cron

echo "🔄 Starting security updates..."

# 1. Update system packages
apt update && apt upgrade -y

# 2. Update RBT
npm update

# 3. Update security definitions
npx tsx scripts/security-manager.ts update-definitions

# 4. Renew certificates
npx tsx scripts/security-manager.ts renew-certs

# 5. Run security scan
npx tsx scripts/security-manager.ts scan

# 6. Generate report
npx tsx scripts/security-manager.ts report --format json > security-report-$(date +%Y%m%d).json

echo "✅ Security updates completed!"

📊 گزارش‌های امنیتی

# گزارش هفتگی
npx tsx scripts/security-manager.ts weekly-report

# گزارش ماهانه
npx tsx scripts/security-manager.ts monthly-report

# گزارش سالانه
npx tsx scripts/security-manager.ts annual-report

# گزارش سفارشی
npx tsx scripts/security-manager.ts custom-report --start-date 2024-01-01 --end-date 2024-01-31

📞 تماس اضطراری

🚨 موارد اضطراری

در صورت بروز حوادث امنیتی جدی:

  1. ایزوله کردن سیستم فوراً
  2. جمع‌آوری شواهد - لاگ‌ها و فایل‌ها را ذخیره کنید
  3. ارسال هشدار - به تیم امنیت و مدیریت
  4. فعال‌سازی پلن بازیابی - از بکاپ‌های امن
  5. ثبت گزارش - تمام جزئیات را مستند کنید

📞 اطلاعات تماس


🛡️ امنیت مسئولیت مشترک ماست - با هم سیستمی امن بسازیم!

There aren’t any published security advisories