פרופיל האפליקציה של UFW חסר? הוא מתאר פורטים, לא שירותים
פרופיל אפליקציה של UFW הוא רשימה בעלת שם של פורטים ופרוטוקולים, לא שירות. קראו את app info, השוו את המאזין האמיתי ושמרו דרך חזרה לפני רענון.
UFW אומר שהוא אינו מוצא פרופיל שמתאים ל-OpenSSH, והחיפוש אחר סיבה מוביל ישר לשרת ה-SSH. זה הכיוון הלא נכון: ההודעה עוסקת בהגדרת חומת אש בעלת שם ואינה אומרת דבר על כך ש-sshd מותקן, פועל או מאזין. פרופיל אפליקציה של UFW הוא רשימה של פורטים ופרוטוקולים עם תווית. קריאת ההגדרה דורשת פקודה אחת ובדרך כלל מסיימת את החקירה.
שלב 1: פרטו את השמות ש-UFW באמת מכיר
שאלו את חומת האש אילו שמות יש לה לפני שאתם מבקשים ממנה לאשר אחד. הרשימה מגיעה מהפרופילים המותקנים במכונה הזו, ולכן שם חסר הוא עובדה על המערכת הזו ולא על התוכנה שביקשתם להגן עליה. אם השם קיים, השגיאה הגיעה משגיאת הקלדה או מכינוי מיושן בהיסטוריית ה-shell שלכם.
ufw app list
ufw app info OpenSSH
הרשימה קצרה בהתקנה ברירת מחדל, והשמות אינם שמות חבילות. פרופיל בשם OpenSSH יכול להיות חסר בזמן שחבילת openssh-server מותקנת, וגם ההפך אפשרי. השתמשו בשם המדויק שהרשימה מדפיסה; שם פרופיל VPN או משגר שולחן עבודה עם כתיב דומה אינו פרופיל אפליקציה של UFW. אם השם שאתם רוצים חסר, זו הממצא, והשלב הבא הוא לבדוק מה אמור לספק אותו.
שלב 2: קראו את ההגדרה, לא את התווית
פרופיל הוא קובץ בסגנון INI תחת /etc/ufw/applications.d, עם שם, כותרת, תיאור ושדה פורטים. שדה הפורטים יכול לפרט כמה פורטים ותעבורות, ולכן התווית מספרת פחות מההגדרה. המדריך של UFW מתעד את השדות האלה ואת פעולת עדכון האפליקציות. קראו את הקובץ במקום להניח שהשם פירושו פורט מוכר אחד.
cat /etc/ufw/applications.d/openssh-server
ufw app info OpenSSH
הגדרה שמכילה 22/tcp מתארת את פורט TCP 22 ותו לא. היא אינה מוכיחה שהתהליך במכונה הזו מאזין שם, והיא אינה מכסה פורט שני שהוספתם מאוחר יותר. אם התהליך פועל במקום אחר, הפרופיל הוא ההרשאה הלא נכונה למרות שמו שתואם למוצר. השוו את המאזין להגדרה לפני שתאשרו את מי מהם.
ss -ltnp 'sport = :22'
עצרו אם ההגדרה והמאזין אינם תואמים. אישור פרופיל שמציין פורט שאיש אינו מאזין לו יוצר כלל שנראה כמו התקדמות ואינו מגן על דבר.
שלב 3: הפרידו את הפרופיל מהשירות הפעיל
אישור פרופיל בעל שם אינו מתקין, מפעיל או מגדיר את השירות, ושירות פעיל אינו זקוק לפרופיל ארוז כדי להיות נגיש. אלה החלטות נפרדות שבבעלות כלים שונים: מנהל החבילות, מנהל השירותים וחומת האש. התייחסות אליהן כדבר אחד היא הדרך שבה אנשים מתקינים שרת לא רצוי כדי ששם סמלי יופיע.
בשרת VPN ההפרדה נמשכת לאחר אישור המאזין החיצוני. ההרשאה לפורט התעבורה המוצפנת אינה מפעילה העברה בליבה, אינה מוסיפה כלל NAT ואינה נותנת למשתמשי המנהרה גישה ל-LAN. כל אחד מאלה הוא מדיניות נפרדת עם סקירה משלו. פרופיל שנקרא על שם מוצר ה-VPN מתאר רק את הפורטים שהוא מפרט, ושאר תצורת השרת עדיין שלכם לכתוב.
אם הפרופיל חסר ואתם צריכים אחד, כלל פורט מפורש שנסקר או פרופיל מקומי תחת applications.d שניהם לגיטימיים. התקנת חבילה שלא רציתם אינה לגיטימית.
שלב 4: שמרו דרך חזרה לפני רענון חומת האש
לפני כל שינוי כלל, ודאו שיש לכם דרך שנייה אל המכונה: קונסולה, כתובת מחוץ לפס או החזרה מתוזמנת. אחר כך קראו את מערך הכללים ואת מדיניות ברירת המחדל, כי דחייה כברירת מחדל בלי כלל SSH היא הדרך הקלאסית לנעול את עצמכם בחוץ בזמן בדיקה. שנו כלל אחד בכל פעם וקראו את האישור ש-UFW מדפיס. כלל שמור, כלל פעיל ושירות נגיש הם שלושה תצפיות שונים.
ufw status verbose
ufw allow 22/tcp
ufw app update OpenSSH
לאחר השינוי, בדקו את החיבור המותר ונתיב אחד שאמור להישאר חסום. בדיקת החסימה חשובה כמו בדיקת ההרשאה, כי כלל רחב מהמכוון עובר את הבדיקה הראשונה ונכשל בשנייה. רשמו את שם הפרופיל, את הפורטים שהוא הכיל ואת המאזין שמולו אימתתם.
רשימת הבדיקה מסתיימת כשהשם קיים או הוחלף בכוונה, ההגדרה תואמת את המאזין האמיתי, השירות מנוהל בנפרד, ובדקתם גם נתיב מותר וגם נתיב חסום עם נתיב שחזור ביד. שם ברשימה אינו אף אחד מאלה.