28 דצמבר 2024 קריאה של 9 דקות אבטחת שרתים

5 צעדים להקשחת שרתים בארגון

שרתים הם לב פועם של כל ארגון, ומטרה מרכזית לתוקפים. מדריך מקיף להקשחת שרתים Windows ו-Linux בהתאם לסטנדרטים הבינלאומיים - CIS Benchmarks, NIST, ו-DISA STIG.

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

מה זה הקשחת שרתים ולמה זה קריטי?

Server Hardening היא מתודולוגיה לחיזוק אבטחת שרתים על ידי:

  • הסרת רכיבים מיותרים: ביטול שירותים, אפליקציות ופורטים שלא בשימוש
  • חיזוק תצורה: שינוי הגדרות ברירת מחדל לאפשרויות מאובטחות יותר
  • בקרת גישה: ניהול הרשאות ואימות משתמשים בצורה קפדנית
  • עדכוני אבטחה: תיקון פגיעויות באופן שוטף וסדור
  • ניטור ולוגים: מעקב אחר פעילות חריגה ואירועי אבטחה

למה הקשחת שרתים היא קריטית?

מטרה ראשונית לתוקפים: 93% מהפריצות לארגונים מתחילות בשרתים חשופים

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

חשיפה לאינטרנט: שרתי Web, Mail, VPN חשופים לרשת הפתוחה

דרישות רגולציה: PCI-DSS, HIPAA, ISO 27001 מחייבים הקשחה

עלות פריצה: עלות ממוצעת של פריצה - $4.45M (IBM Security 2023)

5 הצעדים המרכזיים להקשחת שרתים

1

הסרת שירותים ורכיבים מיותרים

עקרון "Minimal Install": כל שירות או אפליקציה שמותקנים על השרת הם נקודת תורפה פוטנציאלית. ככל שיש פחות קוד רץ - כך משטח התקיפה קטן יותר.

Windows Server

  • הסרת תפקידים מיותרים: Server Manager → Remove Roles and Features
  • כיבוי שירותים: services.msc - Disable: Print Spooler, Remote Registry, Telnet
  • הסרת תוכנות: Apps & Features - הסר כל תוכנה שלא קריטית
  • PowerShell Remoting: אם לא בשימוש: Disable-PSRemoting
  • SMBv1: השבת גרסה ישנה: Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

Linux Server

  • רשימת שירותים: systemctl list-unit-files --type=service
  • השבתה: systemctl disable [service-name]
  • הסרת חבילות: apt remove / yum remove - Telnet, FTP, NFS (אם לא דרוש)
  • X Window System: על שרתים - לא צריך GUI, הסר: apt remove xserver-xorg*
  • Kernel modules מיותרים: בדוק ב-/etc/modprobe.d/ והשבת מודולים מסוכנים

טיפ פרו: השתמש ב-CIS Benchmark כרשימת תיוג - הוא כולל רשימה מלאה של שירותים שמומלץ להסיר/לכבות בכל פלטפורמה.

2

ניהול משתמשים והרשאות מחמיר

עקרון Least Privilege: כל משתמש וכל תהליך צריכים לקבל רק את ההרשאות המינימליות הדרושות להם לביצוע המשימות שלהם - ולא יותר.

ניהול חשבונות

הסרת/השבתת חשבונות ברירת מחדל
  • Windows: השבת Guest, שנה שם Administrator
  • Linux: השבת root login: usermod -L root
  • מחק חשבונות לא מזוהים או חשבונות של עובדים שעזבו
מדיניות סיסמאות חזקה
  • אורך מינימלי: 14 תווים (או יותר)
  • מורכבות: אותיות גדולות/קטנות, מספרים, תווים מיוחדים
  • תפוגה: 90 יום (או פחות לחשבונות מנהלים)
  • היסטוריה: זכירת 12 סיסמאות אחרונות
  • נעילה: 5 ניסיונות כושלים → נעילה ל-30 דקות
הפרדת הרשאות (Separation of Duties)
  • משתמשים רגילים אסור שיהיו להם הרשאות מנהל
  • Linux: השתמש ב-sudo במקום root ישיר
  • Windows: UAC מופעל, חשבונות מנהלים נפרדים מחשבונות רגילים
  • הרשאות לתיקיות/קבצים - רק למי שצריך (ACLs)

אזהרה: חשבונות עם הרשאות מנהלים הם המטרה המועדפת לתוקפים. ברגע שהם נפרצים - התוקף שולט בכל השרת.

3

הגנה ברמת הרשת והגבלת גישה

Network-Level Hardening: אפילו אם השרת מוקשח היטב - אם הוא פתוח לכל האינטרנט, הוא עדיין חשוף. חובה להגביל גישה לשרת רק למי שצריך.

