Skip to main content
< All Topics
Print

המדריך המעמיק: הקמת SOC עם Wazuh, הקשחה וניהול תקלות

מערכת SIEM מורכבת דורשת הרבה יותר מ"התקנה רגילה". במדריך המקיף הזה, המיועד לאנשי סיסטם ו-IT, נרד לפרטים הטכניים ביותר: מקינפוג הווירטואליזציה ב-Hyper-V, דרך אבטחה מחמירה ללינוקס (UFW, Fail2ban, SSH Hardening), ועד לכוונון משאבים (Performance Tuning) ופתרון תקלות.

🖥️ שלב 1: תשתית Hyper-V והכנת מערכת ההפעלה

1

יצירת ה-Virtual Machine (VM)

צרו מכונת Ubuntu Server 22.04 LTS (ללא ממשק גרפי) מסוג Generation 2 ב-Hyper-V עם המפרט הבא:

  • vCPU: לפחות 4 ליבות (Cores). חובה 8 ליבות לרשתות מעל 50 מחשבים.
  • RAM: 16GB. מנוע החיפוש זקוק להרבה זיכרון כדי לפענח לוגים בזמן אמת.
  • אחסון (Storage): מינימום 100GB SSD או NVMe חובה. דיסק מכני (HDD) יחנוק את המערכת.
  • רשת: Virtual Switch מסוג External.
2

הגדרת IP קבוע (Static IP)

ערכו את הגדרות ה-Netplan כדי להקצות IP קבוע שסוכני הרשת יוכלו לדבר איתו (בדוגמה: 192.168.1.50).

Bash
sudo nano /etc/netplan/00-installer-config.yaml
YAML
network: ethernets: eth0: dhcp4: no addresses: – 192.168.1.50/24 routes: – to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] version: 2

שמרו והריצו: sudo netplan apply.

⚙️ שלב 2: התקנת Wazuh (סקריפט אוטומטי)

3

הרצת סקריפט ה-Quickstart

התחברו לשרת דרך SSH והריצו את הפקודה הבאה שמתקינה הכל בלחיצה (לוקח כ-15 דקות):

Bash
curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh && sudo bash ./wazuh-install.sh -a

הסקריפט מייצר תעודות SSL/TLS, מרים שרת Nginx, ומדפיס בסיום שם משתמש (admin) וסיסמה. העתיקו אותה, כנסו דרך הדפדפן ל- https://192.168.1.50 ואשרו את שגיאת התעודה החתומה עצמית.

🌍 שלב 3: התקנת סוכנים (LAN ו-WAN)

4

התקנה ברשת הפנימית (LAN)

גשו בממשק אל Wazuh > Agents > Deploy new agent. בכתובת השרת רשמו את ה-IP הפנימי (192.168.1.50). במחשב היעד (Windows), פתחו PowerShell כ-Administrator, הדביקו את הפקודה שנוצרה, והפעילו את השירות:

PowerShell
NET START WazuhSvc
5

התקנה מרוחקת (WAN) דרך האינטרנט

1. הגדרת הפיירוול הארגוני (NAT): צרו חוק ניתוב מה-IP הציבורי של המשרד אל ה-IP הפנימי של השרת רק לפורטים 1514 (לוגים) ו-1515 (רישום).

2. הפקת הפקודה המרוחקת: במחולל ב-Dashboard, הזינו את ה-IP הציבורי שלכם (לדוגמה 82.11.22.33). הפקודה שתריצו אצל העובד תיראה כך:

PowerShell (דוגמה למרוחק)
Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.x.msi -OutFile ${env.tmp}\wazuh-agent.msi; msiexec.exe /i ${env.tmp}\wazuh-agent.msi /q WAZUH_MANAGER='82.11.22.33' WAZUH_REGISTRATION_SERVER='82.11.22.33'

🔒 שלב 4: אבטחה והקשחת שרת (Server Hardening)

חשיפת שרת אבטחה לאינטרנט דורשת הגנה אקטיבית על מערכת הלינוקס שלו מפני מתקפות וניסיונות חדירה.

6

חומת האש המקומית (UFW Firewall)

נחסום הכל ונפתח אך ורק את הפורטים החיוניים למערכת (SSH, Dashboard, Wazuh Agents):

Bash
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 22/tcp sudo ufw allow 443/tcp sudo ufw allow 1514/tcp sudo ufw allow 1515/tcp sudo ufw enable
7

