
spoolsv.exe) מנהל את ההדפסה. כשהשירות נעצר, המדפסות נעלמות מהמסך, גם שהן מוגדרות.sc, net start ו-net stop: מאפשרים לנהל שירותים מסקריפט.tasklist /svc: מציג אילו שירותים רצים בתוך כל תהליך svchost.HKLM\SYSTEM\CurrentControlSet\Services.הטקסט המלא של הדקות הראשונות בהרצאה «הרצאה על Service בוונדוס» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בסרט הזה אנחנו נלמד על סרוויסס של ווינדוס ונעבור על כל הדברים החשובים שקשורים לסרוויסס. אז בואו נתחיל מזה מה זה סרוויסס. סרוויסס זאת תוכנה כמו כל התוכנות רק שהיא רצה ברקע והתוכנה הזאת עולה אוטומטית, לרוב עולה אוטומטית עם המחשב והיא לא תלויה במשתמש שייכנס או לא ייכנס.
לרוב המטרה של התוכנה הזאת זה לא לתקשר עם המשתמש אלא לתת שירות ברקע שלו, ולכן זה נקרא סרוויסס, אוקיי? סרוויסס, כאילו שירות רקע. לדוגמה, תוכנה שרצה ברקע ועוזרת לי להפעיל את כל הנושא של הבלוטות'ס או של הוידאו או של המדפסת.
לדוגמה, פרינס פולר. יותר מזה, אם התוכנה הזאת תהיה כבויה, אני לא אוכל להדפיס. אבל התוכנה הזאת היא מאוד מאוד חשובה, כי יכול להיות שמשתמשים אחרים שולחים הדפסה למדפסת שמחוברת למחשב שלי.
שימו לב, אם אני אכנס למדפסות נניח, נניח אני נכנס פה למדפסות, אם אני אעשה סטופ לסרוויס, אתם תראו שכל המדפסות פה נעלמות בעצם. עשיתי סטופ לסרוויס, עצרתי את הסרוויס, ואתם תוכלו לראות שהמדפסות פה בעצם כבר לא מדפסות.
ב-XP ממש רואים שזה ממש נעלם. גם פה תכף זה ייעלם, כי אין לו מי שייתן לו את השירות להגיד איזה מדפסות יש. למעשה, ממשק הגרפי הזה של המדפסות, הנה, אתם רואים, הוא ממש נעלם.
ממשק הגרפי הזה של המדפסות משתמש בתוכנה הזאתי שרצה ברקע שנקראת פרינטס פולר אתם יכולים לראות שאני יכול להפעיל אותה אני יכול לעצור אותה הנה אני עושה לסטארט אני מפעיל את התוכנה הזאת ותכף תראו הנה כל המדפסות שלי מופיעות אז למעשה התוכנה הזאת שנקראת פרינטס פולר שנמצאת ב-c-windows-system32-spooller-svc.exe זה למעשה ממש קובץ אקסי
שרץ שהוא עולה אוטומטי מהמחשב ונותן שירותים הוא יכול לתת שירות למישהו אחר שמדפיס דרכי, הוא גם נותן שירותים לאפליקציה שמותקנת אצלי שמדפיסה.
וגם Windows בעצמו משתמש בסרוויסים, מעין משהו שרץ ברקע ונותן שירות. יפה מאוד. אז בואו נעבור על האופציות שיש וכמה דברים מאוד מאוד חשובים.
אז קודם כל ככה, יש את השם, יש את ה-Description פה שמתאר את זה יפה, יש סטטוס, סטטוס אומר האם הסרוויס הזה עובד כרגע או לא עובד כרגע, אני יכול לעשות סטופ וסטארט לסרוויס.
אוטומטיק אומר האם בזמן הריסטארט, אחרי ההפעלה מחדש של המחשב, האם הוא יאתחל אותו או לא. אם הוא לא מאתחל אותו, כמו במנואל פה, אז הסרוויס הזה יתחיל לעבוד רק אחרי שמישהו יפעיל אותו.
נניח סרוויס אחר ירצה להפעיל אותו, או איזושהי תוכנה אחרת תפעיל אותו. זה למעשה יכול להיות סרוויס שמפעילים אותו לפי הצורך. לדוגמה, remote desktop כרגע אתם רואים, לא מופעל אצלי אז אי אפשר להתחבר אליי ברימור דסק טופ למחשב שלי יופי אז יש פה כל מיני סרוויסים שרצים ברקע אני יכול גם לכתוב סרוויסים משלי
נניח אני רוצה שתעלה איזושהי תוכנה ברגע שעושה משהו לשם אבטחה אז אני יכול לכתוב סרוויס משלי אין שום בעיה עכשיו מה הדברים החשובים יש סטארט סטופ פאוז וריזיום למעשה משתמשים בסטארט וסטופ האם להעלות אותו אוטומטיק עם העלאה של המחשב מנואל שמישהו אחר יעלה אותו במידת הצורך Disabled, לא להעלות אותו בשום מקרה
ב-Delayed, אומר תעלה אותו אוטומטית אבל לא על ההתחלה, אחרי כמה דקות שהמחשב יעבור למצב רגוע כי הבעיה של המחשבים, שבזמן ההעלאה הרבה תוכנות מנסות לעלות ואז כל המחשב מאוד מאוד איטי כי הרבה מאוד פונים במקביל למעבד, לזיכרון אז Delayed Start אומר, תקשיב זה לא סרוויס
כזה קריטי גם אם המדפסת תעלה לי 30 שניות אחרי ההתחלה זה בסדר הלאה, עכשיו נעבור לדברים המתוחכמים. נעבור לדברים המתוחכמים, בואו נעבור. לוגון, לוגון הזה זה משהו מסובך ומורכב ומאוד חשוב למנהלי הרשת.
עוד דקה נחזור לזה, בואו נשאיר את זה טיפה לסוף, כי גם אם מישהו יתנתק לנו באמצע, לפחות שיקבל את הדבר הכי חשוב. אז אנחנו נשאיר את הלוגון דווקא לסוף.
ריקאברי, מה קורה אם הסרוויס הזה קם ונופל? קם ונופל, פעם אחת תעשה ריסטארט לסרוויס, תפעיל אותו שוב פעם שנייה תפעיל אותו שוב אחרי שהוא כבר לא מופעל פעמיים שוב עזוב אותו בשקט אני יכול להגיד ריסטארט של כל המחשב אני לא מוכן שהמחשב הזה יעבוד בלי הסרוויס הזה כן זאת אומרת אני נותן למחשב התנהגות ברירת מחדל אני יכול להגיד לו שיעשה יריץ איזושהי
תוכנה כן אני יכול להגיד לו run a program שיריץ איזושהי תוכנה נניח תוכנה ששולחת לי מייל אני יכול להגיד שיש לי איזה כובד ששולח לי מייל ופה בפרמטר אני אומר לו את האימייל שלי ואז אני אקבל אימייל למקרה שסרוויס שהוא חשוב לי מאוד לא עובד.
אוקיי, להריץ תוכנה. יפה מאוד. Dependencies. Dependencies זה אומר על מה הוא תלוי. הרבה פעמים בתוכנות לא כותבים תוכנה מההתחלה ועד הסוף הכל.
לוקחים חלקים, זה כמו לגו, מרכיבים אחד על השני. אז לדוגמה, הפרינס פולר הזה תלוי בזה שסרוויס שנקרא RPC יעבוד.
מה זה RPC? זה חיבורי רשת. בואו ננסח את זה ככה. ואחרי שהפרינטס פולר הזה עובד, כי ה-RPC עובד וה-HTTP עובד, זה סרוויסים אחרים שיש פה, עוד שנייה אני אראה לכם, סרוויס אחר לגמרי של פאקס תלוי בפרינטר שלנו.
למעשה הפרינטר תלוי בשני אלו למעלה, ואחרי שהוא פועל הפאקס תלוי בו בעצמו. הבנתם? יש תלות בין הסרוויסים, כי מתכנתים מתרכזים במה שהם צריכים לעשות, ואם הם צריכים משהו אחר אז הם לוקחים מוכן.
בשביל מה לכתוב אותו דבר? לדוגמה, למה תוכנה של הפאקס, או סרטי של הפאקס, שהוא צריך להדפיס, לכתוב את כל תוכנת ההדפסה שוב? כשיש כבר תוכנת הדפסה מוכנה.
וגם אם יש איזשהו באג, לא צריך לתקן ב-500 מקומות. יודעים שעל ההדפסות אחראי פרינס פולר. זה כמו שבחברה יש בן אדם שאחראי, לא יודע מה, לתקן מדפסות, אז לא כל עובד מתקן לעצמו מדפסת.
למרות שאפשר תיאורטית להכשיר את כל העובדים בחברה שכולם ידעו לתקן מדפסות, במקום זה לוקחים עובד, אומרים אתה חייב לתקן מדפסות ובמקרה הזה זה הסרוויס שלנו.
הם צריכים להבין שבעולם התוכנה כל הנושא של השכבות וכל תוכנה עושה משהו ספציפי, משתמשת בתוכנה אחרת, זה מאוד מאוד מפותח. יופי. לדוגמה אני אספר לכם אחד הסודות, במערכת האבטחה שלנו יש סרוויס שרץ ברקע, שעושה לי כל מיני דברים של האבטחה שלנו.
רציתי לעשות כל מיני דברים, אבטחה לדוגמה, רציתי שיקרה כל מיני דברים אם התוכנה בכלל לא עולה. אם בן אדם הצליח לפרוץ את המערכת והתוכנה לא עלתה לי, אני עדיין רוצה שאפליקציה שלי תעבוד ותעשה לי כל מיני דברים, ותודיע לי ותתריע או שתנסה לעלות, בקיצור כל מיני דברים בזה.
בקיצור, עכשיו הלוגון, לוגון זה החלק הכי מתוחכם שיש, וזה לחבר'ה המתקדמים יותר, בעיקר אלו שמתעסקים ברשתות.
אז בלוגון זה עם איזה שם וסיסמה זה רץ. התוכנה הזאתי, כמו כל התוכנות, חייבים שם וסיסמה לרוץ. למה?
כי אין דבר כזה שתוכנה רצה בלי שם וסיסמה. אין דבר כזה. זה נקרא security context. באיזה סביבת אבטחה היא רצה. שימו לב, על כל תהליך שעובד, לא משנה אם זה מחשבון, אם זה תוכנת הקלטה, אם זה...
יש איזה יוזר שהריץ אותה. למה זה מאוד מאוד חשוב? כי היוזר הזה שהריץ איזושהי תוכנה, נניח סקייפ, זה מה שמותר לסקייפ הזה לעשות. לסקייפ מותר לגשת, לכל מה שליוני מותר לגשת.
ואם יש תיקיות שיוני לא יכול להיכנס לתיקיות האלו, גם לסקייפ אסור להיכנס. זאת אומרת, כל אפליקציה רצה באיזשהו הקשר אבטחתי, נקרא לזה הקשר של אבטחה, שזה קובע את הגבולות שלה.
אין דבר כזה שתוכנה רצה סתם, אין דבר כזה. אז השאלה עכשיו נשאלת, איך ירוץ הסרוויס הזה? אני יכול להגיד לסרוויס הזה שבמקרה הזה זה מדפסת אבל יכלנו לעשות כל סרוויס ואתם תכף נעבור גם על רשימת הסרוויסים אל תדאגו נעבור אליהם אני יכול להגיד לסרוויס הספציפי הזה תקשיב אני מייצר לך משתמש מיוחד ומגביל לו את ההרשאות
אסור לו להיכנס לתיקיות של מיי דוקימנט שלי שאם איזה האקר יפרוץ לי לתוך המדפסת אז הוא יוכל לגנוב רק את הקבצים שמודפסים הוא לא יוכל לגנוב לי את המיי דוקימנט זאת אומרת אני יכול לעשות אקאונט Windows אקאונט חשבונות Windows פר סרוויס כדי לעשות אבטחה כך עושים ברשתות מאובטחות לדוגמה בואו נעשה דוגמה אני יכול להיכנס למשתמשים ולרוב עושים את זה ברשתות גדולות
ולעשות סרוויס חשבון Windows שנקרא נניח פרינטר מתחילים אותו בכף תחתון הרבה פעמים תלוי מי פרינטר סרוויס נעשה לו שם פשוט כדי שלא לסבך יש חברות שאוהבות לעשות את זה עם כף תחתון האמת שבשירתים החל מ2008 r2 יש אפילו יוזר מיוחד לסרוויס סוג של יוזר מיוחד לסרוויס יופי עשיתי עשיתי סרוויס שנקרא פרינט סרוויס ככה קראתי לו המצאתי לו שם כזה אחר כך לקרוא לו
בכל שם אחר עכשיו אני בא למדפסת ואני אומר שהיוזר הזה שהחשבון הזה, התוכנה הזאת, תרוץ עם יוזר שקוראים לו פרינט סרוויס, אוקיי?
יופי לקח לו קצת פרינט סרוויס, שק ניימס, לא, לא טוב. לא נורא, נעשה אדוונס, פיינט נאו, פרינט סרוויס, אוקיי, פרינטר סרוויס כתבתי.
ופה אני נותן את הסיסמה, כאילו הוא עושה לוגין לבד כזה, כן? כמו האוטו לוגון. למעשה מעכשיו, לתוכנה הזאת שקוראים לה spool svc.exe, כמו כל תוכנה אחרת, היא נכנסת, היא לא מחכה לי, היא מופעלת אוטומטית עם ההפעלה של המחשב.
אבל בואו נגיד ל-delay, גם את יכולה לחכות כמה שניות, לא צריך להיות בלחץ על העלייה, אפשר לתת למעבד קצת להירגע, ואז תעלי, לא יקרה כלום, כולם ידפיסו עוד 10 שניות מאוחר יותר, חצי דקה מאוחר יותר.
יופי, המערכת ככה עולה יותר מהר, כל הדברים הלא קריטיים לא מעכבים אותה. ויהיה לה מותר לעשות כל מה שמותר למחשב המקומי. אם יש לי מערכת אבטחה מרכזית של דומיין אז אני אעשה פה שם של דומיין ומה מותר לה אז ועכשיו הסרוויס הזה כן delayed בגלל ה-delayed הזה יופי יופי יופי this account has been granted to logon as a service right הוא
אומר תקשיב בסדר אוקיי הכל בסדר new logon will take effect after restart service הוא אומר תקשיב הסרוויס הזה יתחיל לעבוד רק אחרי restart עם השם הזה בינתיים הוא עושה כל מה שמותר לו בוא נעשה restart לסרוויס יש פה כזה דבר זה מאוד נהוג במקום לעשות הפעלה מחדש לכל המחשב אל תעשו הפעלה מחדש לכל המחשב תכף נראה מה הבעיה תקועה לכם מדפסת אל תהיו כמו משתמשים פשוטים שעושים ריסטארט
לכל המחשב תעשו ריסטארט רק לסרוויס הרי זה אותו דבר הרי כשמשהו תקוע ועושים ריסטארט למחשב למעשה עושים ריסטארט לכל הסרוויסים אז במקום לעשות את זה ולחכות הרבה זמן שאיזה שרת יעלה, כי שרתים עולים מלא זמן עד שהם מתחילים לעלות, אז הוא יסטארט לסרוויס שתקוע.
מה פה, מה הוא אומר לי? הוא אומר שלא נתתי לו הרשאות לאקאונט הזה להיכנס כסרוויס, כן? אני צריך לתת לו הרשאה להיכנס כסרוויס, ועובדה שהוא לא עושה לי סטארט.
run as a service זה סוג של לוגין נפרד, שאני צריך לתת לו הרשאה לעשות את זה. לרוב עושים את זה ברשתות, עושים את זה במחשבים של stand alone ברשתות שהן נחשבות מובטחות עושים חשבונות נפרדים לסרוויסים ואז אם מישהו פורץ את הסרוויס הוא יכול לעשות רק את המינימום שהסרוויס עצמו יכול לעשות זה מאוד מאוד חשוב
זה נקרא הקשחת מערכת ואנחנו בינתיים לא מתכוונים פה להקשיח מערכת כל כך אני רוצה רק להראות לכם אז בואו ננסה עכשיו האמת שאני אף פעם לא עשיתי את זה על תחנת עבודה אני תמיד עושה את זה על שירתים הוא אומר שיש לו בעיה פה להיכנס עם היוזר הזה, אוקיי, סתם הסתבכנו פה.
כמו רואים הוא אומר שאין לו מספיק הרשאות. טוב, אני צריך לבדוק איזה הרשאות יש לו, וזה, טוב. טוב, בואו לא ניכנס לזה, תאמינו לי שזה עובד, ככה זה עובד, וככה זה אמור לעבוד.
אני יכול להסביר לכם, אבל עזבו, אנחנו עכשיו לא, אנחנו עכשיו ניגרר לסרט הרבה יותר ארוך ולהעלות פה שרת ולהראות לכם ממש בשרת איך זה עובד.
עכשיו, מה הבעיה בסרוויסים? מה הבעיה בלנהל ככה? יש בעיות כאלו שקודם כל צריך להחליף סיסמה, צריך לנהל סיסמה של יוזר. בחברות, בארגונים, צריך כל כמה זמן להחליף סיסמה.
אם אתם לא מחליפים סיסמה, יש פה בעיה. יש פה חשבון שכל החיים נשאר עם אותה סיסמה, ואם, אתם יודעים, תמיד יש דרך לפרוץ סיסמה. בגלל זה אומרים שכל 80, 90, 30 יום, תלוי בחברה, מחליפים סיסמה.
זאת אומרת, גם אם האקר פרץ סיסמה, ייקח לו שנתיים לפרוץ אותה והיא לא תהיה אקטואלית. אז הסיסמאות האלו נשמעות כ-hash ויש דרך לפרוץ את ה-hash-ים.
יש לנו סרטים על האקים, תראו שם, אני ממש פורץ שם ה-hash-ים, אבל הקטע זה שזה לוקח זמן. ולכן מחליפים כל זמן סיסמה, כדי שגם אם תצליח זה לא יהיה אקטואלי.
כבר פספסת את הרכבת. חשבון חשבון של סרוויס שלא מחליפים לו סיסמה זה בעיית אבטחה זאת בעיית אבטחה ולכן ולהחליף סיסמה פסוורד תחשבו תראו כמה סרוויסים יש פה זה הרבה עבודה ותחשבו שבחברה יש לא מחשב אחד ולא שרת אחד אלא עשרות ומאות שירתים למה יש הרבה שירתים כי יש הרבה שירותים בחברה יש מיילים יש קבצים יש תוכנה כזאתי כאן הוא
תוכנת לניהול משתמשים תוכנה לניהול כספים תוכנה לניהול משימות תוכנה לניהול מיילים פגישות מקרינים וידאו קונפרנס לכל שטות יש היום תוכנה ולכל תוכנה יש שרת כדי לרכז את הנתונים שלה במקום מרכזי ואז תחשבו שחברה גדולה של מאות עובדים יש לה עשרות אם לא מאות שרתים כן וירטואלים לא וירטואלים אבל זה לא
משנה בסוף יש לך לנהל אותה אז ניהול של הסיסמאות זה יכול להיות בעיה אז המציאו חשבונות מובנים שלא צריך לנהל שם הסיסמה בין חשבון שהוא בלי סיסמה אבל כדי שלא תנצלו את זה לרעה רק סרוויס יכול להשתמש בו זה נקרא לוגון טייפ יש איזה סוג של לוגין מותר למשתמש לעשות אז אסור לעשות לוגין אינטראקטיבי
עם החשבון המובנה של המערכת ויש כמה חשבונות כאלו יכולים לראות פה לוקל סרוויס נטרוק סרוויס ותכף אני אדבר עליהם בגדול אפשר לעשות שסרוויס יעלה עם האקאונט של היוזר עושים את זה כשלדוגמת יש שרתים שרוצים לתקשר ביניהם.
נניח הסרוויס הזה צריך לתקשר עם אח שלו בקצה השני של העולם, או עם אח שלו, מה זה אח שלו? זה אותו סרוויס רק במחשב אחר, הם צריכים לתקשר ביניהם, אז עושים להם יוזר נניח, או שהוא צריך הרשאות כתיבה כלשהן מיוחדות באיזה מקום אחר, אז עושים לו יוזר.
אבל רוב הסרוויסים שהם לוקאליים, מקומיים בשרת הזה ולא צריכים לתקשר החוצה, שמים להם חשבונות מובנים ויש לנו כל מיני חשבונות מובנים ועל זה אני רוצה לעבור איתכם אז ככה אז קודם כל יש את החשבון הכי ידוע local system account local system account זה חשבון יותר חזק מאדמיניסטרטור זה למעשה מערכת הפעלה עצמה שמותר
לה הכל כן גם דברים שאסורים לאדמיניסטרטור מותר להם הוא חשבון הכי חזק אין לו אפשר תיאורטית להגביל אותו אבל בגדול זה מערכת הפעלה עצמה וזה נחשב חשבון על כזה.
היתרונות שלו, כמובן שהוא יכול לעשות הכל איפה שהוא רוצה במחשב, ואין שום בעיה, תפעילו איתו את הסרוויס, הוא יעשה לכם הכל.
יש שתי בעיות. הבעיה הראשונה, כשהוא הולך לרשת, כשהוא יוצא לרשת, הוא יוצא אנונימי. זאת אומרת שאם אני רוצה שהסרוויס הזה, אם אני רוצה שהסרוויס הזה יוכל לגשת לתיקייה בשרת, או לתקשר עם שרת אחר, או לא משנה, לעשות איזושהי עבודה ברשת, זה לא טוב.
והבעיה השנייה של local system account אם מישהו פורץ לי לפרינטר הזה למדפסת הזאת או לאתר וב גם האתר אינטרנט רץ כסרוויס נכון כי אנחנו לא מחכים שיוזר יעשה לוגינג אתר וב עובד אוטומטי אז אם מישהו פורץ לי לסרוויס הזה ולא משנה אם זה מדפסת או אתר וב הוא מקבל גישה של local system account לתוך השרת שלי לתוך המחשב שלי ואז אני כבר זהו וחוץ מלפרמט למצוא אותו זה יהיה חבל על הזמן
אז למעשה יש פה גם בעיית אבטחה שאתם נותנים לו לרוץ וגם בעיית גישה לרשת אז בגלל זה יש חשבונות אחרים כמו Network Services אחרים עכשיו שימו לב על ה-V הזה, ה-V הזה מאוד מאוד חשוב