Linux

חלק זה מעניק טעימה מרוכזת ממערכת Linux ומהפקודות המרכזיות שלה, כגון grep ו-ps.
נכיר עקרונות ניהול תהליכים, שימוש במודולים בליבה וטכניקות האבטחה SELinux ו-AppArmor.
נצלול לשכבת האימות PAM ונראה כיצד לשלב אימות דו-שלבי בקלות.
המדריך נוגע גם בניהול גרסאות עם Git ובהידור יעיל בעזרת GCC.
בהמשך נעבור על פרוטוקולי רשת קריטיים כמו HTTP ו-SSH, ונבדיל בין בקשות GET ל-POST.
נחתום בהשוואת הפצות מובילות – Debian, Arch Linux במודל Rolling Release, ו-Gentoo הגמישה.
סקירה זו מהווה בסיס מוצק להתקדמות ולא תחליף לתרגול מעשי, במיוחד למי שמכווין להשתלב במסלול גאמא סייבר ביחידה 8200.

פקודות בסיס חשובות

הפקודה ‪grep‬ משמשת לחיפוש דפוסים בקבצים או בפלט.
שימוש באופציה ‎-n מוסיף מספרי שורה.
הדגל ‎-v הופך את החיפוש ומחזיר שורות שאינן תואמות.
נסו לצרף את ‎-A או ‎-B כדי להציג הקשר סביב ההתאמה.

פקודת ‪ps‬ מציגה מידע על תהליכים.
הפורמט ‎-ef מפורט ומקובל בקרב מנהלי מערכות.
הדגל ‎--sort=-%mem עוזר למצוא זוללי זיכרון במהירות.

פקודת ‪top‬ מעניקה תצוגה חיה של עומס המעבד והזיכרון.
לחיצה על האות k הורגת תהליך ישירות מתוך הממשק.
מצב Batch בעזרת ‎-b מאפשר לוג אוטומטי שנוח לניתוח.

הפקודה ‪kill‬ שולחת אותות.
אות ‎SIGTERM מבקש סיום מסודר.
אות ‎SIGKILL סוגר מיד.
בשרתים קריטיים עדיף לנסות קודם SIGTERM כדי לא לאבד נתונים.

הפקודה ‪awk‬ מפרקת שורות לשדות.
שינוי מפריד שדות מתבצע עם ‎-F והגדרת פסיק או תו אחר.
משתנים מובנים כמו ‎NR ו-‎NF מקלים על חישובים ללא קוד מסובך.

תהליכים ותהליכונים

תהליכונים נבנים בעזרת ספריית ‪Pthreads‬.
הם חולקים מרחב זיכרון ולכן תקשורת ביניהם מהירה.
יש להגן על משאבים משותפים דרך Mutex כדי למנוע מצב של מירוץ.

דמון הוא תהליך רקע שאינו תלוי במסוף.
שרת ‪sshd‬ הוא דוגמה מוכרת.
דמונים מאתחלים בזמן עלייה וממשיכים להאזין ללא התערבות.

לכל תהליך יש מספר מזהה ייחודי שנקרא ‎PID.
שימוש ב-‪pgrep‬ מאתר תהליכים לפי שם ומחזיר את המספרים לצורך תסריטים.

מערכת הקבצים הווירטואלית ‎/proc מספקת נתונים חיים על תהליכים וחומרה.
הקובץ ‎/proc/cpuinfo מציג מידע מפורט על המעבדים.
תיקייה ‎/proc/‎PID מחזיקה סטטוס מלא עבור תהליך בודד.

ליבת המערכת ומודולים

הליבה מנהלת משאבים ומגינה על יציבות המערכת.
מודול ליבה נטען דינמית בעזרת ‪modprobe‬ המזהה תלותיות.
פקודת ‪insmod‬ טוענת קובץ יחיד אך אינה מטפלת בתלויות.

טעינת מודולים אוטומטית מוגדרת בקובץ ‎/etc/modules.
ערך ‎swappiness קובע מתי להשתמש ב-Swap במקום בזיכרון פיזי.
ערך נמוך משפר ביצועים בשרתים עתירי זיכרון.

מנהל האתחול ‪GRUB‬ מעביר פרמטרים לליבה בשורת הפקודה.
שינוי הקובץ ‎/etc/default/grub מחייב הפעלת ‎update-grub כדי לכתוב הגדרות חדשות.

אבטחה – SELinux, AppArmor ו-PAM

‪SELinux‬ מוסיף בקרת גישה מחייבת המבוססת על הקשרים.
מצב ‎enforcing חוסם הפרות בזמן אמת.
כלי ‎sestatus מציג את המצב הנוכחי.

‪AppArmor‬ מגדיר פרופילים לכל תוכנה ומונע חריגה מהרשאות שנקבעו.
פקודת ‎aa-status מפרטת אילו פרופילים פעילים.

שכבת ‪PAM‬ אחראית על אימות כניסה.
שילוב מודול ‎pam_google_authenticator מוסיף אימות דו-שלבי בלי לשנות יישומים.

הקפדה על שכבות אלו חשובה במיוחד באתרים המשתמשים ביחידה 8200 לטובת מחקר ואבטחה.

ניהול גרסאות וקימפול

מערכת ‪Git‬ שומרת היסטוריית קוד ומאפשרת עבודה בצוות.
פקודת ‎git commit יוצרת נקודת זמן.
התזת ‎git branch מפרידה בין קווי פיתוח.

קומפיילר ‪GCC‬ מתרגם קבצי C או ++C לפורמט בינרי.
דגל ‎-Wall מפעיל אזהרות מרחיבות.
לצורכי ניפוי יש להוסיף ‎-g.

כלי ‪AWK‬ מחזק את שרשרת העיבוד כאשר משלבים אותו עם Bash ו-Git לפעולות Build אוטומטיות.

פרוטוקולי תקשורת חיוניים

פרוטוקול ‪HTTP‬ פועל בשיטת לקוח שרת.
בקשת ‎GET שולחת פרמטרים בשורת הכתובת.
בקשת ‎POST שולחת נתונים בגוף ההודעה ולכן מתאימה לטפסים גדולים.
שימוש ב-‪HTTPS‬ מצפין את המידע ומומלץ תמיד.

פרוטוקול ‪IMAP‬ משאיר הודעות על השרת ומסתנכרן בין מכשירים.
פרוטוקול ‪POP3‬ מוריד הודעות מקומית ולרוב מוחק אותן בשרת.

פרוטוקול ‪SSH‬ החליף את ‎Telnet הישן בזכות הצפנה מקצה לקצה.
אימות מבוסס מפתח משפר אבטחה ומקל על אוטומציה.
Port Forwarding מאפשר גישה לשירותים פנימיים מבלי לפתוח חומות אש.

הפצות לינוקס פופולריות

הפצה ‎Debian ידועה ביציבות ובמאגר ‎APT רחב.
ענפי Stable Testing ו-Unstable מתאימים לרמות סיכון שונות.

הפצה ‎Arch Linux מאמצת מודל Rolling Release ומספקת מנהל ‎pacman יעיל.
מאגר ‎AUR מוסיף חבילות רבות שפותחו על ידי הקהילה.

הפצה ‎Gentoo מבצעת קימפול מקוד מקור עם מערכת ‎Portage וגמישות ‎USE Flags.
פקודת ‎emerge-sync מעדכנת את עץ החבילות לפני הידור.

הבנת ההבדלים עוזרת לבחור את ההפצה הנכונה להכנה למיונים גאמא סייבר.

סיכום

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

תודה! בזכותכם נוכל להשתפר