Firewall ומסננות

  • Windows Firewall: הפעל ב-3 הפרופילים (Domain, Private, Public)
    • חסום הכל כברירת מחדל, אפשר רק פורטים ספציפיים
    • ב-PowerShell: Set-NetFirewallProfile -All -Enabled True
  • Linux - iptables / firewalld / ufw:
    • ufw enable - הפעל Firewall
    • ufw default deny incoming - חסום הכל
    • ufw allow 22/tcp - אפשר SSH (לכתובות ספציפיות בלבד!)
  • רשימה לבנה (Whitelist): אפשר גישה רק לכתובות IP ידועות ומאושרות

חיזוק פרוטוקולי גישה מרחוק

SSH (Linux)

ערוך /etc/ssh/sshd_config:

  • PermitRootLogin no - אסור כניסת root
  • PasswordAuthentication no - רק SSH Keys
  • Port 2222 - שנה פורט ברירת מחדל (אופציונלי)
  • AllowUsers user1 user2 - רשימה לבנה של משתמשים
  • MaxAuthTries 3 - הגבל ניסיונות
RDP (Windows)
  • ✅ Network Level Authentication (NLA) - חובה
  • ✅ שנה פורט: Registry → HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
  • ✅ הגבל גישה ל-IP ספציפיים (Firewall Rules)
  • ✅ השתמש ב-VPN/Bastion Host
  • ✅ התקן תעודת SSL תקפה

לעולם לא: אל תחשוף SSH/RDP ישירות לאינטרנט ללא הגנה. השתמש ב-VPN, Bastion Host, או Zero Trust Network Access (ZTNA).

4

עדכוני אבטחה וניהול תיקוני תוכנה

Patch Management: רוב הפריצות לשרתים מתבצעות באמצעות פגיעויות ידועות שכבר יש להן תיקון זמין - אבל לא הותקן. עדכוני אבטחה הם קו ההגנה הראשון והחשוב ביותר.

מדוע עדכונים הם קריטיים?

60%

מהפריצות קורות דרך פגיעויות שיש להן תיקון זמין

175 ימים

זמן ממוצע להתקנת תיקון קריטי בארגונים

24 שעות

זמן לפיתוח Exploit לאחר פרסום פגיעות

57%

מהארגונים נפרצו דרך פגיעויות ידועות

אסטרטגיית Patch Management

1
סריקה וזיהוי
  • Windows: WSUS (Windows Server Update Services) או SCCM
  • Linux: yum updateinfo list security או apt list --upgradable
  • כלי סריקה: Nessus, Qualys, Rapid7
2
תעדוף (Risk-Based Patching)
  • Critical: תקן תוך 24-48 שעות
  • High: תקן תוך 7 ימים
  • Medium: תקן תוך 30 ימים
  • Low: תקן בחלון תחזוקה הבא
3
בדיקה והטמעה
  • בדוק תיקונים בסביבת DEV/TEST לפני PRODUCTION
  • תכנן חלון תחזוקה (Maintenance Window)
  • צור גיבוי (Snapshot) לפני עדכון
  • תעד את התהליך ותוצאות
4
אוטומציה
  • Windows: הפעל Automatic Updates עם WSUS
  • Linux: unattended-upgrades (Debian/Ubuntu) או yum-cron (RHEL/CentOS)
  • כלים: Ansible, Puppet, Chef לניהול מרוכז

זכור: תיקון אבטחה שלא מותקן = פגיעות פתוחה. אפילו התיקון הכי טוב לא עוזר אם הוא יושב על המדף.

5

ניטור, לוגים ותגובה לאירועים

Logging & Monitoring: אפילו השרת המוקשח ביותר יכול להיפרץ. הגנה היא לא רק מניעה - זה גם יכולת לזהות תקיפות בזמן אמת ולהגיב מהר.

הפעלת Logging מקיף

Windows Event Logs
  • הפעל Audit Policies: secpol.msc → Local Policies → Audit Policy
  • תעד: Logon/Logoff, Account Management, Object Access, Policy Change
  • הגדל גודל לוגים: Event Viewer → Properties → Maximum log size (לפחות 100MB)
  • PowerShell Logging: Enable-PSTranscription
Linux Syslog / Journald
  • לוגים נמצאים ב-/var/log/
  • auditd: systemctl enable auditd - תיעוד מתקדם
  • תעד SSH: ב-/etc/ssh/sshd_config הוסף LogLevel VERBOSE
  • rsyslog: שלח לוגים לשרת ריכוזי (Remote Syslog)

ניטור בזמן אמת

ניטור ביצועים
  • ✅ CPU, Memory, Disk I/O
  • ✅ Network Traffic
  • ✅ Process Monitoring
  • ✅ Service Availability

כלים: Zabbix, Nagios, Prometheus

ניטור אבטחה
  • ✅ Failed Login Attempts
  • ✅ Privilege Escalation
  • ✅ File Integrity (HIDS)
  • ✅ Malware Detection