הגנה ממתקפות Brute-Force (Fail2ban)

נתקין את מנגנון Fail2ban שינטר את קובצי הלוג של ה-SSH. כל כתובת IP שתטעה בסיסמה 3 פעמים – תיחסם ברמת הרשת למשך חצי שעה.

Bash
sudo apt install fail2ban -y sudo systemctl enable fail2ban sudo nano /etc/fail2ban/jail.local

הדביקו בתוך הקובץ הריק את חוקי החסימה:

jail.local
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 findtime = 600 bantime = 1800

שמרו (Ctrl+O, Ctrl+X) והריצו: sudo systemctl restart fail2ban.

8

הקשחת SSH (ביטול גישת Root)

התוקפים תמיד ינסו להתחבר למשתמש ה-"root". אנו נחסום לחלוטין את אפשרות ההתחברות אליו מרחוק (יהיה חובה להתחבר עם המשתמש הרגיל שלכם ואז לבצע sudo).

Bash
sudo nano /etc/ssh/sshd_config

חפשו את השורה PermitRootLogin ושנו אותה למצב no. לאחר השמירה, רעננו את השירות:

Bash
sudo systemctl restart sshd
9

עדכוני אבטחה אוטומטיים (Zero-Day Protection)

שרת אבטחה חייב להיות מוגן מחולשות חדשות שמתגלות בלינוקס. נגדיר הורדה והתקנה אוטומטית של עדכוני אבטחה חיוניים בכל לילה:

Bash
sudo apt install unattended-upgrades -y sudo dpkg-reconfigure –priority=low unattended-upgrades

במסך הכחול שיופיע, בחרו ב-Yes ולחצו Enter.

🚀 שלב 5: כוונון ביצועים (Performance Tuning)

שליטה על זיכרון ה-RAM (ה-JVM Heap)

ה-Wazuh Indexer לוקח כברירת מחדל אוטומטית 50% מכמות ה-RAM בשרת. אם תרצו להגביל אותו כדי למנוע קריסות של השרת תחת עומס גבוה, תוכלו להגדיר זאת ידנית:

Bash
sudo nano /etc/wazuh-indexer/jvm.options

חפשו את השורות -Xms ו--Xmx, ושנו אותן (למשל ל-4GB): -Xms4g ו--Xmx4g. שמרו והריצו sudo systemctl restart wazuh-indexer.

🔧 שלב 6: פתרון תקלות נפוצות (Troubleshooting)

תקלה 1: סוכן מסרב להתחבר (Status: Never Connected)

תיאור: התקנתם סוכן בתחנת Windows אבל הוא לא מופיע בדאשבורד.

הפתרון: קובץ הלוג המקומי של הסוכן נמצא בתחנת הקצה. פתחו PowerShell כמנהל בתחנת הקצה שבה מותקן הסוכן, והריצו את הפקודה הבאה שקוראת את 20 השורות האחרונות בלוג:

PowerShell
Get-Content "C:\Program Files (x86)\ossec-agent\ossec.log" -Tail 20

אם אתם רואים שגיאות של Timeout או Unable to connect to..., ודאו באמצעות הפקודה Test-NetConnection -ComputerName 192.168.1.50 -Port 1514 שמחשב הקצה אכן מסוגל טכנית להגיע אל השרת והפיירוול בארגון לא חוסם אותו.

תקלה 2: הדאשבורד קורס (Error 503 / Shards Failed)

תיאור: הכל עבד מעולה, ואז בוקר אחד אתם מנסים להיכנס לדאשבורד ורואים שגיאה (Wazuh dashboard server is not ready) והמערכת נראית שבורה.

הפתרון: התקלה הנפוצה ביותר. הדיסק שלכם התמלא! ה-Wazuh Indexer בנוי עם מנגנון הגנה. ברגע שהדיסק עובר את רף ה-90% תפוסה, מסד הנתונים נועל את עצמו למצב "קריאה בלבד" (Read-only) וקורס כדי לא להשחית קבצים.
היכנסו לשרת והריצו פקודת df -h. אם אתם רואים שמחיצת / מפוצצת, עליכם להגדיל את הכונן ב-Hyper-V, להרחיב אותו בלינוקס, ולאחר מכן לנקות אינדקסים ישנים ב-Wazuh (להפעיל שירות ILM שימחק לוגים בני יותר מ-30 יום).

Go to Top