פורטים פתוחים בשרת

פורטים פתוחים במכונות שלכם שחשופות לרשת בלי שאתם מודעים אליהם? זו חולשת אבטחה. זה קרה גם לי.

כשיש לנו שרת אינטרנט שיש עליו אתר או שירות, אנחנו צריכים להקפיד היטב על הפורטים שיש בו. פורטים הם סוג של "שערים" שפתוחים על המכונה ותוכנות שונות עובדות איתן לתקשורת. כך למשל, פורט 80 משמש אותנו לתקשורת http ופורט 443 משמש אותנו ל https. פורט 21/20 ל-FTP ופורט 22 ל-SSH וכך הלאה. כשאנחנו מרימים שרת לוקלי, אנחנו יכולים למשל לבחור לעבוד בפורט אחר כמו פורט 3000 למשל, או כל פורט אחר.

פורטים הם חלק מעולם התקשורת. הבעיה היא שהם גם חור אבטחה, אם למשל פורט 21 פתוח במחשב שלי ואם במקרה יש גם תוכנת FTP שעושה בו שימוש והיא לא מעודכנת, או מעודכנת אבל משתמשת ב-admin\admin – אני בבעיה. זו הסיבה האקרים וסקריפטים אוטומטיים מבצעים סריקות של כל הפורטים וכשהם מוצאים פורט פתוח הם ינסו להתחבר אליו באמצעות תוכנה עם ברירות מחדל או לבדוק חולשות ידועות הקשורות לפורט הזה.

הסריקה לפורט מתבצעת עם nmap. תוכנה שרצה ב-CLI ומראה פורטים פתוחים. מדובר בסריקה לאורך כל הפורטים (אל תעשו את זה לשרת שאתם לא מכירים או מרשת העבודה שלכם) והצגה של הפורטים הפתוחים. כך זה נראה למשל אצלי:

סריקת nmap המראה שלושה פורטים פתוחים: 22, 53, 80.
סריקת nmap המראה שלושה פורטים פתוחים: 22, 53, 80.

ניתן לראות שיש פה פורט 80 פתוח, כלומר אם אני אכניס את ה-url לדפדפן אני אוכל להכנס ולראות מה קורה פה. יש פורט 22, שבאמצעות אפשר להתחבר עם ssh ופורט 53 שמשמש שאילתות DNS לשרתי DNS. אם זה שרת ציבורי, ואני תוקף – אני אנסה להכנס ולראות אם פורט 80 אולי מכיל משהו מעניין (ממשק ניהול פתוח?), אני אנסה להתחבר עם ssh, אולי root עם סיסמה 1234 יעבוד? ואם יש חולשה של שרת DNS אני אנסה לתקוף את פורט 53 וכך הלאה.

זו הסיבה שמאוד מומלץ לעבור על הפורטים הפתוחים ולראות אם יש משהו שאתם לא צריכים. וזה בדיוק מה שיותם הכהן, מייסד של openfox.io (סטארטפ בתחום מערכות ידע לארגונים) מצא אצלי. בגלל בעיית קונפיגורציה, גוגל סרקו את כתובת ה-IP של השרת שלי שנמצא מאחורי קלאודפלייר וכתובת ה-IP האמיתית נחשפה, יותם ביצע סריקה של nmap גילה שפורט 22 פתוח בשרת שלי לכל דיכפין.

אז ראשית וידאתי שכתובת ה-IP שלי לא חשופה. אבל זה לא עוזר, כיוון שכתובות IP, בטח כאלו ששייכות לאמזון, נסרקות כל הזמן.

המכונה שלי היא מכונה של אמזון עם image של bitnami. פורט SSH פתוח בה לכל כתובת IP ללא הגבלה. לא הרעיון הכי טוב שלי, זה בטוח.

דוגמה של הגדרות רשת לשרת באמזון Lightsail. מגיעים לשם מממשק השליטה הפשוט של אמזון.

מה עושים? אם אני צריך את ה-SSH פעם באלף שנה. אפשר להוריד את הכתובת ולהוסיף אותה כשצריכים לפיירוול. שזה מה שעשיתי. אם צריך קצת יותר ויש לי כתובת IP קבועה או VPN ארגוני – אפשר להכניס את הריינג' שלהם. לחלופין, אפשר פשוט לעבור לזיהוי עם מפתחות ולנטוש את שם המשתמש והסיסמה. וכמובן להקפיד לעדכן ולתחזק את הקליינט של SSH כל הזמן. יש כמה דרכים לטפל בפורט פתוח. הדרך הראשונה היא מודעות.

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

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

פוסטים נוספים שכדאי לקרוא

עבודה בהיי טק

איך מראיינים סניורים?

השיטה שלי לבדיקת התאמה טכנית למתכנתות ולמתכנתים בכירים עם כמה שנות ניסיון.

יסודות בתכנות

מספרים בינאריים בקוד

איך, ויותר חשוב למה, משתמשים במספרים בינאריים בתכנות? גם בפייתון ובג׳אווהסקריפט?

למפתחי ובוני אתרי אינטרנט

מדריך לשאילתות יעילות ל Chat GPT

כל אחד יכול לשאול את GPT, אבל אם תרצו לשאול אותו שאלות על תכנות – יש כמה שיטות וטיפים ליעל את העבודה מולו.

ESP32 מאפס לילדים

מדריך ל-ESP32 לילדים ולהורים מאפס

אחד הדברים הכי כיפיים בעולם הוא תכנות ותכנות בעולם האמיתי – המפעיל אורות, ציוד אלקטרוני ומכשירים הוא מלהיב ממש. המדריך מיועד להורים שרוצים ללמד את הילדים שלהם לתכנת.

פייתון

קבצי קונפיגורציה בפואטרי

הגדרות שמשנות את ההתנהגות של פואטרי באמצעות קבצי הגדרות גלובליים, לוקליים ואפילו משתני סביבה.

גלילה לראש העמוד