קבל הודעה בדוא"ל כאשר מישהו ניגש כ- root על ידי SSH

אלה מאיתנו המנהלים שרתים חייבים לשמור על השליטה המחמירה ביותר על כל מה שקורה בשרת, אחד הדברים שלעתים קרובות אנו צריכים לדעת הוא כאשר משתמש מתחבר באמצעות SSH (שורש כלול), לשם כך עם חבילה ו- קו יגיע להתראות הדוא"ל שלנו.

האם אתה יכול לדמיין שבכל פעם שמישהו מתחבר באמצעות SSH עם שורש הוא מקבל דוא"ל שאומר?

במילים אחרות, הם יקבלו דוא"ל שיאמר משהו כזה:

[miserver] התראה: גישה למסוף שורש בתאריך: 2014/01/21 (200.55.51.151)

זה:

[$ NOMBRE_VPS] התראה: גישה למסוף שורש בתאריך: $ DATE ($ IP_DE_WHO_S_CONNECT)

כדי להשיג זאת עליהם להתקין תחילה חבילה בשם דואר x.

בהנחה שהשרת שלך משתמש בדביאן או בהפצה כלשהי על בסיס זה (אני ממליץ רק על דביאן, לא על אובונטו או דומה לשרתים) זה יהיה:

apt-get install mailx

הערה: הפקודה הקודמת מתבצעת כשורש ישירות בשרת, מכיוון שהיא VPS, אין להשתמש ב- sudo אלא אם כן יש צורך בהחלט.

ואז עלינו לשים את השורה הבאה בשורש .bashrc:

echo 'ALERTA - Acceso a Terminal de Root en:' `hostname` 'el:' `date +'%Y/%m/%d'` `who | grep -v localhost` | mail -s "[ `hostname` ] Alerta: Acceso a Terminal de Root el: `date +'%Y/%m/%d'` `who | grep -v localhost | awk {'print $5'}`" mi@email.com

כדי לערוך /root/.bashrc השתמש בעורך מסוף כלשהו כמו nano:

nano /root/.bashrc

זכור שעליך לציין את הדוא"ל שלך בסוף השורה, פשוט שנה את my@email.com לדוא"ל שאליו תרצה שההודעות יגיעו

לאחר ששמנו (בכל מקום בקובץ) את השורה ששמתי לפני, אנו שומרים את הקובץ איתו Ctrl + O (או דובי) והשארנו את זה עם Ctrl + X

מוכן, בכל פעם שמישהו נכנס למסוף השורש, קובץ ה- .bashrc ייטען, וזה משהו שנעשה תמיד כברירת מחדל, וכשהקובץ נטען, השורה ששולחת את הדוא"ל תבוצע ותשאיר משהו בתיבת הדואר הנכנס שלנו. כפי ש:

הודעת דוא"ל-ssh