כלים: OSSEC, Wazuh, Tripwire

ריכוז לוגים (Centralized Logging)

שלח את כל הלוגים משרתים שונים למערכת ריכוזית אחת - זה מאפשר:

  • חיפוש מרוכז: מצא אירועים על פני כל התשתית
  • Correlation: קשר בין אירועים משרתים שונים
  • שמירת ראיות: תוקף לא יכול למחוק לוגים שכבר נשלחו החוצה
  • Compliance: PCI-DSS, HIPAA דורשים שמירת לוגים

פתרונות SIEM:

Splunk, ELK Stack (Elasticsearch + Logstash + Kibana), Graylog, Azure Sentinel, QRadar

התראות חכמות (Smart Alerts)

הגדר התראות לאירועים חשודים:

5+ ניסיונות כניסה כושלים תוך 5 דקות
שינוי בהרשאות קבצים קריטיים
כניסת משתמש בשעות לא רגילות
שימוש ב-sudo/Administrator לפעולות חריגות
העלאת קבצים חשודים
סריקת פורטים (Port Scanning)

Golden Rule: "אתה לא יכול להגן על מה שאתה לא רואה." ניטור ולוגים הם העיניים והאוזניים שלך בסביבת השרתים.

Compliance Frameworks ותקנים

הקשחת שרתים היא לא רק Best Practice - היא גם דרישה רגולטורית בתקנים רבים:

CIS Benchmarks

תקן הזהב להקשחת מערכות. מדריכים מפורטים ל-Windows, Linux, Docker, Cloud.

🔗 cisecurity.org/cis-benchmarks

NIST Cybersecurity Framework

מסגרת מקיפה לניהול סיכוני סייבר מהמכון הלאומי האמריקאי לתקנים.

🔗 nist.gov/cyberframework

DISA STIG

Security Technical Implementation Guides - תקני הקשחה של משרד ההגנה האמריקאי.

🔗 public.cyber.mil/stigs

PCI-DSS

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

🔗 pcisecuritystandards.org

כלים להקשחה אוטומטית

כלי Hardening

  • Ansible: Playbooks להקשחה אוטומטית
  • Chef InSpec: בדיקות אוטומטיות של תצורה
  • OpenSCAP: אכיפת מדיניות אבטחה
  • Lynis: סורק אבטחה ל-Linux/Unix

כלי סריקה

  • Nessus: סורק פגיעויות מוביל
  • OpenVAS: חלופה קוד פתוח
  • Qualys: פלטפורמה בענן
  • CIS-CAT: בדיקת תאימות ל-CIS Benchmarks

מפת דרכים - איך להתחיל?

1

תיעוד מצב קיים (Baseline Assessment)

סרוק את כל השרתים, תעד תצורות, זהה פגיעויות. זהו נקודת המוצא שלך.

2

בחירת תקן והגדרת מדיניות

בחר תקן (CIS/NIST/DISA), התאם למציאות הארגונית, וקבע מדיניות הקשחה מפורטת.

3

יישום הדרגתי (Phased Approach)

התחל בשרתים קריטיים, בדוק בסביבת LAB, הטמע ב-PROD בזהירות.

4

אוטומציה (Automation)

השתמש ב-Ansible/Puppet/Chef כדי שכל שרת חדש כבר יהיה מוקשח מהרגע הראשון.

5

ניטור ושיפור מתמיד (Continuous Monitoring)

סרוק מחדש מדי רבעון, תקן Drift, עדכן מדיניות לאור איומים חדשים.

סיכום - העקרונות המנחים

Minimal Attack Surface: פחות שירותים = פחות סיכון

Least Privilege: כל אחד מקבל רק את ההרשאות שהוא באמת צריך

Defense in Depth: הגנה בשכבות - לא מסתמכים על מנגנון אחד

Patch Early, Patch Often: עדכוני אבטחה הם לא אופציונליים

Log Everything: אי אפשר להגן על מה שלא רואים

Automate: תהליכים ידניים = טעויות אנוש

מאמרים נוספים שעשויים לעניין אותך

מה זה Zero Trust ולמה כולם מדברים עליו?

הכירו את הגישה החדשנית לאבטחת מידע שמניחה שאף אחד לא מהימן עד שמוכיח אחרת.

קרא עוד

אבטחת תשתיות AI - האתגרים והפתרונות

עם האימוץ ההמוני של בינה מלאכותית, נוצרים אתגרי אבטחה חדשים ומורכבים.

קרא עוד

תכנון תשתית תקשורת עתידית

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

קרא עוד

צריכים עזרה בהקשחת השרתים בארגון?

הצוות שלנו מתמחה בהקשחת שרתים Windows ו-Linux בהתאם לתקנים הבינלאומיים ויכול לסייע לכם להגן על התשתיות הקריטיות