ניהול שרתים: שיעור מעשי עם פקודות, קוד ותרגול
ניהול שרתים: שיעור מעשי עם פקודות, קוד ותרגול
רמת קושי: מתחילים עד בינוני
זמן לימוד: 25–45 דקות
מתאים ל: תלמידי קוד, בעלי אתרים, מפתחי WordPress, אנשי סייבר מתחילים ומנהלי שרתים
סוג שיעור: מדריך טכני + מעבדת תרגול
תוכן עניינים
- מה נלמד בשיעור
- מה הבעיה שהמדריך פותר
- הכנת סביבת תרגול
- דוגמת קוד ראשונה
- דוגמת קוד שנייה
- הסבר הקוד
- תיקון והקשחה
- תרגיל מעשי
- בדיקת תוצאה
- טעויות נפוצות
- צ׳ק־ליסט
- מקורות
מה נלמד בשיעור
בשיעור הזה נלמד את הנושא של ניהול שרתים בצורה מעשית: לא רק לקרוא הסבר, אלא להריץ פקודות, להבין את התוצאה, לבצע תיקון ולבדוק שהכול עובד. המטרה היא להפוך את המדריך לשיעור שאפשר לבצע בפועל, לא למאמר ארוך שנשאר תיאורטי.
- איך לזהות את הבעיה בסביבה אמיתית.
- איך להשתמש בפקודות ובקוד כדי לבדוק את המצב.
- איך להבין את הפלט ולא רק להעתיק פקודה.
- איך לבצע תיקון בטוח בלי לשבור אתר חי.
- איך לתעד את התוצאה לצורך SEO, אבטחה ותחזוקה.
מה הבעיה שהמדריך פותר
ניהול שרתים הוא נושא שחוזר בהרבה אתרי תוכן, אתרי WordPress, שרתי Linux וסביבות פיתוח. בדרך כלל הבעיה לא מתחילה מפריצה מתוחכמת, אלא מקובץ שנשאר במקום הלא נכון, הרשאה רחבה מדי, תוסף שלא עודכן, או חוסר בדיקה אחרי שינוי.
הגישה כאן היא הגנתית וחוקית בלבד. מבצעים את הבדיקות רק על אתר, שרת או סביבת מעבדה שבבעלותך או בהרשאה מפורשת. זה חשוב גם מקצועית וגם משפטית: מטרת השיעור היא ללמוד לבנות אתר טוב ובטוח יותר.
הכנת סביבת תרגול
לפני שנוגעים באתר חי, כדאי ליצור סביבת תרגול קטנה. אם מדובר בוורדפרס, עדיף לעבוד על staging. אם מדובר בלינוקס, אפשר ליצור תיקייה זמנית ולהריץ עליה את הפקודות.
# Author: pablo rotem
# יצירת סביבת תרגול מקומית
mkdir -p ~/pablo-guide-lab
cd ~/pablo-guide-lab
echo "demo content" > index.html
echo "DB_PASSWORD=demo_password_do_not_use" > .env
echo "fake backup content" > backup.sql
echo "old config" > config.old
ls -la
דוגמת קוד ראשונה
# Author: pablo rotem
# בדיקה בסיסית בסביבה שבבעלותך בלבד
SITE_ROOT="/home/YOUR_USER/public_html"
cd "$SITE_ROOT" || exit 1
find . -type f (
-name "*.bak" -o
-name "*.old" -o
-name "*.sql" -o
-name ".env" -o
-name "*password*" -o
-name "*credentials*"
) -print
הדוגמה הראשונה היא נקודת פתיחה. היא נועדה לתת לך דרך מהירה לבדוק את המצב בלי לבצע שינוי באתר. בשלב הזה רק קוראים מידע ומתעדים ממצאים.
דוגמת קוד שנייה
# Author: pablo rotem
# חיפוש מחרוזות רגישות בתוך קבצים
grep -RniE "password|passwd|DB_PASSWORD|API_KEY|SECRET|TOKEN" .
--exclude-dir=wp-content/cache
--exclude-dir=node_modules
--exclude="*.jpg"
--exclude="*.png"
--exclude="*.webp" | head -100
הדוגמה השנייה מעמיקה יותר ומחפשת סימנים בתוך קבצים או שירותים. כאן חשוב לקרוא את הפלט בזהירות, כי לא כל התאמה היא בהכרח בעיה.
הסבר הקוד
findמתאים לאיתור קבצים לפי שם, סיומת או מיקום.grepמתאים לחיפוש טקסט בתוך קבצים.curl -Iמתאים לבדיקה מהירה של תגובת שרת.- ב־PHP 8.3 חשוב להשתמש ב־
declare(strict_types=1)ובסינון פלט. - בכל בדיקה מקצועית עובדים קודם במצב קריאה בלבד.
דוגמת קוד נוספת 3
# Author: pablo rotem
# Nginx - חסימת קבצים רגישים
location ~* /(.env|.*.sql|.*.bak|.*.old|credentials.txt)$ {
deny all;
return 403;
}
autoindex off;
הדוגמה הזו מציגה דרך נוספת לחשוב על הבעיה. לא חייבים להשתמש בכל קטעי הקוד בכל אתר; בוחרים את מה שמתאים לסביבה שלך.
דוגמת קוד נוספת 4
# Author: pablo rotem
# סריקה הגנתית לנכס שבבעלותך בלבד
nmap -sV -O --top-ports 100 192.168.1.10 -oN pablo-nmap-report.txt
# בדיקת שירותים פתוחים בלבד, בלי עומס מיותר
nmap -sT -Pn -p 22,80,443,3306 192.168.1.10
הדוגמה הזו מציגה דרך נוספת לחשוב על הבעיה. לא חייבים להשתמש בכל קטעי הקוד בכל אתר; בוחרים את מה שמתאים לסביבה שלך.
דוגמת קוד נוספת 5
# Author: pablo rotem
# בדיקת תוצאה אחרי תיקון
curl -I https://example.com/.env
curl -I https://example.com/backup.sql
curl -I https://example.com/wp-config.php.bak
# תוצאה טובה תהיה בדרך כלל 403 או 404
הדוגמה הזו מציגה דרך נוספת לחשוב על הבעיה. לא חייבים להשתמש בכל קטעי הקוד בכל אתר; בוחרים את מה שמתאים לסביבה שלך.
תיקון והקשחה
אחרי שמצאת ממצא, לא רצים למחוק הכול. קודם שואלים: האם הקובץ נדרש? האם הוא ציבורי בטעות? האם יש גיבוי? האם יש צורך להחליף סיסמאות? האם התיקון ישפיע על האתר?
- לתעד את הממצא עם נתיב מלא ותאריך.
- לגבות לפני שינוי.
- להעביר קבצים רגישים מחוץ ל־public_html.
- לחסום גישה לקבצים שאסור להגיש דרך הדפדפן.
- להחליף סיסמאות אם היה חשד לחשיפה.
- להריץ בדיקה חוזרת.
תרגיל מעשי
בצע את התרגיל הבא בסביבת בדיקה בלבד:
- צור תיקיית מעבדה.
- צור קובץ דוגמה רגיש כמו
.envאוbackup.sql. - הרץ את פקודות האיתור מהמדריך.
- כתוב לעצמך מה נמצא ולמה זה בעייתי.
- הוסף חסימה או העבר את הקובץ למיקום בטוח.
- בדוק שוב שהבעיה נפתרה.
בדיקת תוצאה
# Author: pablo rotem
# בדיקת HTTP Headers לאחר תיקון
curl -I https://example.com/.env
curl -I https://example.com/backup.sql
curl -I https://example.com/config.old
# יעד טוב:
# HTTP/2 403
# או:
# HTTP/2 404
אם הקובץ הרגיש עדיין יורד בדפדפן, התיקון לא הצליח. אם מתקבלת תשובת 403 או 404, המצב בדרך כלל טוב יותר. אחרי כל שינוי מומלץ לנקות cache ולבדוק שוב.
טעויות נפוצות
- להריץ בדיקות על אתר שאינו בבעלותך.
- למחוק קובץ בלי להבין למה הוא נועד.
- לשכוח לנקות cache אחרי תיקון.
- להשאיר סקריפט בדיקה באתר חי.
- להסתמך רק על תוסף במקום להבין את הבעיה.
- לא לתעד את הממצא ואת הפתרון.
צ׳ק־ליסט
- הבדיקה בוצעה בסביבה מורשית בלבד.
- יש גיבוי לפני שינוי.
- נמצאו ותועדו קבצים/שירותים חשודים.
- הקוד או הפקודה הובנו לפני הרצה.
- בוצע תיקון מדיד.
- בוצעה בדיקה חוזרת.
- עודכנו כותרת SEO, תיאור, קנוניקל ו־Schema.
מקורות מקצועיים
- OWASP Web Security Testing Guide
- WordPress Developer Resources
- Google Search Central
- Schema.org
- Mozilla Observatory
מיני תרגול 1: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 1
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
מיני תרגול 2: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 2
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
מיני תרגול 3: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 3
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
מיני תרגול 4: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 4
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
מיני תרגול 5: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 5
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
מיני תרגול 6: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 6
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
מיני תרגול 7: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 7
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
מיני תרגול 8: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 8
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
מיני תרגול 9: שאלה למחשבה
נסה להסביר לעצמך במילים פשוטות: אם היית צריך ללמד חבר את הנושא של ניהול שרתים, איזו פקודה היית מראה לו קודם, ומה היית מבקש ממנו לבדוק בפלט? אם אין לך תשובה ברורה, חזור לדוגמת הקוד הראשונה וכתוב ליד כל שורה מה היא עושה.
Author: pablo rotem
Exercise 9
1. Run the safe command in a lab.
2. Copy the output.
3. Mark suspicious lines.
4. Explain what you would fix.
5. Retest after the fix.
