Skip to content

achiya-automation/waha-secure-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WAHA Secure Installation Script

סקריפט התקנה אוטומטי מאובטח ל-WAHA (WhatsApp HTTP API) על Ubuntu 22.04.

✨ תכונות

🔐 אבטחה מקסימלית

  • SSH מחוזק: פורט מותאם אישית, ללא סיסמאות (רק SSH keys)
  • Firewall (UFW): רק פורטים נדרשים פתוחים
  • Fail2ban: 4 jails להגנה על SSH ו-Nginx
  • SSL/TLS: תמיכה ב-TLS 1.3 עם Ciphers חזקים
  • עדכוני אבטחה אוטומטיים: unattended-upgrades מוגדר
  • חיזוק Kernel: הגנה מפני SYN Flood, IP Spoofing ועוד
  • ניטור יומי: בדיקת אבטחה אוטומטית

📦 WAHA

  • ברירת מחדל: גרסה חינמית (WEBJS) - לא דורש רישיון!
  • תמיכה בכל המנועים: WEBJS (חינמי), NOWEB, VENOM, GOWS (דורשים PRO)
  • תמיכה ב-WAHA PRO עם מפתח רישיון (אופציונלי)
  • Docker Compose מוכן לשימוש
  • Nginx Reverse Proxy עם SSL

🎯 אוטומציה מלאה

  • התקנה אינטראקטיבית עם שאלות ברורות
  • ייצור אקראי של סיסמאות מאובטחות
  • שמירה מאובטחת של credentials
  • ללא הדפסת מידע רגיש ללוגים

📋 דרישות מוקדמות

  1. שרת נקי עם Ubuntu 22.04 LTS
  2. גישת root (או sudo)
  3. מפתח SSH להתחברות (לא סיסמה!)
  4. דומיין המכוון לשרת
  5. תעודת SSL מ-Cloudflare (או CA אחר)

🚀 התקנה

התקנה מהירה בפקודה אחת (מומלץ!)

התחבר לשרת והרץ:

wget -qO /tmp/install-waha.sh https://raw.githubusercontent.com/achiya-automation/waha-secure-install/main/install-waha.sh && chmod +x /tmp/install-waha.sh && bash /tmp/install-waha.sh

או עם curl:

curl -fsSL https://raw.githubusercontent.com/achiya-automation/waha-secure-install/main/install-waha.sh -o /tmp/install-waha.sh && chmod +x /tmp/install-waha.sh && bash /tmp/install-waha.sh

הסקריפט יבקש ממך:

  1. דומיין - הדומיין שלך (למשל: waha.example.com)
  2. פורט SSH - בחר פורט (ברירת מחדל: 2222)
  3. מנוע WAHA - בחר: 1=WEBJS (חינמי), 2=NOWEB, 3=VENOM, 4=GOWS
  4. רישיון PRO - אם יש לך (y/n)
  5. תעודת SSL - העתק-הדבק את התעודה המלאה, לחץ Enter וכתוב END
  6. מפתח SSL - העתק-הדבק את המפתח הפרטי, לחץ Enter וכתוב END
  7. אישור - y להתחלת ההתקנה

הורדה ידנית (אופציונלי)

שלב 1: העתק את הסקריפט לשרת

# על המחשב המקומי שלך
scp install-waha.sh root@your-server-ip:/root/

שלב 2: הכנס לשרת

ssh root@your-server-ip

שלב 3: הרץ את הסקריפט

cd /root
chmod +x install-waha.sh
sudo bash install-waha.sh

📝 מה הסקריפט ישאל אותך

1. דומיין

Enter your domain name (e.g., waha.example.com):

הזן את הדומיין שלך, למשל: waha.mydomain.com

2. פורט SSH

Enter SSH port (default: 2222):

בחר פורט SSH (ברירת מחדל: 2222). פורט לא סטנדרטי מגביר אבטחה.

3. מנוע WAHA

Available WAHA Engines:
  1) WEBJS (default, free)
  2) NOWEB (requires PRO)
  3) VENOM (requires PRO)
  4) GOWS (requires PRO)
Select engine (1-4, default: 1):

בחר מנוע:

  • WEBJS: חינמי, מבוסס Puppeteer
  • NOWEB: דורש PRO, בלי דפדפן
  • VENOM: דורש PRO, מהיר יותר
  • GOWS: דורש PRO, GoWhatsApp Socket

4. רישיון PRO (אופציונלי)

Do you have a WAHA PRO license? (y/N):

אם יש לך רישיון PRO:

  • הקלד y
  • הדבק את מפתח הרישיון

5. תעודות SSL

Paste your SSL CERTIFICATE (including -----BEGIN CERTIFICATE----- ...):

הדבק את תעודת ה-SSL שלך ולחץ Ctrl+D

Paste your SSL PRIVATE KEY (including -----BEGIN PRIVATE KEY----- ...):

הדבק את המפתח הפרטי ולחץ Ctrl+D

6. אישור

Proceed with installation? (y/N):

הקלד y כדי להתחיל את ההתקנה.

📦 מה הסקריפט מתקין

  1. ✅ עדכוני מערכת
  2. ✅ Docker & Docker Compose
  3. ✅ UFW Firewall
  4. ✅ Nginx עם SSL
  5. ✅ WAHA (Docker container)
  6. ✅ SSH מחוזק
  7. ✅ Fail2ban
  8. ✅ עדכוני אבטחה אוטומטיים
  9. ✅ חיזוק Kernel
  10. ✅ ניטור אבטחה יומי

🔑 Credentials

