יציאות מכות (באנגלית דפיקות בנמל) ללא ספק נוהג שכולנו שמנהלים שרתים צריכים לדעת היטב, כאן אני מסביר בפירוט מה זה וכיצד ליישם ולהגדיר את זה 😉
נכון לעכשיו לאלו מאיתנו שמנהלים שרת יש גישה SSH לשרת זה, חלקם אנו משנים את יציאת ברירת המחדל של SSH והוא כבר לא משתמש ביציאה 22 ואחרים פשוט משאירים את זה ככה (משהו לא מומלץ), אולם השרת איפשר גישה ל- SSH דרך יציאה כלשהי וזו כבר 'פגיעות'.
עם דפיקות בנמל אנו יכולים להשיג את הדברים הבאים:
1. גישת SSH אינה מופעלת בשום יציאה. אם הגדרנו SSH ליציאה 9191 (למשל) יציאה זו (9191) תהיה סגורה לכולם.
2. אם מישהו רוצה לגשת לשרת באמצעות SSH, ברור שהוא לא יוכל, שכן יציאה 9191 סגורה ... אבל אם נשתמש בשילוב 'קסם' או סודי, יציאה זו תיפתח, למשל:
1. אני טלנט ליציאה 7000 של השרת
2. אני עושה עוד Telnet ליציאת 8000 של השרת
3. אני עושה עוד Telnet ליציאה 9000 של השרת
4. השרת מזהה שמישהו ביצע את השילוב הסודי (יציאות מגע 7000, 8000 ו- 9000 בסדר זה) ויפתח את יציאה 9191 לבקשת הכניסה באמצעות SSH (הוא יפתח אותו רק עבור ה- IP שממנו השילוב נעשה מספק) .
5. עכשיו כדי לסגור את ה- SSH אני פשוט טלנט ליציאה 3500
6. אני אעשה עוד Telnet ליציאה 4500
7. ולבסוף עוד Telnet ליציאה 5500
8. ביצוע שילוב סודי אחר זה אותו מגלה השרת יסגור את יציאת 9191 שוב.
במילים אחרות, להסביר זאת בפשטות רבה יותר ...
עם דפיקות בנמל ייתכן שהשרת שלנו סגור יציאות מסוימות, אך כאשר השרת מזהה זאת X IP נעשה שילוב היציאה הנכון (תצורה שהוגדרה בעבר בקובץ תצורה) יבצע פקודה מסוימת על עצמה ללא ספק (comando מוגדר גם בקובץ התצורה).
האם זה לא מובן? 🙂
כיצד להתקין דמון לדפיקת נמל?
אני עושה את זה עם החבילה קוקד, שיאפשר לנו בצורה מאוד מאוד פשוטה ומהירה ליישם ולהגדיר דפיקות בנמל.
התקן את החבילה: knockd
כיצד להגדיר את דפיקת הנמל עם knockd?
לאחר ההתקנה אנו ממשיכים להגדיר אותו, לשם כך אנו עורכים (כשורש) את הקובץ /etc/knockd.conf:
nano /etc/knockd.conf
כפי שניתן לראות בקובץ זה יש כבר תצורת ברירת מחדל:
ההסבר על הגדרות ברירת המחדל הוא ממש פשוט.
- ראשון, השתמש ב-Syslog פירושו שכדי להקליט פעילות (יומן) נשתמש / var / log / syslog.
שנית, בסעיף [openSSH] זה המקום שבו ברור שההוראות לפתיחת SSH ילכו, ראשית יש לנו את רצף היציאות (השילוב הסודי) שמוגדר כברירת מחדל (יציאה 7000, יציאה 8000 ולבסוף יציאה 9000). ברור שניתן לשנות את היציאות (למעשה אני ממליץ על זה) כמו כן הן לא בהכרח צריכות להיות 3, הן יכולות להיות פחות או יותר, זה תלוי בך.
- שלישית, seq_timeout = 5 פירושו הזמן לחכות עד שילוב הנמלים הסודי יתקיים. כברירת מחדל הוא מוגדר לחמש שניות, המשמעות היא שברגע שאנחנו מתחילים לבצע את נקישת היציאה (כלומר כשאנחנו מתקשרים לטלפון ליציאה 5) יש לנו מקסימום 7000 שניות לסיים את הרצף הנכון, אם עוברות 5 שניות ואנחנו לא סיימנו לדפוק את היציאה אז פשוט יהיה כאילו הרצף לא חוקי.
- חדר שינה, הפקודה זה לא צריך הרבה הסבר. זו פשוט הפקודה שהשרת יבצע כאשר הוא מזהה את השילוב שהוגדר לעיל. הפקודה שמוגדרת כברירת מחדל, מה שהיא עושה זה לפתוח את יציאה 22 (שנה יציאה זו ליציאת SSH שלך) רק ל- IP שעשה את השילוב הנכון של היציאות.
- חמישי, tcpflags = syn בשורה זו אנו מציינים את סוג החבילות שהשרת יזהה כתקפות ליציאת הדפיקות.
ואז יש את הסעיף לסגירת ה- SSH, שתצורת ברירת המחדל היא לא יותר מאותו רצף של יציאות למעלה אלא בסדר ההפוך.
הנה תצורה עם כמה שינויים:
איך להתחיל את הדמון הנוקב?
כדי להפעיל אותו עלינו לשנות תחילה (כשורש) את הקובץ / etc / default / knockd:
nano /etc/default/knockd
שם אנו משנים את קו מספר 12 שאומר: «START_KNOCKD = 0»ושנה את זה 0 ל -1, היינו:«START_KNOCKD = 1«
ברגע שזה נעשה עכשיו אנחנו פשוט מתחילים את זה:
service knockd start
וואלה, זה מוגדר ועובד.
דפיקות בנמל עם ריצה מהירה!
כפי שניתן לראות בתצורה הקודמת, אם נקישה ביציאה נעשית ליציאה 1000, ואז ל -2000 ולבסוף ל -3000 אז יפתח 2222 (ה- SSH שלי), ובכן הנה מחשב אחר שמבצע דפיקת יציאה:
ברגע שאלחץ על [Enter] ב- Knock No.1, ב- No.2 ולבסוף ב- No.3 היציאה תיפתח, הנה היומן:
כפי שאתה יכול לראות, כאשר דופקים יציאה 1000, שלב 1 נרשם, ואז 2000 יהיה שלב 2 ולבסוף 3 עם 3000, כאשר מבצעים את הפקודה שהכרזתי ב- .conf מבוצעת וזהו.
ואז כדי לסגור את הנמל זה יהיה רק לדפוק 9000, 8000 ולבסוף 7000, הנה היומן:
ובכן כאן מסתיים הסבר השימוש 😀
כפי שאתה יכול לראות, דפיקת יציאות היא באמת מעניינת ושימושית, כי למרות שאנחנו לא רוצים פשוט לפתוח יציאה לאחר שילוב מסוים של יציאות, הפקודה או הסדר שהשרת יבצע עשויים להשתנות, כלומר ... במקום פתיחת יציאה שנוכל להכריז עליה להרוג תהליך, לעצור שירות כמו אפאצ'י או mysql וכו '... הגבול הוא הדמיון שלך.
ובכן ועד כה המאמר ... אני לא מומחה בעניין זה, אבל רציתי לשתף אתכם בתהליך מעניין מאוד.
ברכות 😀
מאמר מצוין, זה די מעניין ולא ידעתי שהוא קיים ... זה יהיה נהדר אם תמשיכו להוציא מאמרים למתחילים sysadmin ודברים 😀
ברכות ותודות ^ _ ^
תודה על התגובה.
כן ... זה שעם המאמרים על DNS של Fico, אני לא רוצה להישאר מאחור LOL !!!
שום דבר רציני. לפני מספר חודשים שמעתי משהו על Port Knocking וזה מיד משך את תשומת ליבי, אך מכיוון שחשבתי שזה יהיה מורכב מאוד באותה תקופה לא החלטתי להיכנס פנימה, רק אתמול בדקתי כמה חבילות מה- repo שגיליתי knockd ו- החליטו לנסות, והנה המדריך.
תמיד אהבתי להכניס מאמרים טכניים, חלקם אולי לא מעניינים מספיק אבל ... אני מקווה שאחרים הם 😉
לגבי
שלום, אני יודע שהמאמר הזה קיים כבר זמן מה אבל אני שולח את השאילתה שלי כדי לראות אם מישהו יכול לפתור לי את זה.
העובדה היא שמימשתי דפיקות יציאות לפטל שלי כדי לנסות לשפר את האבטחה כשאני מתחבר אליו מחוץ לרשת המקומית. כדי שזה יעבוד הייתי צריך לפתוח את טווח היציאות בנתב 7000-9990 שמכוון למכונה. האם זה בטוח לפתוח את היציאות האלה בנתב, או להפך, כאשר אני מנסה לקבל יותר אבטחה, האם אני עושה את ההפך?
ברכות ותודה.
נהדר, הייתי סיסמין במשך שנים ולא הכרתי אותו.
שאלה אחת ... איך עושים את ה"דפיקות "?
האם אתה רשת נגד היציאות האלה? מה הטלנט עונה לך? או שיש איזו פקודת גל "דפיקה"?
אחלה מגניב זה מאמר. מַרהִיב. תודה רבה
עשיתי את הבדיקה עם Telnet והכל עשה פלאים ... אבל באופן מוזר יש פקודה 'לדפוק', בצע איש דופק כדי שתוכל לראות 😉
ה- Telnet לא ממש מגיב אלי כלל, מכשירי IP עם מדיניות ה- DROP גורמים לכך שהוא לא מגיב בכלל וה- Telnet נשאר שם ומחכה לתגובה כלשהי (שלעולם לא תגיע), אך הדמון של knockd יזהה את הדפיקה גם אם אף אחד לא יענה זה 😀
תודה רבה על תגובתך, תענוג לדעת שהמאמרים שלי עדיין אוהבים ^ _ ^
נוסף למועדפים! : ד!
תודה!
תודה 😀
אהה אבטחה, התחושה הנעימה הזו כשאנחנו מאבטחים את המחשב לצנרת, ואז ימים / שבועות אחר כך מנסים להתחבר מאיזה מקום מרוחק שאנחנו לא יכולים לגשת אליו כי חומת האש במצב "אף אחד לאף אחד", זה נקרא להישאר מחוץ טירה מבחינת sysadmins. 😉
זו הסיבה שהפוסט הזה כל כך שימושי, עם ה- knockd שאתה יכול לגשת מכל מקום שיכול לשלוח חבילה לרשת המקומית שלך, והתוקפים מאבדים עניין כשהם רואים שנמל ה- ssh סגור, אני לא חושב שהם יתחילו ל לדפוק כוח אכזרי לפתיחת הנמל.
היי, המאמר מעולה.
דבר אחד: האם זה משמש להתחברות מחוץ לרשת המקומית?
אני אומר את זה כי יש לי את הנתב עם היציאות סגורות מינוס זה שמתאים ל- ssh שמופנה לשרת.
אני מתאר לעצמי שכדי שהוא יעבוד מחוץ לרשת המקומית, יהיה צורך לפתוח את יציאות הנתב המתאימות ל Port Knocking ולהפוך את אלה גם להפניה מחדש לשרת.
מממ ...
אני לא יודע כמה בטוח לעשות את זה.
מה אתה חושב?
אני לא ממש בטוח, לא עשיתי את הבדיקה אבל אני חושב שכן, כדאי לפתוח יציאות בנתב, אחרת לא תוכלו לדפוק את השרת.
בצע את הבדיקה מבלי לפתוח יציאות בנתב, אם זה לא עובד עבורך זה חבל, כי אני מסכים איתך, לא מומלץ לפתוח את היציאות האלה בנתב.
ואכן, עלינו לפתוח את היציאות ולהפנות אותן למחשב שאליו אנו מתקשרים.
רַחֲמִים.
תודה רבה מאוד! התחלתי ללמוד את קריירת הרשת והדרכות אלו נהדרות עבורי! תודה שפניתם לחלוק את הידע
למדתי המון לאורך השנים עם קהילת לינוקס העולמית ... כבר כמה שנים שרציתי לתרום, זו בדיוק הסיבה שאני כותב 😀
תודה רבה לך, אתה לא יודע איך זה עוזר לי, אני עומד להקים שרת וזה הולך מצוין בשבילי.
לגבי
לשם כך נועד לעזור 😉
מאמר מעולה! לא היה לי שום ידע בזה וזה עוזר לי מאוד (אני משתמש ב- RackSpace המשתמש ב- KVM, אז זה מתאים לי כמו כפפה ליד!). נוסף למועדף.
תודה על התגובה 🙂
כמו תמיד DesdeLinux מביא לנו פוסטים מצוינים עם מדריכים שממש שימושיים לביצוע, תודה על השיתוף!! 🙂
תודה על תגובתך 🙂
כן, אנחנו תמיד מנסים לספק את צימאון הידע שיש לקוראים שלנו 😀
מעניין, לא ידע את האופציה.
עבור ישר לפיטום ספריית הקוצצים שלי.
תודה!
תענוג בשבילי 😀
לגבי
ברכות KZKG ^ גאארה !!! לחצת. מאמר אדיר לשרתים מאובטחים. אין @% * & ^ מושג שדבר כזה קיים. אנסה זאת. תודה
זה נהדר…. ^ - ^
שלום, האם תוכל להסביר כיצד להתקין אותו ב- CentOS 5.x?
הורדתי את הסל"ד:
http://pkgs.repoforge.org/knock/knock-0.5-3.el5.rf.x86_64.rpm
מוּתקָן:
rpm -i knock-0.5-3.el5.rf.x86_64.rpm
הגדר את קובץ התצורה עם זמן של 15 שניות ואת היציאה בה אני משתמש כדי להתחבר באמצעות ssh ל- vps שלי
השד מתחיל:
/ usr / sbin / knockd &
אני לא Telnet ושום דבר היציאה לא נסגרת, כברירת מחדל היציאה פתוחה, אבל היא לא נסגרת.
האם אני עושה משהו לא בסדר?
ממממ, בקשות טלנט לנמלים אלה יכולות להיות נלמדות על ידי מנהל הרשת המקומית שלנו, או על ידי ספק השירות שלנו, לא? זה היה חוסם אנשים חיצוניים אבל לא אותם, אז אם הם רוצים להפעיל את הנמל שלנו הם יכולים לעשות את זה כי לראות את בקשות שאנחנו מגישים, מממ נניח שזה מגן אבל לא 100%
זה יכול להיות, אבל אני לא חושב שהם מתכוונים לדמיין שטלנט מסוים מבצע X פעולה. אלא אם כן הם רואים שמלווים את אותם דפוסי הטלנט.
מאמר מעניין, יש לי שאלה. אני חושב שיש שגיאה בתמונת קובץ התצורה, מכיוון שאם אתה מנתח היטב, בשתי שורות הפקודה אתה משתמש ב- ACCEPT ב- Iptables. אני חושב שאחד צריך לקבל ואחר צריך לדחות.
אחרת, יוזמה מצוינת. תודה רבה שפניתם להסביר לאחרים את הידע שלכם.
לגבי