ההסבר לשורה הוא משהו ממש פשוט:

  1. דרך mailx אני שולח את הדואר, עם הפרמטר -s «_____» אני מציין את הנושא, ואני מעביר אותו בהד «____» ובצינור את תוכן הגוף.
  2. 'שם מארח' עם זה אני מקבל את שם המארח או שם המארח, כלומר את שם ה- VPS.
  3. 'תאריך +'% Y /% m /% d'` פקודת התאריך מראה לי את תאריך המערכת, שאר האותיות פשוט מציינות איך אני רוצה שהתאריך יופיע.
  4. מי | grep -v localhost 'אם אתה מפעיל מי במחשב שלך זה יראה לך את המשתמשים הפעילים, עם grep -v localhost אני מוודא שהוא מראה רק את אלה שהתחברו ממיקום אחר לשרת עצמו, כלומר בעצם SSH
  5. `מי | grep -v localhost | awk {'print $ 5'} "מה שמבדיל קו זה מהקודם הוא ה- awk, דרך awk והדפסת העמודה החמישית היא שאני מקבל את ה- IP מאיפה שהם התחברו ל- SSH

בכל מקרה, התור ארוך במקצת ונראה שהוא מורכב להבנה, אולם יש הרבה דמויות מוזרות אבל הכל די פשוט 🙂

כמו תמיד, אני מקווה שמצאת את זה מעניין.

לגבי


22 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   מנואלפרז דיג'ו

    שאלה, עם איזה שרת דואר הוא נשלח? האם עליך להגדיר חשבון משלוח?

    1.    KZKG ^ גאארה דיג'ו

      עליך להתקין את חבילת mailx 😉
      לאחר שהדבר נעשה, הוא נשלח ללא צורך בתצורה אחרת בשרת.

      1.    מנואלפרז דיג'ו

        אני אנסה את זה, אבל אני חושב שהדוא"ל שלי לא יקבל קבלת דוא"ל ממקור לא מאומת ...

        1.    יומיסמו דיג'ו

          אני משתמש ב- exim4 עם חשבון 'gmail' כדי לשלוח מיילים וזה עובד בסדר
          למעט כותרות FROM TO ו- REPLY TO, אשר gmail מציב את מה שהוא רוצה אבל הם מגיעים היטב -.
          להגדרת gmail עם exim4 השתמש במידע זה:
          http://dajul.com/2009/06/08/configurar-exim4-con-gmail-o-google-apps/

          1.    KZKG ^ גאארה דיג'ו

            מעניין, תודה רבה 🙂

      2.    ישראל דיג'ו

        חבר @ KZKG ^ גאארה התקנתי את החבילה ועשיתי את המדריך צעד אחר צעד, הדבר היחיד שכשאני שולח אותו יש לי את הדואר המקומי, מעולם לא יצאתי, האם אתה יכול לעזור לי בזה ?? …… טוב אני באמת צריך להגדיר את הנושא הזה בשרתים שלי, salu2s.

        1.    KZKG ^ גאארה דיג'ו

          לפי ה- IP שלך אני מניח שאתה מארצי 😉
          ל"בעיה "ברשתות שלנו לעיתים רחוקות יש כתובות IP אמיתיות ככאלו, כלומר, אנחנו מרושתים תחת רשת proxy של משרד, או משהו כזה. במילים אחרות, ייתכן שהבעיה היא ששרת האינטרנט עצמו לא יכול לקבל דוא"ל מהרשת או משהו כזה, אולי אתה צריך את זה: https://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/

  2.   טרוקו 22 דיג'ו

    מעניין ואם הוא ממוקם ב "/ etc / profile" האם זה יתן את האזהרה כאשר משתמש כלשהו מתחבר?

    1.    KZKG ^ גאארה דיג'ו

      יהיה צורך לנסות, זה לא עלה בדעתי 😀

  3.   נבוכדנצר דיג'ו

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

    1.    יומיסמו דיג'ו

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

      ובשביל פרנויה, הפסיקו להתקין מאגרים NON-FREE, כי יתכן שמישהו יזין קוד זדוני שגונב לכם את עגלת הקניות.

    2.    KZKG ^ גאארה דיג'ו

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

  4.   בראונסונים דיג'ו

    זה מוערך.

  5.   שם זה לא נכון דיג'ו

    מעניין מאוד.

    אולי קבצי ~ / .bashrc או / etc / פרופיל אינם המתאימים ביותר במקרה שאנו ניגשים באמצעות SSH עם משתמש רגיל ומבצע פקודה ספציפית כשורש. או אם אנו מייצאים את ה- X11 מ- VPS המרוחק שלנו, בכל פעם שאנחנו פותחים xterm היה לנו דוא"ל חדש.

    עבור פריצת mailx, אני חושב שעלינו להשתמש בקבצי ~ / .ssh / rc (פרטניים לכל משתמש) או / etc / ssh / sshrc

    PostData: גישה ל- _NEVER_ על ידי SSH כמשתמש שורש. גישה ל- _NEVER_ באמצעות SSH באמצעות סיסמה. _ALWAYS_ השתמש במפתחות פרטיים.

    1.    טרוקו 22 דיג'ו

      מעניין → ~ / .ssh / rc אני הולך למצוא מידע נוסף על כך תודה 😀

  6.   צ'ינולוקו דיג'ו

    שלום, מורה טוב מאוד!
    האם תוכל לגרום לאחד להיכנס דרך ssh מכל ip כלשהו, ​​מחוץ לרשת המקומית?
    גרציות !!

  7.   vidagnu דיג'ו

    סקריפט זה פועל אם שרת הדואר שאליו אנו שולחים אינו מאמת שדואר המקור מגיע משרת אותנטי, במקרה זה הוא יהיה ממקור root @ localhost, רוב השרתים יקחו אותו כספאם.

    מה שאני עושה זה להגדיר את sendmail כ- MTA ואז להשתמש בדואר שמגיע בכל ההפצות כדי לשלוח הודעות דוא"ל.

    http://vidagnu.blogspot.com/2009/02/configurar-sendmail-como-cliente-de.html

  8.   אלגבה דיג'ו

    תודה על הטיפ שיהיה לי לבדוק אותו:]

  9.   kuk דיג'ו

    מאוד שימושי תודה

  10.   ישראל דיג'ו

    תודה מיליון על העצה חבר @ KZKG ^ גאארה, אני הולך להסתכל ב- sendmail, אני מקווה לפתור, salu2s.

  11.   ג'וסקר דיג'ו

    גדול! תודה על הקלט!

  12.   חואן סי דיג'ו

    ומה קורה, אם למשל התסריט שולח יותר מדי מיילים, למשל מישהו נכנס למסוף הבסיס בשעה 8:00 בבוקר ושלח כ 40 מיילים, אז מישהו נכנס בשעה אחרת ונשלחו יותר מ 23 מיילים ואז מישהו בא בפעם אחרת ונשלחו יותר מ -150 מיילים, מה זה יכול להיות?