לאחר ההתקנה, הסקריפט ישמור את ה-credentials שלך ב:

/root/waha-credentials.txt

לצפייה:

cat /root/waha-credentials.txt

הקובץ מוגן עם הרשאות 600 (רק root יכול לקרוא).

🛠️ פקודות שימושיות

ניהול WAHA

# צפה בלוגים
docker logs waha -f

# הפעל מחדש
cd /opt/waha && docker compose restart

# עצור
cd /opt/waha && docker compose down

# הפעל
cd /opt/waha && docker compose up -d

# סטטוס
cd /opt/waha && docker compose ps

אבטחה

# סטטוס Firewall
sudo ufw status verbose

# סטטוס Fail2ban
sudo fail2ban-client status

# בדוק IP-ים חסומים ב-SSH
sudo fail2ban-client status sshd

# צפה בלוג אבטחה יומי
cat /var/log/security-check.log

# הרץ בדיקת אבטחה ידנית
/opt/monitoring/daily-security-check.sh

Nginx

# בדוק תצורה
sudo nginx -t

# הפעל מחדש
sudo systemctl restart nginx

# צפה בלוגים
sudo tail -f /var/log/nginx/your-domain-access.log
sudo tail -f /var/log/nginx/your-domain-error.log

⚠️ הערות חשובות

SSH Port Changed

לאחר ההתקנה, פורט ה-SSH ישתנה!

התחבר עם:

ssh -p YOUR_SSH_PORT root@your-server-ip

Password Authentication Disabled

ניתן להתחבר רק עם SSH keys. אם אין לך SSH key, אל תריץ את הסקריפט לפני שתגדיר אחד!

Credentials Security

  • ה-credentials נשמרים ב-/root/waha-credentials.txt
  • העתק אותם למקום מאובטח!
  • השתמש במנהל סיסמאות
  • אל תשמור במייל או בענן לא מוצפן

🔒 רמת אבטחה

הסקריפט מיישם:

תחום רמת אבטחה
SSH ⭐⭐⭐⭐⭐ Keys only, non-standard port
Firewall ⭐⭐⭐⭐⭐ Minimal ports, strict rules
SSL/TLS ⭐⭐⭐⭐⭐ TLS 1.3, strong ciphers
Fail2ban ⭐⭐⭐⭐⭐ 4 jails active
Updates ⭐⭐⭐⭐⭐ Automatic security updates
Monitoring ⭐⭐⭐⭐⭐ Daily security checks
Kernel ⭐⭐⭐⭐⭐ Hardened parameters

דירוג כולל: A+ 🏆

📌 הערה חשובה על IP Forwarding

הסקריפט מפעיל את net.ipv4.ip_forward = 1 כדי לאפשר ל-Docker לעבוד תקין.

זה בטוח לחלוטין! 🛡️

  • Docker חייב את זה כדי להעביר תעבורת רשת מהקונטיינרים לאינטרנט
  • זה לא פותח את השרת שלך לאינטרנט
  • חומת האש (UFW) עדיין מגנה עליך
  • הקונטיינרים מבודדים ומוגנים על ידי Docker
  • בלי זה - WAHA לא יוכל להתחבר ל-WhatsApp!

📊 השפעה על משאבים

השיפורים האבטחתיים צורכים:

  • RAM: ~50 MB (1-2%)
  • CPU: ~0%
  • Disk: ~100 MB

השרת נשאר מהיר ויעיל! ⚡

🐛 פתרון בעיות

WAHA תקוע ב-"Starting" / לא מצליח לסרוק QR

# בדוק אם IP forwarding מופעל
sysctl net.ipv4.ip_forward
# צריך להראות: net.ipv4.ip_forward = 1

# אם זה 0, הפעל אותו:
sudo sysctl -w net.ipv4.ip_forward=1

# בדוק שהקונטיינר יכול להתחבר לאינטרנט:
docker exec waha curl -I https://web.whatsapp.com

# אם זה תקוע - הפעל מחדש את הקונטיינר:
cd /opt/waha && docker compose restart

לא יכול להתחבר ב-SSH

# בדוק שהפורט הנכון נפתח ב-firewall
sudo ufw status | grep SSH_PORT

# בדוק ש-SSH רץ
sudo systemctl status sshd

WAHA לא עובד

# בדוק לוגים
docker logs waha

# בדוק שהקונטיינר רץ
docker ps -a

# הפעל מחדש
cd /opt/waha && docker compose restart

Nginx Error 502

# בדוק ש-WAHA רץ
docker ps | grep waha

# בדוק לוגי Nginx
sudo tail -f /var/log/nginx/*error.log

אין גישה לדומיין

# בדוק DNS
nslookup your-domain.com

# בדוק SSL certificates
sudo ls -la /etc/nginx/ssl/your-domain/

# בדוק Nginx config
sudo nginx -t

📚 מידע נוסף

🆘 תמיכה

אם נתקלת בבעיה:

  1. בדוק את הלוגים
  2. הרץ בדיקת אבטחה: /opt/monitoring/daily-security-check.sh
  3. בדוק תיעוד של WAHA
  4. פתח issue ב-GitHub של WAHA

📜 רישיון

הסקריפט הזה הוא קוד פתוח. השתמש בו בחופשיות!


נוצר עם ❤️ לשם הקלה על התקנת WAHA מאובטחת

About

🔐 Automated WAHA installation script with maximum security hardening for Ubuntu 22.04. Includes SSL/TLS, Fail2ban, UFW firewall, SSH hardening, and daily security monitoring.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages