הכר את הרשת שלך מבפנים על ידי בדיקה קבועה של יציאות פתוחות עם פקודות לינוקס אלה.
יציאות רשת פתוחות הן נקודות הכניסה הקלות ביותר לרשת שלך. לפעמים, ייתכן שיש שירותים לא רצויים שפועלים ביציאות הנראות מבחוץ מהאינטרנט. במקרה ששירותים אלה פגיעים, הרשת שלך תהיה בסכנה מתקפה של התקפה, שכן בכל יום נסרק האינטרנט כולו עבור שירותים פגיעים ביציאות פתוחות.
למד כיצד תוכל לסרוק ולהציג יציאות פתוחות במערכות לינוקס שלך, כך שתוכל להגן על הרשת שלך מפני איומים.
מהן יציאות רשת?
יציאות רשת הן נקודות גישה לוגיות של המערכת שלך שיכולות לשמש כערוץ לאירוח שירותים מרובים. יציאה מיוצגת על ידי מספר שלם של 16 סיביות ולכן מספר היציאה הגבוה ביותר הוא 65535.
אתה יכול לחשוב על יציאות כמו חלונות ודלתות של בית - בעצם כל נקודות הכניסה השונות לבית או למחשב. יציאות הן משלושה סוגים: יציאות מערכת (1-1023), יציאות רשומות (1024-49151), ויציאות ארעיות או דינמיות (49152-65535).
כאשר אתה מפעיל יישום הדורש חיבור לאינטרנט, הוא משתמש ביציאות דינמיות כדי לשדר ולקבל נתונים דרך הרשת. עם זאת, כאשר אתה מפעיל שרת אינטרנט או שרת SSH, הוא בדרך כלל נקשר ליציאות המערכת או ליציאות הרשומות.
עבור שרתי אינטרנט המשרתים HTTP, יציאת מערכת ברירת המחדל היא 80 ועבור SSH היא 22. תקנות אלו כגון טווחי היציאות פותחו על ידי רשות המספרים המוקצה לאינטרנט (IANA). אתה יכול לעבור את RFC לגבי יציאות כדי לקבל רשימה מלאה של כל היציאות והפונקציות שלהן.
חשוב שתדעו את יציאות פגיעות לרוב כך שתוכל להבטיח שהם סגורים או מוגנים.
1. בדוק אם יש יציאות פתוחות עם netstat
netstat הוא כלי עזר פופולרי שבו אתה יכול להשתמש כדי להציג את סטטיסטיקת הרשת של מערכת הלינוקס שלך. זה חלק מחבילת net-tools.
חבילת net-tools מופחתת כעת עקב חוסר תחזוקה נאותה של היזם. זו גם הסיבה שאתה עלול להיתקל שגיאת "ifconfig: הפקודה לא נמצאה". בעת הפעלת הפקודה הפופולרית ifconfig בלינוקס.
אז במערכות מודרניות, ייתכן שתצטרך להתקין תחילה את חבילת net-tools, ולאחר מכן תוכל להפעיל את הפקודה netstat. הנה איך לבדוק אם יש יציאות פתוחות עם netstat:
netstat -tuln
הסבר על הפקודה:
- -ת מציג יציאות TCP.
- -u מציג יציאות UDP.
- -ל מציג יציאות האזנה. תחליף את זה ב א אם אתה רוצה לראות את כל הנמלים, ללא קשר למדינתם.
- -נ מציג את הערך המספרי של היציאות במקום לפתור לשמות שירות. לדוגמה, הצג יציאה 22 במקום SSH, כלומר השירות הפועל על הפורט.
2. בדוק אם יש יציאות פתוחות עם ss
ss הוא המקבילה המודרנית של כלי netstat. אתה תמצא את זה מותקן מראש בכל ההפצות המודרניות של לינוקס. התחביר לבדיקת יציאות פתוחות עם ss זהה ל-netstat.
הנה איך לבדוק אם יש יציאות פתוחות עם ss:
ss -טולן
הסבר על הפקודה:
- -ת מציג יציאות TCP.
- -u מציג יציאות UDP.
- -ל מציג יציאות האזנה. תחליף את זה ב א אם אתה רוצה לראות את כל הנמלים, ללא קשר למדינתם.
- -נ מציג את הערך המספרי של היציאות במקום לפתור לשמות שירות. לדוגמה, הצג יציאה 21 במקום FTP, כלומר השירות הפועל על היציאה.
3. בדוק אם יש יציאות פתוחות עם Nmap
Nmap הוא אחד הכלים הפופולריים ביותר באבטחת סייבר וברשתות. זהו שם עיקרי בכל הנוגע לבדיקות חדירת אבטחת רשת. מקרה השימוש העיקרי שלו הוא סריקת יציאות כך שלא רק תקבל מידע על היציאות הפתוחות במערכת שלך אלא גם אם הן פגיעות וניתנות לניצול.
יתרה מכך, אם ברצונך לבדוק יציאות פתוחות במערכת מרוחקת עם הגדרת IDS/IPS וחומות אש במקום, אל תדאג כי Nmap יכולה גם לעקוף חומות אש ו-IDS/IPS עם המתגים הנכונים.
בדוק את זה מדריך מקיף על Nmap למתחילים לחקור את התכונות המגוונות של Nmap וכיצד להשתמש בהן. למרות שאתה יכול, לא מומלץ לנסות ולעקוף חומות אש מכיוון שזה לא לגמרי אמין, אז עדיף שתכניס SSH לשרת המרוחק ואז תפעיל עליו Nmap באופן מקומי.
הנה הפקודה לבדיקת יציאות פתוחות עם Nmap:
nmap -sTU -sV -T 5 min-rate 9000 --min-parallelism 9000 --initial-rtt-timeout 50ms --max-rtt-timeout 3000ms --max-reries 50 -Pn --disable-arp-ping -n -- סקריפט פגיע, ניצול, auth -v -oX
הסבר על הפקודה:
- -sTU מגדיר את סוג הסריקה ל-TCP Connect וסריקת UDP.
- -T 5 מגדיר את תבנית התזמון לאגרסיבית עבור סריקות מהירות בוערות (לא מומלץ במערכת לא מוגנת מכיוון שהיא עלולה לגרום להתקפת DoS).
- -sV מפעיל את סריקת השירות.
- --שיעור מינימום 9000 אומר ל-Nmap לשלוח 9000 מנות בשנייה.
- initial-rtt-timeout 50ms אומר ל-Nmap לחכות תחילה 50ms לתגובה לכל חבילת SYN שהיא שולחת.
- --max-rtt-timeout 3000ms אומר ל-Nmap להמתין עד 3000 אלפיות השנייה לתגובה.
- --מינימום מקביליות 9000 מגדיר את המספר המינימלי של ריצות סקריפט בו-זמנית ל-9000.
- --מקסימום ניסיונות חוזרים 50 אומר ל-Nmap לנסות שוב 50 פעמים כדי להתחבר ליציאה.
- -P n משבית את חיטוט הפינג.
- --disable-arp-ping משבית את חיטוט ARP.
- -נ משבית את רזולוציית ה-DNS.
- --script פגיע, ניצול, אישור מריץ שלושה סקריפטים כדי לבדוק סוגים שונים של פגיעויות ביציאות שהתגלו.
- -v מחזיר פלט מילולי.
- -שׁוֹר שומר תוצאות בקובץ XML.
- -6 פרמטר אופציונלי לסריקת כתובות IPv6.
4. בדוק אם יש יציאות פתוחות עם lsof
הפקודה lsof בלינוקס משמשת לרשימת קבצים פתוחים. עם זאת, אם תוסיף לו כמה מתגים, תוכל לראות את חיבורי האינטרנט והיציאות הפתוחים במחשב המקומי שלך. הנה איך לבדוק אם יש יציאות פתוחות עם lsof:
lsof -i -n
הסבר על הפקודה:
- -אני מפרט את כל קבצי הרשת והאינטרנט.
- -נ אינו פותר שמות מארח.
5. בדוק אם יש יציאות פתוחות עם netcat
netcat הוא כלי שורת פקודה המאפשר לך לקרוא ולכתוב מחיבורי TCP/UDP ואליהם. שימו לב שזוהי רק תכונה אחת של netcat. אתה יכול לבדוק את הדף המדריך שלו באמצעות גבר חתול נטו פקודה לחקור את כל התכונות שלו וכיצד להשתמש בהן.
כך תוכל להשתמש ב-netcat כדי לסרוק יציאות פתוחות:
nc -zv | grep -v "סירב"
הסבר על הפקודה:
- -ז מגדיר את netcat למצב סורק.
- -v מחזיר פלט מילולי.
- grep -v "סירב" מחזיר שורות פלט ללא המילה "סירב". זאת כדי למנוע מהטרמינל להיסתם בהודעות "חיבור נדחה" כאשר netcat לא מקבל פלט מיציאה.
- 2>&1: זהו מתג אופציונלי שאולי תצטרך להפעיל כדי שgrep יפעל בעת הפעלת netcat במצב מילולי. netcat מחזיר פלט ל-stderr (מסומן ב-2). אז כדי לתפוס את הפלט, תצטרך להפנות את stderr ל-stdout (מסומן ב-1) ואז להעביר אותו לתוך grep.
ככל שאתה מכיר את הרשת שלך לעומק כך אתה יכול להגן עליה טוב יותר
לדעת אילו יציאות פתוחות ואיזה שירותים פועלים על המערכת שלך הוא צעד מצוין להגנה עליה מפני התקפות חיצוניות פוטנציאליות. זה מאפשר לך לחפש ולסגור שירותים מיותרים, למצוא שירותים מיושנים וגם לזהות אם יש קבצים זדוניים כמו כריכה או דלתות אחוריות של מעטפת הפוכה פועלים על שלך מערכת.
אם אתה רציני לגבי אבטחת הרשת, עליך לשקול התקנה והגדרה של פתרון IDS לניטור כל הפעילות ברשת שלך ולאכוף ערכי כללים כדי למנוע חיבורים לא רצויים.