האם לסנטוס יש חומת אש?
כיצד להשבית או לכבות את חומת האש על CentOS 7
Iptables
לסנטוס יש חומת אש חזקה במיוחד המובנית, המכונה בדרך כלל iptables, אך ליתר דיוק הוא iptables/netfilter. Iptabl. Netfilter הוא מודול גרעינים, המובנה בתוך הגרעין, שעושה למעשה את הסינון. ישנם הרבה קצוות חזית GUI עבור iptabl. אנו הולכים ללמוד את ממשק שורת הפקודה של iptables.
לפני שנוכל באמת להתמודד עם iptables, עלינו להיות לפחות הבנה בסיסית של הדרך בה זה עובד. Iptables משתמש במושג כתובות IP, פרוטוקולים (TCP, UDP, ICMP) ויציאות. אנחנו לא צריכים להיות מומחים באלה כדי להתחיל (מכיוון שאנחנו יכולים לחפש כל המידע הדרוש לנו), אבל זה עוזר להבנה כללית.
Iptables מציב כללים לשרשראות מוגדרות מראש (קלט, פלט וקדימה) שנבדקים כנגד כל תנועת רשת (מנות IP) הרלוונטיות לרשתות אלה ומתקבלת החלטה מה לעשות עם כל מנות על סמך התוצאה של אותם כללים, אני.ה. קבלת המנה או השמטת. פעולות אלה מכונות יעדים, ששני היעדים הנפוצים ביותר המוגדרים מראש נופלים כדי להפיל חבילה או לקבל לקבל חבילה.
שרשראות
- קלט – כל המנות המיועדות למחשב המארח.
- פלט – כל המנות שמקורן במחשב המארח.
- קדימה – כל המנות לא מיועדות ולא מקורן במחשב המארח, אלא עוברות (מנותבות על ידי) המחשב המארח. שרשרת זו משמשת אם אתה משתמש במחשב שלך כנתב.
לרוב, אנו עומדים להתמודד עם שרשרת הקלט כדי לסנן מנות שנכנסות למכונה שלנו – כלומר לשמור על הרעים בחוץ.
הכללים מתווספים ברשימה לכל שרשרת. חבילה נבדקת מול כל כלל בתורו, מתחילה בחלק העליון, ואם היא תואמת את הכלל הזה, ננקטת פעולה כמו קבלת (לקבל) או להפיל (להפיל) את המנה. לאחר התאמת כלל וננקט פעולה, אז המנה מעובדת על פי תוצאתו של אותו כלל ואינה מעובדת על ידי כללים נוספים בשרשרת. אם חבילה עוברת דרך כל הכללים בשרשרת ומגיעה לתחתית מבלי שתתאימה כלשהי, אז נלקחת פעולת ברירת המחדל עבור אותה שרשרת. זה מכונה מדיניות ברירת המחדל ועשוי להיות מוגדר לקבל או להפיל את המנה.
הרעיון של מדיניות ברירת המחדל בתוך שרשראות מעלה שתי אפשרויות בסיסיות שעלינו לקחת בחשבון קודם לפני שנחליט כיצד אנו הולכים לארגן את חומת האש שלנו.
1. אנו יכולים להגדיר מדיניות ברירת מחדל להפיל את כל המנות ואז להוסיף כללים לאפשר (לקבל) מנות שנמצאות באופן ספציפי מכתובות IP מהימנות, או עבור יציאות מסוימות בהן יש לנו שירותים פועלים כגון BitTorrent, FTP Server, Server Web, Samba File Server וכו ‘.
2. אנו יכולים לקבוע מדיניות ברירת מחדל שתקבל את כל המנות ואז להוסיף כללים לחסום ספציפית (DROP) מנות שעשויות להיות מכתובות או טווחי IP ספציפיים למטרד, או עבור יציאות מסוימות שיש לנו שירותים פרטיים או שאינם שירותים הפועלים.
באופן כללי, אפשרות 1 לעיל משמשת לשרשרת הקלט בה אנו רוצים לשלוט על מה שמותר לגשת למכונה שלנו ואפשרות 2 תשמש לשרשרת הפלט בה אנו סומכים בדרך כלל על התנועה שעוזבת (מקורו) המכונה שלנו.
2. מתחילים
עבודה עם iptables משורת הפקודה דורשת הרשאות שורש, כך שתצטרך להפוך לשורש לרוב הדברים שנעשה.
יש להתקין IPTABL.x ו 6.x התקנות. אתה יכול לבדוק אם iptables מותקן במערכת שלך על ידי:
$ RPM -Q IPTABLES IPTABLE -1.4.7-5.1.EL6_2.x86_64
וכדי לראות אם iptables פועל בפועל, אנו יכולים לבדוק שמודולי iptables נטענים ולהשתמש במתג -l כדי לבדוק את הכללים טעונים כעת:
# lsmod | GREP IP_TABLES IP_TABLES 29288 1 iptable_filter x_tabl
# iptables -l קלט שרשרת (קבלת מדיניות) יעד יעד המקור של Prot Opt לקבל את הכל - בכל מקום בכל מקום שקשור למדינה, הוקמה קבל את ICMP - בכל מקום בכל מקום קבל את הכל - בכל מקום בכל מקום קבל TCP - בכל מקום בכל מקום שמציין TCP DPT חדש: SSH דחה את הכל-בכל מקום בכל מקום דוחה עם ICMP-Host-Prohibibited קדימה שרשרת (קבלת מדיניות) יעד יעד המקור של Prot Opt דחה את הכל-בכל מקום בכל מקום דוחה עם ICMP-Host-Prohibibited תפוקת שרשרת (קבלת מדיניות) יעד יעד המקור של Prot Opt
לעיל אנו רואים את מערך ברירת המחדל של כללים במערכת Centos 6. שים לב ששירות SSH מותר כברירת מחדל.
אם iptables לא פועל, אתה יכול לאפשר זאת על ידי ריצה:
# System-Config-SecurityLevel
3. כתיבת ערכת כלל פשוט
אנו נשתמש בגישה מבוססת דוגמה לבחינת פקודות ה- iptables השונות. בדוגמה ראשונה זו ניצור מערך כללים פשוט מאוד להגדרת חומת אש של בדיקת מנות (SPI) שתאפשר לכל החיבורים היוצאים אך חסום את כל החיבורים הנכנסים הלא רצויים:
# iptables -p קלט מקבל # iptables -f # iptables -a קלט -אני לקבל # iptabl # iptables -a קלט -P TCP -Dport 22 -J קבל # iptables -p ירידת קלט # iptables -p קדימה טיפה # iptables -p פלט קבל # iptables -l -v
שאלות:
- 1. מה זה iptables?
- 2. מהן שלוש השרשראות שהוגדרו מראש ב- iptables?
- 3. מה מטרת שרשרת הקלט?
- 4. כיצד מתווספים כללים לשרשראות?
- 5. מה קורה אם חבילה תואמת כלל ברשת?
- 6. מהי מדיניות ברירת המחדל של שרשרת הקלט?
- 7. מהי מדיניות ברירת המחדל של שרשרת הפלט?
- 8. מהן שתי האפשרויות לארגון חומת אש באמצעות מדיניות ברירת מחדל?
- 9. מהי האפשרות המומלצת לשרשרת הקלט?
- 10. איך אתה בודק אם iptables מותקן במערכת שלך?
- 11. איך בודקים אם iptables פועל?
- 12. איך אתה יכול לאפשר iptables אם זה לא פועל?
- 13. מה המטרה של חומת אש של בדיקת מנות (SPI)?
- 14. אילו חיבורים מורשים על ידי הכלל הפשוט שנקבע בדוגמה?
- 15. אילו חיבורים חסומים על ידי הכלל הפשוט שנקבע בדוגמה?
תשובות:
- 1. מה זה iptables?
Iptables הוא חומת אש חזקה המובנית ב- CentO. - 2. מהן שלוש השרשראות שהוגדרו מראש ב- iptables?
שלוש השרשראות המוגדרות מראש ב- iptables הן קלט, פלט וקדימה. - 3. מה מטרת שרשרת הקלט?
שרשרת הקלט משמשת לסינון מנות שנכנסות למחשב המארח. - 4. כיצד מתווספים כללים לשרשראות?
הכללים מתווספים לשרשראות ברשימה, כאשר כל כלל נבדק מול תנועת רשת נכנסת בשרשרת שצוינה. - 5. מה קורה אם חבילה תואמת כלל ברשת?
אם חבילה תואמת כלל בשרשרת, נלקחת פעולה שצוינה על ידי הכלל (כגון קבל או טיפה) עבור אותה מנות. - 6. מהי מדיניות ברירת המחדל של שרשרת הקלט?
ניתן להגדיר את מדיניות ברירת המחדל של שרשרת הקלט כדי לקבל או לרדת. באופן כללי, מומלץ להגדיר אותו לירידה ולאפשר במפורש חיבורים מהימנים. - 7. מהי מדיניות ברירת המחדל של שרשרת הפלט?
מדיניות ברירת המחדל של שרשרת הפלט בדרך כלל אמורה לקבל, שכן בדרך כלל סומכים על חיבורים יוצאים. - 8. מהן שתי האפשרויות לארגון חומת אש באמצעות מדיניות ברירת מחדל?
שתי האפשרויות מגדירות מדיניות ברירת מחדל לירידה ומאפשרת חיבורים מהימנים ספציפיים (אפשרות 1), או קביעת מדיניות ברירת מחדל לקבלת וחסימת חיבורים לא רצויים ספציפיים (אפשרות 2). - 9. מהי האפשרות המומלצת לשרשרת הקלט?
האפשרות המומלצת לשרשרת הקלט היא להגדיר מדיניות ברירת מחדל להפחתת ולאפשר במפורש חיבורים מהימנים. - 10. איך אתה בודק אם iptables מותקן במערכת שלך?
אתה יכול לבדוק אם iptables מותקן על ידי הפעלת הפקודה:RPM -Q iptables
- 11. איך בודקים אם iptables פועל?
אתה יכול לבדוק אם iptables פועל על ידי בדיקה אם מודולי iptables נטענים ומשתמש בפקודה:iptables -l
- 12. איך אתה יכול לאפשר iptables אם זה לא פועל?
אתה יכול לאפשר iptables על ידי הפעלת הפקודה:System-Config-SecurityLevel
- 13. מה המטרה של חומת אש של בדיקת מנות (SPI)?
חומת אש של בדיקת מנות (SPI) מאפשרת חיבורים יוצאים אך חוסמת חיבורים נכנסים לא רצויים על בסיס מצב ומאפייני המנות. - 14. אילו חיבורים מורשים על ידי הכלל הפשוט שנקבע בדוגמה?
הכלל הפשוט שנקבע בדוגמה מאפשר לכל החיבורים היוצאים. - 15. אילו חיבורים חסומים על ידי הכלל הפשוט שנקבע בדוגמה?
הגדרת הכלל הפשוט חוסמת את כל החיבורים הנכנסים הלא רצויים.
כיצד להשבית או לכבות את חומת האש על CentOS 7
כעת תוכל להשתמש בשירות זה באזורים שלך כמו שבדרך כלל הייתם.
Iptables
לסנטוס יש חומת אש חזקה במיוחד המובנית, המכונה בדרך כלל iptables, אך ליתר דיוק הוא iptables/netfilter. Iptabl. Netfilter הוא מודול גרעינים, המובנה בתוך הגרעין, שעושה למעשה את הסינון. ישנם הרבה קצוות חזית GUI עבור iptabl. אנו הולכים ללמוד את ממשק שורת הפקודה של iptables.
לפני שנוכל באמת להתמודד עם iptables, עלינו להיות לפחות הבנה בסיסית של הדרך בה זה עובד. Iptables משתמש במושג כתובות IP, פרוטוקולים (TCP, UDP, ICMP) ויציאות. אנחנו לא צריכים להיות מומחים באלה כדי להתחיל (מכיוון שאנחנו יכולים לחפש כל המידע הדרוש לנו), אבל זה עוזר להבנה כללית.
Iptables מציב כללים לשרשראות מוגדרות מראש (קלט, פלט וקדימה) שנבדקים כנגד כל תנועת רשת (מנות IP) הרלוונטיות לרשתות אלה ומתקבלת החלטה מה לעשות עם כל מנות על סמך התוצאה של אותם כללים, אני.ה. קבלת המנה או השמטת. פעולות אלה מכונות יעדים, ששני היעדים הנפוצים ביותר המוגדרים מראש נופלים כדי להפיל חבילה או לקבל לקבל חבילה.
שרשראות
- קלט – כל המנות המיועדות למחשב המארח.
- פלט – כל המנות שמקורן במחשב המארח.
- קדימה – כל המנות לא מיועדות ולא מקורן במחשב המארח, אלא עוברות (מנותבות על ידי) המחשב המארח. שרשרת זו משמשת אם אתה משתמש במחשב שלך כנתב.
לרוב, אנו עומדים להתמודד עם שרשרת הקלט כדי לסנן מנות שנכנסות למכונה שלנו – כלומר לשמור על הרעים בחוץ.
הכללים מתווספים ברשימה לכל שרשרת. חבילה נבדקת מול כל כלל בתורו, מתחילה בחלק העליון, ואם היא תואמת את הכלל הזה, ננקטת פעולה כמו קבלת (לקבל) או להפיל (להפיל) את המנה. לאחר התאמת כלל וננקט פעולה, אז המנה מעובדת על פי תוצאתו של אותו כלל ואינה מעובדת על ידי כללים נוספים בשרשרת. אם חבילה עוברת דרך כל הכללים בשרשרת ומגיעה לתחתית מבלי שתתאימה כלשהי, אז נלקחת פעולת ברירת המחדל עבור אותה שרשרת. זה מכונה מדיניות ברירת המחדל ועשוי להיות מוגדר לקבל או להפיל את המנה.
הרעיון של מדיניות ברירת המחדל בתוך שרשראות מעלה שתי אפשרויות בסיסיות שעלינו לקחת בחשבון קודם לפני שנחליט כיצד אנו הולכים לארגן את חומת האש שלנו.
1. אנו יכולים להגדיר מדיניות ברירת מחדל להפיל את כל המנות ואז להוסיף כללים לאפשר (לקבל) מנות שנמצאות באופן ספציפי מכתובות IP מהימנות, או עבור יציאות מסוימות בהן יש לנו שירותים פועלים כגון BitTorrent, FTP Server, Server Web, Samba File Server וכו ‘.
2. אנו יכולים לקבוע מדיניות ברירת מחדל שתקבל את כל המנות ואז להוסיף כללים לחסום ספציפית (DROP) מנות שעשויות להיות מכתובות או טווחי IP ספציפיים למטרד, או עבור יציאות מסוימות שיש לנו שירותים פרטיים או שאינם שירותים הפועלים.
באופן כללי, אפשרות 1 לעיל משמשת לשרשרת הקלט בה אנו רוצים לשלוט על מה שמותר לגשת למכונה שלנו ואפשרות 2 תשמש לשרשרת הפלט בה אנו סומכים בדרך כלל על התנועה שעוזבת (מקורו) המכונה שלנו.
2. מתחילים
עבודה עם iptables משורת הפקודה דורשת הרשאות שורש, כך שתצטרך להפוך לשורש לרוב הדברים שנעשה.
יש להתקין IPTABL.x ו 6.x התקנות. אתה יכול לבדוק אם iptables מותקן במערכת שלך על ידי:
$ RPM -Q IPTABLES IPTABLE -1.4.7-5.1.EL6_2.x86_64
וכדי לראות אם iptables פועל בפועל, אנו יכולים לבדוק שמודולי iptables נטענים ולהשתמש במתג -l כדי לבדוק את הכללים טעונים כעת:
# lsmod | GREP IP_TABLES IP_TABLES 29288 1 iptable_filter x_tabl
# iptables -l קלט שרשרת (מדיניות מקבלת) יעד מקור Prot Opt יעד מקבל את הכל-בכל מקום בכל מקום שקשור למצב, מקובל לקבל ICMP-בכל מקום בכל מקום שמקבל את הכל-בכל מקום בכל מקום שמקבל את TCP-בכל מקום בכל מקום שמציין TCP DPT חדש: SSH דוחה את כל היעד בכל מקום עם כל מקום עם כל דחייה עם כל ICMP-HOST-POHIBIBED CHANICE CARKIT (מדיניות מקובלת). יעד המקור של Prot Opt
לעיל אנו רואים את מערך ברירת המחדל של כללים במערכת Centos 6. שים לב ששירות SSH מותר כברירת מחדל.
אם iptables לא פועל, אתה יכול לאפשר זאת על ידי ריצה:
# System-Config-SecurityLevel
3. כתיבת ערכת כלל פשוט
אנו נשתמש בגישה מבוססת דוגמה לבחינת פקודות ה- iptables השונות. בדוגמה ראשונה זו ניצור מערך כללים פשוט מאוד להגדרת חומת אש של בדיקת מנות (SPI) שתאפשר לכל החיבורים היוצאים אך חסום את כל החיבורים הנכנסים הלא רצויים:
# iptables -p קלט לקבל # iptables -f # iptabl
אשר אמור לתת את הפלט הבא:
קלט שרשרת (מדיניות ירידה 0 מנות, 0 בתים) PKTS בתים יעד חלבון מחלק את יעד המקור 0 0 קבל את הכל - כל אחד בכל מקום בכל מקום 0 0 קבל הכל - בכל מקום בכל מקום שקשור למצב, מבוסס 0 0 קבל TCP - כל אחד בכל מקום כלשהו ביעד מטרה: PORT PORTTS POTICE PORTICE (מדיניות ירידה 0 מנות, 0 BYTS) 0 יעד PROT OFFOT יעד המקור
- קלט IPTABLES -P אם חיבור מרחוק עלינו להגדיר תחילה את מדיניות ברירת המחדל בשרשרת הקלט כדי לקבל אחרת ברגע שנשטוף את הכללים הנוכחיים, אנו ננעולים מהשרת שלנו.
- iptables -f השתמשנו במתג -F כדי לשטוף את כל הכללים הקיימים, כך שאנחנו מתחילים במצב נקי ממנו ניתן להוסיף כללים חדשים.
- iptables -a קלט -אני לקבל עכשיו הגיע הזמן להתחיל להוסיף כמה כללים. אנו משתמשים במתג -a להוספת (או להוסיף) כלל לשרשרת ספציפית, שרשרת הקלט במקרה זה. לאחר מכן אנו משתמשים במתג -I (לממשק) כדי לציין מנות התאמה או מיועדות ל- LO (LocalHost, 127.0.0.1) ממשק ולבסוף -ג ‘(קפיצה) לפעולת היעד למנות המתאימות לכלל – במקרה זה קבל. אז כלל זה יאפשר את כל המנות הנכנסות המיועדות לממשק Localhost להתקבל. בדרך כלל זה נדרש מכיוון שיישומי תוכנה רבים מצפים להיות מסוגלים לתקשר עם מתאם LocalHost.
- iptabl זה הכלל שעושה את רוב העבודה, ושוב אנו מוסיפים (-A) לשרשרת הקלט. כאן אנו משתמשים במתג -M כדי לטעון מודול (מצב). מודול המדינה מסוגל לבחון את מצב החבילה ולקבוע אם הוא חדש, מבוסס או קשור. חדש מתייחס למנות נכנסות שהן חיבורים נכנסים חדשים שלא יזמו על ידי המערכת המארחת. הוקמה וקשורה מתייחסת למנות נכנסות שהן חלק מחיבור שכבר הוקם או קשורות לחיבור וכבר הוקמה.
- iptabl כאן אנו מוסיפים כלל המאפשר חיבורי SSH על פני יציאת TCP 22. זה כדי למנוע נעילות מקריות בעבודה על מערכות מרוחקות על חיבור SSH. נסביר כלל זה ביתר פירוט בהמשך.
- ירידת קלט IPTABLS -P מתג -P מגדיר את מדיניות ברירת המחדל בשרשרת שצוינה. אז עכשיו נוכל להגדיר את מדיניות ברירת המחדל בשרשרת הקלט. המשמעות היא שאם חבילה נכנסת לא תואמת את אחד הכללים הבאים היא תיפול. אם היינו מתחברים מרחוק דרך SSH ולא היינו מוסיפים את הכלל לעיל, היינו פשוט נועלים את עצמנו מהמערכת בשלב זה.
- iptables -p קדימה טיפה באופן דומה, כאן קבענו את מדיניות ברירת המחדל בשרשרת קדימה כדי לרדת מכיוון שאיננו משתמשים במחשב שלנו כנתב כך שלא צריכים להיות כל מנות שעוברות במחשב שלנו.
- IPTABLS -P פלט קבל ולבסוף, קבענו את מדיניות ברירת המחדל בשרשרת הפלט כדי לקבל כי אנו רוצים לאפשר לכל תנועה יוצאת (כפי שאנו סומכים על המשתמשים שלנו).
- iptables -l -v לבסוף, אנו יכולים לרשום (-L) את הכללים שהוספנו זה עתה לבדוק שהם נטענו נכון.
לבסוף, הדבר האחרון שעלינו לעשות הוא לשמור את הכללים שלנו כך שבפעם הבאה שנפעל מחדש את המחשב שלנו הכללים שלנו יועברו אוטומטית:
# /sbin /שירות iptables save
זה מבצע את סקריפט ה- iptables init, המריץ/sbin/iptabl. עם אתחול מחדש, סקריפט iptables init מגיש מחדש את הכללים שנשמרו ב-/etc/sysconfig/iptabl.
ברור שהקלדת כל הפקודות הללו במעטפת יכולה להיות מייגעת, ולכן ללא ספק הדרך הקלה ביותר לעבוד עם iptables היא ליצור סקריפט פשוט שיעשה את הכל בשבילך. ניתן להזין את הפקודות לעיל לעורך הטקסט המועדף עליך ונשמר כ- myfirewall, למשל:
# # iptables example configuration script # # Flush all current rules from iptables # iptables -F # # Allow SSH connections on tcp port 22 # This is essential when working on remote servers via SSH to prevent locking yourself out of the system # iptables -A INPUT -p tcp --dport 22 -j ACCEPT # # Set default policies for INPUT, FORWARD and OUTPUT chains # iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # # Set access for localhost # iptables -A INPUT -i lo -j ACCEPT # # Accept packets belonging to established and related connections # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # # Save settings # /sbin/service iptables save # # List rules # iptables -L -v
הערה: אנו יכולים גם להגיב על התסריט שלנו כדי להזכיר לנו מה עשו.
עכשיו הפוך את הסקריפט להפעלה:
# chmod +x myfirewall
כעת אנו יכולים פשוט לערוך את התסריט שלנו ולהריץ אותו מהקליפה עם הפקודה הבאה:
הִיכים ./myfirewall
4. ממשקים
בדוגמה הקודמת שלנו ראינו כיצד נוכל לקבל את כל המנות שנכנסות לממשק מסוים, במקרה זה ממשק LocalHost:
iptables -a קלט -אני לקבל
נניח שיש לנו 2 ממשקים נפרדים, ETH0 שהם חיבור ה- LAN הפנימי שלנו ומודם חיוג PPP0 (או אולי ETH1 עבור NIC) שהוא חיבור האינטרנט החיצוני שלנו. ייתכן שנרצה לאפשר את כל המנות הנכנסות ב- LAN הפנימיות שלנו אך עדיין לסנן מנות נכנסות בחיבור האינטרנט החיצוני שלנו. נוכל לעשות זאת כדלקמן:
iptabl
אבל היזהר מאוד – אם היינו מאפשרים את כל המנות לממשק האינטרנט החיצוני שלנו (לדוגמה, מודם חיוג PPP0):
iptables -a קלט -I PPP0 -J קבל
היינו למעשה מושכים את חומת האש שלנו!
5. כתובות IP
פתיחת ממשק שלם למנות נכנסות עשויה להיות לא מגבילה מספיק וייתכן שתרצה שליטה רבה יותר מה לאפשר ומה לדחות. נניח שיש לנו רשת קטנה של מחשבים המשתמשת ב -192.168.0.x רשת משנה פרטית. אנו יכולים לפתוח את חומת האש שלנו למנות נכנסות מכתובת IP מהימנה אחת (לדוגמה, 192.168.0.4):
# קבל מנות מכתובות IP מהימנות IPTABLES -A קלט -192.168.0.4 -J קבל # שנה את כתובת ה- IP לפי הצורך
שוברים את הפקודה הזו, אנו מצייפים תחילה (-A) כלל לשרשרת הקלט של כתובת ה- IP של מקור (-s) 192.168.0.4 כדי לקבל את כל המנות (שימו לב גם כיצד אנו יכולים להשתמש בסמל # כדי להוסיף הערות בשורה כדי לתעד את התסריט שלנו עם כל דבר לאחר שהתעלמות # מתעלמת והתייחסות אליה כתגובה).
ברור שאם אנו רוצים לאפשר מנות נכנסות ממגוון כתובות IP, נוכל פשוט להוסיף כלל לכל כתובת IP מהימנה וזה יעבוד מצוין. אבל אם יש לנו הרבה כאלה, יתכן שיהיה קל יותר להוסיף מגוון של כתובות IP בפעם אחת. לשם כך, אנו יכולים להשתמש בסימון רשת או סימון סלאש סטנדרטי כדי לציין מגוון כתובת IP. לדוגמה, אם היינו רוצים לפתוח את חומת האש שלנו לכל המנות הנכנסות מהשלם 192.168.0.x (כאשר טווח x = 1 עד 254) נוכל להשתמש באחת מהשיטות הבאות:
# קבל מנות מכתובות IP מהימנות IPTABLES -A קלט -192.168.0.0/24 -J קבל # באמצעות סימון סלאש סטנדרטי iptables -a קלט -S 192.168.0.0/255.255.255.0 -J קבל # באמצעות מסיכת רשת משנה
לבסוף, כמו גם סינון כנגד כתובת IP יחידה, אנו יכולים גם להתאים את כתובת ה- MAC עבור המכשיר הנתון. לשם כך עלינו לטעון מודול (מודול ה- MAC) המאפשר סינון כנגד כתובות MAC. מוקדם יותר ראינו דוגמא נוספת לשימוש במודולים כדי להרחיב את הפונקציונליות של iptables כאשר השתמשנו במודול המדינה כדי להתאים למנות מבוססות וקשורות. כאן אנו משתמשים במודול MAC כדי לבדוק את כתובת ה- MAC של מקור המנה בנוסף לכתובת ה- IP שלו:
# קבל מנות מכתובות IP מהימנות IPTABLES -A קלט -192.168.0.4 -M Mac -Mac -Source 00: 50: 8d: FD: E6: 32 -J קבל
ראשית אנו משתמשים -M Mac כדי לטעון את מודול ה- MAC ואז אנו משתמשים --מק-מקור כדי לציין את כתובת ה- MAC של כתובת ה- IP המקורית (192.168.0.4). יהיה עליכם לברר את כתובת ה- MAC של כל מכשיר אתרנט שברצונך לסנן נגד. רץ ifconfig (אוֹ iwconfig למכשירים אלחוטיים) שכן שורש יספק לך את כתובת ה- MAC.
זה עשוי להיות שימושי למניעת זיוף של כתובת ה- IP של המקור מכיוון שהוא יאפשר לכל מנות שמקורן באמת משנת 192.168.0.4 (הכתובת MAC 00: 50: 8d: FD: E6: 32) אך יחסום את כל המנות שמזויפות כדי להגיע מהכתובת ההיא. שימו לב, סינון כתובות MAC לא יעבוד ברחבי האינטרנט אבל זה בהחלט עובד מצוין ב- LAN.
6. יציאות ופרוטוקולים
לעיל ראינו כיצד אנו יכולים להוסיף כללים לחומת האש שלנו כדי לסנן כנגד מנות המתאימות לממשק מסוים או כתובת IP של מקור. זה מאפשר גישה מלאה דרך חומת האש שלנו למקורות מהימנים מסוימים (מחשבים מארחים). כעת נבחן כיצד נוכל לסנן כנגד פרוטוקולים ויציאות כדי לשכלל עוד יותר אילו מנות נכנסות אנו מאפשרים ומה אנו חוסמים.
לפני שנוכל להתחיל, עלינו לדעת איזה פרוטוקול ומספר יציאה משמש שירות נתון. לדוגמה פשוטה, מאפשר להסתכל על Bittorrent. BitTorrent משתמש בפרוטוקול TCP ביציאה 6881, כך שנצטרך לאפשר לכל מנות ה- TCP ביציאת היעד (היציאה עליו הם מגיעים למחשב שלנו) 6881:
# קבל מנות TCP ביציאת היעד 6881 (bittorrent) iptables -a קלט -P TCP -Dport 6881 -J קבל
כאן אנו מצרפים (-A) כלל לשרשרת הקלט למנות המתאימות לפרוטוקול TCP (-P TCP) ונכנסים למכונה שלנו ביציאת היעד 6881 (--דפורט 6881).
הערה: על מנת להשתמש בהתאמות כמו יציאות יעד או מקור (--דפורט אוֹ --ספּוֹרט), אתה צריך ראשית ציין את הפרוטוקול (TCP, UDP, ICMP, הכל).
אנו יכולים גם להרחיב את האמור לעיל כך שיכלול טווח יציאות, למשל, ומאפשר את כל מנות ה- TCP בטווח 6881 עד 6890:
# קבל מנות TCP ביציאות יעד 6881-6890 iptables -a קלט -P TCP -Dport 6881: 6890 -J קבל
7. מרכיב את הכל יחד
עכשיו ראינו את היסודות, נוכל להתחיל לשלב כללים אלה.
שירות פופולרי של יוניקס/לינוקס הוא שירות Secure Shell (SSH) המאפשר כניסות מרחוק. כברירת מחדל SSH משתמש ביציאה 22 ושוב משתמש בפרוטוקול TCP. אז אם אנו רוצים לאפשר כניסות מרחוק, נצטרך לאפשר חיבורי TCP ביציאה 22:
# קבל מנות TCP ביציאת היעד 22 (SSH) IPTABL
זה יפתח את היציאה 22 (SSH) לכל חיבורי ה- TCP הנכנסים המהווה איום אבטחה פוטנציאלי מכיוון שהאקרים יכולים לנסות את הכוח הזרוע לפיצוח על חשבונות עם סיסמאות חלשות. עם זאת, אם אנו מכירים את כתובות ה- IP של מכונות מרוחקות מהימנות שישמשו כדי להתחבר באמצעות SSH, נוכל להגביל את הגישה רק לכתובות IP המקורות הללו. לדוגמה, אם רק היינו רוצים לפתוח את גישה SSH ב- LAN הפרטי שלנו (192.168.0.x), אנו יכולים להגביל את הגישה רק לטווח כתובות ה- IP המקור הזה:
# קבל מנות TCP ביציאת היעד 22 (SSH) מ- LAN Private IPTABLES -A קלט -P TCP -S 192.168.0.0/24 -dport 22 -J קבל
השימוש בסינון IP של מקור מאפשר לנו לפתוח בבטחה גישה ל- SSH ביציאה 22 עד כתובות IP מהימנות בלבד. לדוגמה, נוכל להשתמש בשיטה זו כדי לאפשר כניסות מרחוק בין מכונות עבודה לבית. לכל שאר כתובות ה- IP, היציאה (והשירות) ייראו סגורים כאילו השירות הושבת כך שהאקרים בשיטות סריקת יציאה עשויים להעביר אותנו על ידי.
8. סיכום
בקושי גירדנו את פני השטח של מה שניתן להשיג עם iptabl.
9. קישורים
http: // ip2location.COM/Free/מבקר -חוסם – לחסימת מדינות מסוימות על פי כתובת ה- IP שלהן
Howtos/Network/iptables (поседним исравя
- Moinmoin מופעל
- פיתון מופעל
- Gpl מורשה
- תקף HTML 4.01
כיצד להשבית או לכבות את חומת האש על CentOS 7
Firewalld הוא פיתרון חומת אש מנוהל באופן דינמי התומך בייעוד רשת. מנהלי מערכת משתמשים בו כדי לאפשר תנועה נכנסת ויוצאת באופן דינמי. זה תומך גם בהגדרות חומת האש של IPv4 וגם IPv6. החל מ- CentOS 7, Firewalld (מנהל חומת אש דינאמי) הוא כלי חומת האש המוגדר כברירת מחדל בשרתי CentOS.
אנו ממליצים לשמור על חומת אש פעילה ומופעלת בכל עת. עם זאת, יתכן שמנהלים יצטרכו להשבית חומת אש לבדיקה או מעבר לכלי חומת אש אחר, כמו iptables.
הדרכה זו תראה לך כיצד להשבית ולעצור את חומת האש ב- CentOS 7.
- משתמש עם הרשאות sudo
- גישה לקו פקודה (Ctrl-Alt-T)
- מכונה Centos 7
בדוק את הסטטוס של חומת האש
חומת אש מופעלת כברירת מחדל בכל מכונת Centos 7.
לבדיקת סטטוס Firewalld, הפעל את הפקודה הבאה משורת הפקודה:
sudo systemctl סטטוס חומת אש
אם חומת האש פועלת, תראה טקסט ירוק בהיר המציין כי חומת האש פעילה, כפי שניתן לראות למטה.
השבתת חומת אש ב- CentOS
אתה יכול להשבית את חומת האש זְמַנִית אוֹ לִצְמִיתוּת. החלקים שלהלן מספקים הוראות לשתי האפשרויות.
הפסיקו באופן זמני חומת אש
כדי להשבית באופן זמני את מנהל חומת האש המוגדר כברירת מחדל ב- CentOS 7, השתמש בפקודה הבאה:
sudo systemctl הפסק חומת אש
לא תהיה הודעת אישור.
כדי לוודא ש- Firewalld מושבת, הקלד:
sudo systemctl סטטוס חומת אש
אתה יכול לצפות לראות פעיל: לא פעיל (מת) .
ה Systemctl הפסק חומת אש הפקודה מבטל את השירות עד לאתחל מחדש. לאחר סיום הפעלת זמן הריצה שלך והמערכת מתפתחת מחדש, שירות חומת האש יהיה פעיל שוב.
השבת לצמיתות חומת אש
כדי להשבית לצמיתות את חומת האש ב- CentOS 7, תצטרך לעצור את שירות חומת האש ואז להשבית אותו לחלוטין.
כדי לעצור את הכלי של חומת האש, הפעל:
sudo systemctl הפסק חומת אש
זו גם אותה פקודה בה השתמשנו באופן זמני להפסקת חומת אש. בדוק את סטטוס חומת האש.
sudo systemctl סטטוס חומת אש
על התפוקה לציין שהשירות אינו פעיל.
כדי להשבית את השירות מהפעלה עם אתחול המערכת, הזן פקודה זו:
sudo systemctl השבת חומת אש
עיין בתמונה למטה לפלט שאתה יכול לצפות למצוא:
כעת עצרת בהצלחה והשבית את שירות חומת האש בשרת CentoS 7 שלך. עם זאת, שירותים פעילים אחרים עשויים להפעיל חומת אש.
כדי למנוע שירותים אחרים להפעיל חומת אש, מסווה חומת אש משירותים אחרים במערכת:
מסכת Sudo Systemctl -עכשיו חומת אש
זה יוצר קישור סמלי (סימלינק) משירות חומת האש ל /dev/null .
הפלט אמור להופיע כדברים הבאים:
פלט נוצר Symlink מ-/etc/systemd/system/חומת אש.שירות ל- /dev /null.
על ידי ביצוע הדרכה זו, כעת אתה יודע לעצור ולהשבית את חומת האש ב- CentOS 7. יתר על כן, למדת כיצד להסוות את שירות חומת האש משירותים פעילים אחרים כדי להימנע מהפעלה מחדש.
נוהלי אבטחה טובים אוסרים השבתת חומת האש, במיוחד בשרתים חיים. תמיד היו זהירים כשעושים זאת, אפילו בסביבות מבחן.
באמצעות חומת אש ב- Centos 7
Firewalld הוא ה- Go לחומת האש עבור CentOS ותומך באזורי רשת / חומת אש, על מנת לקבוע את רמת האמון של חיבורי רשת / ממשקים (ראו פסקה אזורים). בנוסף ליכולת לנהל באופן ספציפי יציאות, היא גם תומכת ביכולת להוסיף שירותים / יישומים ישירות.
- התחבר ל- VP.
- האם אתה משתמש ב- VPS של PLESK? אזור ברירת המחדל בגרסאות PLESK האחרונות אינו ציבורי, אלא PLESK (-Zone = PLESK).
- מתקני Plesk, DirectAdmin ו- CPANEL שלנו מגיעים עם חומת אש שהותקנה מראש.
התקנת חומת אש
חומת אש מותקנת בקלות באמצעות הפקודות הבאות:
yum -y התקן חומת אש systemctl אפשר חומת אש
בודק את מצב חומת האש
לפני שתמשיך בתצורת חומת האש, חכם לבדוק שהוא אכן עובד נכון. אתה עושה זאת עם הפקודה:
SystemCtl Status Firewalld
אם אין בעיות, הקלט ייראה כך:
אם זה לא קובע כי חומת האש פעילה, נסה להפעיל אותו מחדש עם:
SystemCTL הפעל מחדש חומת אש
האם חומת אש עדיין לא מתחילה? בדוק אם יש הודעות שגיאה אפשריות כדי לפתור את הבעיה עם:
journalctl -xe -u חומת אש
אזורים
Firewalld משתמש באזורים, אבל מה המשמעות של זה? עם אזור, אתה למעשה מציין באיזה סוג של סביבה חיבור האינטרנט שלך נמצא וכמה אתה סומך עליו, למשל, חיבור ציבורי, ביתי או עבודה. זה שימושי במיוחד אם אתה משתמש ברשת פרטית, למשל, או משתמש ב- CentOS 7 במחשב נייד ועובד ממקומות שונים. לאחר מכן תוכל להגדיר אזורים שונים מראש, ולהתאים את האזור הפעיל שלך, תלוי היכן אתה נמצא.
על ידי קביעת תצורה של אזורים שונים, באפשרותך להבחין בין שירותים / יציאות נגישים, תלוי היכן אתה נמצא ואיזה אזור אתה משתמש. לעתים קרובות אתה משתמש רק באזור אחד ב- VPS מכיוון שה- VPS אינו משתנה מהבית / עבודה / סביבה ציבורית.
מחוץ לקופסה, חומת האש מגיעה עם האזורים הבאים:
- יְרִידָה: כל הקשרים הנכנסים נדחים. חיבורים יוצאים אפשריים.
- לַחסוֹם: כל החיבורים הנכנסים נדחים עם הודעת ברירת מחדל למקור החיבור הנכנס. עבור IPv4, זהו ICMP-Host-Hostoibited ול- IPv6 ICMP6-ADM-ProHibited (ICMP הוא ברירת מחדל לשליחת הודעות מידע ושגיאה בתעבורת IP). חיבורים יוצאים אפשריים.
- פּוּמְבֵּי: השתמש באזור זה לסביבות ציבוריות בהן אינך סומך על מחשבים אחרים ברשת. רק חיבורים מוגדרים מראש (i.ה. נמלים / שירותים) מתקבלים.
- חיצוני: זה מתמקד בעיקר אם חומת האש שלך עובדת כשער ומשתמשים בחיפוש אחר NAT. אינך סומך על מחשבים אחרים ברשת ורק חיבורים מוגדרים מראש מתקבלים.
- DMZ: האזור המפורסם, בו המחשב / השרת מבודד ברשת ואין לו גישה למחשבים / שרתים אחרים. רק חיבורים ספציפיים מתקבלים.
- עֲבוֹדָה: לסביבות עבודה. בדרך כלל, מחשבים אחרים מהימנים באותה רשת. שוב, רק חיבורים מוגדרים מראש מתקבלים.
- בית: לשימוש ביתי. כך גם באזור ‘העבודה’. שים לב כי חיבורים בעבודה מאובטחים יותר טוב יותר מאשר ברשת ביתית.
- פְּנִימִי: לשימוש עם רשתות פרטיות. מחשבים ברשת זו אמינים בדרך כלל. רק חיבורים מוגדרים מראש מתקבלים.
- מהימן: כל החיבורים מתקבלים.
ניהול אזורים
Firewalld מגיע עם מגוון פקודות שימושיות לניהול האזורים שלך. בחלק זה אנו מסבירים את החשוב ביותר.
בדיקת אזור ברירת המחדל
כברירת מחדל, ”פּוּמְבֵּיאזור הוא אזור ברירת המחדל. אתה בודק את אזור ברירת המחדל עם הפקודה:
חומת אש- CMD-get-default-Zone
בדיקת האזור הפעיל
יכול להיות שאתה משנה את האזור הפעיל, אך לא את אזור ברירת המחדל. אתה בודק את האזור הפעיל ואת ממשקי הרשת שעבורם הם משמשים:
חומת אש- CMD-get-active-Zones
בדוק את האזורים הזמינים
אתה בודק את האזורים הזמינים עם הפקודה:
חומת אש- CMD-get-zones
זה שימושי במיוחד אם ברצונך לשנות אזורים וראשית רוצה לראות את האפשרויות שלך.
מידע על אזור מפורט
מידע מפורט כמו שירותים מורשים ופורטינג, אך גם העברת יציאה וכו ‘. ניתן לצפות ב:
חומת אש- CMD-Zone = ציבורי-רשימת הכל
שינוי ‘פּוּמְבֵּי‘לאזור הרצוי, או הצג את הפלט עבור כל האזורים עם:
חומת אש- CMD-רשימה-כל האזורים | פָּחוֹת
שינוי אזור ברירת המחדל
כדי לשנות את אזור ברירת המחדל, יש לך שתי אפשרויות: שנה את האזור עבור כל הממשקים, או לכל ממשק. נניח שאתה משתמש בממשק רשת אחד (ולא גם ברשת פרטית), ואז השימוש באזור אחד מספיק, ואז תוכל להתאים באותה מידה את אזור ברירת המחדל בעת שינוי אזורים.
התאם את האזור לכל הממשקים:
חומת אש- CMD-set-default-zone = ציבורי
חומת אש- CMD-Zone = ציבורי-שינוי משטח = eth0
החלף פּוּמְבֵּי עם שם האזור הרצוי, ו- eth0 עם שם ממשק הרשת הרצוי. בדרך זו תוכלו גם לשנות את האזורים לכל ממשק לרשתות פרטיות, למשל:
חומת אש- CMD-Zone = ציבורי-שינוי משטח = ETH0 FIREALL-CMD-ZONE = פנימי-שינוי-אינטר-משטח = ETH1
פתיחת יציאות
אתה יכול לפתוח יציאות בחומת אש או להוסיף שירותים כדי לתת גישה לרשת ליישומים. לא כל יישום מגיע עם שירות, או אולי שינית את יציאת ברירת המחדל של השירות (ה.ז. עבור SSH). במקרה כזה, אתה פותח יציאה אחת או יותר ספציפית.
כל שינוי בחלק זה פעיל רק לאחר הפעלה מחדש של ה- VPS שלך, או על ידי טען מחדש של התצורה שלך באמצעות:
חומת אש- CMD-טעינה
פתיחת יציאה יחידה
אתה פותח יציאה עם הפקודה:
חומת אש- CMD-Zone = ציבורי-permanent-add-port = 1234/tcp
- החלף פּוּמְבֵּי עם האזור הרצוי
- –קבוע מבטיח שהשינוי יישאר שלם גם לאחר הפעלה מחדש
- החלף 1234/TCP עם היציאה הרצויה והפרוטוקול הרצוי (TCP או UDP)
טווחי פתיחה
האם אתה מעדיף לפתוח טווח? ואז אתה משתמש בפקודה:
חומת אש- CMD-Zone = Public-Permanent-Add-Port = 1234-1345/TCP
החלף 1234-1345 בטווח היציאות בפועל שברצונך לפתוח
גישה ל- IP
במקום לפתוח יציאה לכל העולם הרחב, תוכל גם לפתוח אותו עבור IP ספציפי רק באמצעות הפקודות:
חומת אש- CMD-permanent-Zone = ציבורי-הוסף RICH-rule = '
Rule Family = "IPv4" כתובת המקור = "123.123.123.123 "פרוטוקול יציאה =" tcp "port =" 123 "קבל '
החלף 123.123.123.123 על ידי כתובת ה- IP בפועל של הלקוח ו 123 על ידי היציאה תרצה לפתוח. חזור על הצעדים הללו כדי לרשום רשימות רשימות מרובות IP וטען מחדש את התצורה שלך אחר כך (חומת אש- CMD-טעינה). אל תשכח להסיר את הכלל הכללי אם היציאה המתאימה כבר נפתחה באדיבות.
בדיקת יציאות פתוחות
עם הזמן, אתה יכול לשכוח אילו יציאות פתוחות. אתה בודק אותם עם הפקודה:
חומת אש- CMD-Zone = Public-Permanent-Rest-list-ports
סגירת יציאות
סגירת היציאות עובדת כמעט כמו פתיחת יציאה ואתה עושה את זה עם הפקודה:
חומת אש- CMD-Zone = ציבורי-permanent-remove-port = 1234/TCP Firewall-CMD-Reload
- החלף 1234 עם מספר היציאה הרצוי, או השתמש ב- 1234-1345/TCP כתחביר כדי למחוק טווח יציאה
- חומת אש- CMD-טעינה מעדכן מייד את שינוי התצורה שלך
התאמת התצורה ישירות
בנוסף לפקודות לעיל, באפשרותך גם להתאים ישירות את קובץ התצורה של אזור ספציפי. אתה יכול למצוא את קבצי התצורה של האזורים עם:
LS/ETC/FIREWALLD/אזורים
בהתקנה חדשה, רק ציבורי.XML ופומבי.XML.ישן יופיע כאן. אתה יכול לפתוח ולערוך אותו עם הפקודה:
ננו/וכו '/חומת אש/אזורים/ציבורי.XML
אתה יכול לפתוח שירותים או יציאות על ידי הצבת התוספות הבאות בקובץ:
- החלף את שם השירות בשם השירות בפועל, למשל, SSH.
- החלף 1234 עם המספר הרצוי ו- TCP ב- UDP אם אתה בטוח שאתה רוצה לפתוח את יציאת UDP.
האם ברצונך ליצור קובץ תצורה חדש לאזור אחר, למשל, בית? ואז הציבור.XML.ישן היא נקודת התחלה נהדרת. אתה משנה ציבורי.XML.ישן לקובץ לאזור אחר על ידי העתקת אותו עם:
CP/Etc/Firewalld/Zones/Public.XML.ישן/וכו '/חומת אש/אזורים/בית.XML
- החלף את הבית בשם האזור הרצוי.
הוספת שירותים
בנוסף לפתיחת יציאות, תוכלו גם לפתוח שירותים ספציפיים בחומת האש. לאחר מכן אתה מוסיף את השירות בחומת האש ואז נפתחים יציאה אחת או יותר. יש כאן הערה צדדית:
Firewalld משתמש בקבצי תצורה (ראה שירותים זמינים) בהם מוגדרים יציאות של שירותים שונים. יציאות אלה נפתחות בעת הוספת השירות. לדוגמה, אם תשנה את יציאת ה- SSH שלך, אם הוספת את שירות ה- SSH, היציאה החדשה לא תיפתח אוטומטית אלא אם תפתח את היציאה באופן ידני או תתקן את תצורת השירות בחומת האש.
אתה פותח שירותים ב- Firewalld עם הפקודה הבאה, שם אתה מחליף את SSH בשם השירות הרלוונטי:
חומת אש- CMD-Zone = ציבורי-permanent-add-service = SSH Firewall-CMD-Reload
ישנן שתי דרכים לראות אילו שירותים זמינים לשימוש עם חומת אש:
עם פקודה ישירה:
חומת אש- CMD-שירותי שירות
LS/USR/LIB/Firewalld/שירותים
ניתן להציג את תוכן הקבצים הזמינים עם:
CAT/USR/LIB/FIREALLD/Services/Servicenaam.XML
הסרת שירותים
אתה יכול להסיר שירות באותה קלות כמו שאתה מוסיף אותו בחומת אש:
חומת אש- CMD-Zone = Public-Permanent-remove-Service = SSH Firewall-CMD-Reload
חוסם IPS
זה יכול לקרות ש- VP. אנו ממליצים לך לפתור זאת באמצעות Fail2Ban, אך אתה יכול גם לחסום ידנית IPS. אתה עושה זאת עם הפקודות:
Firewall-CMD-Permanent-Add-rich-rule = "Rule Family = 'IPv4' כתובת המקור = '123.123.123.0/24 'דחה' חומת אש- CMD-טוען
החלף 123.123.123.0/24 עם טווח ה- IP הספציפי שברצונך לחסום, או עם כתובת IP ספציפית אם ברצונך לחסום IP אחד.
לחלופין, אתה יכול גם להפוך את העיקרון הזה ולחסום גישה ליציאה לכולם ולאפשר רק IPs ספציפיים. תחילה תסיר את היציאה הרלוונטית:
חומת אש- CMD-Zone = ציבורי-permanent-remove-port = 1234/tcp
החלף את הציבור באזור הרלוונטי, 1234 ו- TCP ביציאה / פרוטוקול הרצוי. לאחר מכן, תוכלו לגשת ל- IPs ספציפיים עם הפקודות:
חומת אש- CMD-permanent-Zone = ציבורי-הוסף RICH-rule = '
Rule Family = "IPv4" כתובת המקור = "1.2.3.4 "פרוטוקול יציאה =" tcp "port =" 1234 "קבל 'חומת אש- cmd-טעינה
במידת הצורך, החלף את הציבור באזור הרצוי, 1.2.3.4. עם ה- IP הנכון ו- 1234 ו- TCP עם מספר היציאה / הפרוטוקול הנכון.
בדיקת יציאות חסומות
נניח שלכתובת IP יש בעיות להגיע לשירות ב- VP. אתה עושה זאת עם הפקודה:
חומת אש- CMD-רשימת הכל
ביטול חסימת IPS
כדי לבטל את חסימת ה- IPs חסומים בחומת האש, יכולה באופן מסוים, אתה הופך את הפקודות מהסעיף הקודם. נניח שחסמת טווח IP / IP, לאחר מכן אתה משתמש בתחביר:
חומת אש- cmd-permanent-remove-rich-rule = "Rule Family = 'ipv4' כתובת המקור = '123.123.123.0/24 'דחה' חומת אש- CMD-טוען
אל תשכח להתאים את ה- IP כאן. האם נתת גישה ספציפית ל- IP גישה ליציאה והאם אתה רוצה לבטל אותה? ואז השתמש:
חומת אש- CMD-permanent-Zone = ציבורי-remove-rich-rule = '
Rule Family = "IPv4" כתובת המקור = "1.2.3.4 "פרוטוקול יציאה =" tcp "port =" 1234 "קבל 'חומת אש- cmd-טעינה
האם אתה רוצה לדעת עוד יותר על חומת אש? אנא הודע לנו וגם תסתכל על התיעוד של חומת האש עצמו.
אם נותרו לך שאלות בנוגע למאמר זה, אל תהסס לפנות למחלקת התמיכה שלנו. אתה יכול להגיע אליהם דרך ‘צור קשר’ כפתור בתחתית עמוד זה.
אם ברצונך לדון במאמר זה עם משתמשים אחרים, אנא השאירו הודעה תחת ‘הערות‘.
- במאמר זה:
- התקנת חומת אש
- בודק את מצב חומת האש
- אזורים
- ניהול אזורים
- פתיחת יציאות
- סגירת יציאות
- הוספת שירותים
- הסרת שירותים
- חוסם IPS
- ביטול חסימת IPS
כיצד להגדיר חומת אש באמצעות חומת אש ב- CentOS 7
Firewalld הוא פיתרון לניהול חומת אש הזמין עבור התפלגויות לינוקס רבות המשמשות כקדמי למערכת סינון מנות iptables המסופקת על ידי גרעין לינוקס. במדריך זה, אנו נסקור כיצד להגדיר חומת אש לשרת שלך ולהראות לך את היסודות של ניהול חומת האש באמצעות הכלי הניהולי של חומת האש- CMD (אם אתה’D מעדיף להשתמש ב- iPtables עם CentOS, עקוב אחר מדריך זה).
הערה: יש סיכוי שאולי אתה עובד עם גרסה חדשה יותר של Firewalld ממה שהיה זמין בזמן כתיבת שורות אלה, או שהשרת שלך הוגדר מעט שונה משרת הדוגמה ששימש בכל מדריך זה. התנהגותן של כמה מהפקודות שהוסברו במדריך זה עשויה להשתנות בהתאם לתצורה הספציפית שלך.
מושגים בסיסיים בחומת האש
לפני שנתחיל לדבר על איך להשתמש בפועל בכלי השירות CMD לחומת האש כדי לנהל את תצורת חומת האש שלך, עלינו להכיר כמה מושגים בסיסיים שהכלי מציג.
אזורים
דמון חומת האש מנהל קבוצות של כללים באמצעות ישויות הנקראות “אזורים”. בעיקר. לממשקי רשת מוקצים אזור כדי להכתיב את ההתנהגות שעל חומת האש לאפשר.
עבור מחשבים שעשויים לנוע בין רשתות לעתים קרובות (כמו מחשבים ניידים), גמישות מסוג זה מספקת שיטה טובה לשנות את הכללים שלך בהתאם לסביבתך. יתכן שיש לך כללים קפדניים האוסרים על רוב התנועה כשאתה פועל ברשת WiFi ציבורית, תוך מתן מגבלות רגועות יותר כאשר היא מחוברת לרשת הביתית שלך. עבור שרת, אזורים אלה אינם חשובים מייד מכיוון שסביבת הרשת לעיתים רחוקות, אם בכלל, משתנה.
לא משנה עד כמה סביבת הרשת שלך דינמית עשויה להיות, כדאי להכיר את הרעיון הכללי שמאחורי כל אחד מהאזורים שהוגדרו מראש עבור חומת אש . לפי הסדר מ הכי פחות מהימן ל הכי מהימן, האזורים המוגדרים מראש בתוך חומת האש הם:
- יְרִידָה: רמת האמון הנמוכה ביותר. כל החיבורים הנכנסים נופלים ללא תשובה ורק חיבורים יוצאים אפשריים.
- לַחסוֹם: בדומה לאמור לעיל, אך במקום פשוט להפיל חיבורים, בקשות נכנסות נדחות באמצעות הודעה ICMP-Host-Prohibibated או ICMP6-ADM-Prohibibited.
- פּוּמְבֵּי: מייצג רשתות ציבוריות ולא אמינות. אתה לא דון’לא סמוך על מחשבים אחרים אך עשוי לאפשר חיבורים נכנסים שנבחרו כל מקרה לגופו.
- חיצוני: רשתות חיצוניות במקרה שאתה משתמש בחומת האש כשער שלך. זה מוגדר עבור Nat Syquerading כך שהרשת הפנימית שלך תישאר פרטית אך ניתנת להשגה.
- פְּנִימִי: הצד השני של האזור החיצוני, המשמש לחלק הפנימי של שער. המחשבים אמינים למדי וכמה שירותים נוספים זמינים.
- DMZ: משמש למחשבים הממוקמים ב- DMZ (מחשבים מבודדים שלא יהיו להם גישה לשאר הרשת שלך). רק חיבורים נכנסים מסוימים מותרות.
- עֲבוֹדָה: משמש למכונות עבודה. סמוך על רוב המחשבים ברשת. ניתן לאפשר עוד כמה שירותים.
- בית: סביבה ביתית. בדרך כלל זה מרמז שאתה סומך על מרבית המחשבים האחרים וכי כמה שירותים נוספים יתקבלו.
- מהימן: סמוך על כל המכונות ברשת. הפתוח ביותר מבין האפשרויות הזמינות ויש להשתמש בו במשורה.
כדי להשתמש בחומת האש, אנו יכולים ליצור חוקים ולשנות את המאפיינים של האזורים שלנו ואז להקצות את ממשקי הרשת שלנו לאזורים המתאימים ביותר.
קביעות שלטון
בחומת האש ניתן לייעד כללים כקבועים או מיידיים. אם כלל מתווסף או שונה, כברירת מחדל, התנהגות חומת האש המריצה כעת משתנה. באתחול הבא, השינויים יושלכו והכללים הישנים יוחלו.
מרבית פעולות חומת האש-CMD יכולות לקחת את הדגל-פקאנטיות כדי לציין כי יש למקד את חומת האש הלא-סרלית. זה ישפיע על מערך הכללים שנטען מחדש עם האתחול. הפרדה זו פירושה שאתה יכול לבדוק כללים במופע חומת האש הפעיל שלך ואז לטעון מחדש אם יש בעיות. אתה יכול גם להשתמש בדגל -permanent כדי לבנות מערך שלם של כללים לאורך זמן, שכולם יוחלו בבת אחת כאשר תונפק פקודת הטעינה מחדש.
התקן ולאפשר לחומת האש שלך להתחיל באתחול
Firewalld מותקן כברירת מחדל בכמה התפלגויות לינוקס, כולל תמונות רבות של Centos 7. עם זאת, יתכן שיהיה צורך להתקין את חומת האש בעצמך:
לאחר התקנת חומת אש, אתה יכול לאפשר את השירות ולהתחיל מחדש את השרת שלך. זכור כי הפעלת חומת אש תגרום לשירות להפעיל את האתחול. כדאי לייצר את כללי חומת האש שלך ולנצל את ההזדמנות לבדוק אותם לפני שתגדיר התנהגות זו על מנת להימנע מבעיות פוטנציאליות.
כאשר השרת מופעל מחדש, יש להעלות את חומת האש שלך, יש להכניס את ממשקי הרשת שלך לאזורים שהגדרת (או ליפול לאזור ברירת המחדל המוגדר), וכל כללים המשויכים לאזור (ים) יוחלו על הממשקים המשויכים.
אנו יכולים לוודא שהשירות פועל וניתן להגיע אליו על ידי הקלדת:
תְפוּקָהרץ
זה מציין כי חומת האש שלנו פועלת עם תצורת ברירת המחדל.
להכיר את כללי חומת האש הנוכחיים
לפני שנתחיל לבצע שינויים, עלינו להכיר את סביבת ברירת המחדל והכללים המסופקים על ידי הדמון.
בחינת ברירת המחדל
אנו יכולים לראות איזה אזור נבחר כרגע כברירת המחדל על ידי הקלדת:
תְפוּקָהפּוּמְבֵּי
מאז שאנחנו מקלטים’t נתון חומת אש כל פקודות לסטות מאזור ברירת המחדל, ואף אחד מהממשקים שלנו לא מוגדר להיקשר לאזור אחר, אזור זה יהיה גם היחיד “פָּעִיל” אזור (האזור השולט בתנועה עבור הממשקים שלנו). אנו יכולים לאמת זאת על ידי הקלדה:
תְפוּקָהממשקים ציבוריים: eth0 eth1
כאן אנו יכולים לראות שלשרת הדוגמה שלנו יש שני ממשקי רשת הנשלטים על ידי חומת האש (Eth0 ו- Eth1). שניהם מנוהלים כרגע על פי הכללים המוגדרים לאזור הציבורי.
איך נדע אילו כללים קשורים לאזור הציבורי? אנו יכולים להדפיס את אזור ברירת המחדל’תצורה על ידי הקלדה:
תְפוּקָהיעד ציבורי (ברירת מחדל, פעיל): ברירת מחדל של ICMP-Block-Inverving: אין ממשקים: ETH0 ETH1 מקורות: שירותים: SSH DHCPV6-CLIENT יציאות: פרוטוקולים: מסכות: אין יציאות קדימה: יציאות מקור: ICMP-Blocks: כללים עשירים:
אנו יכולים לדעת מהפלט כי אזור זה הוא גם ברירת המחדל והפעילה וכי ממשקי ה- ETH0 ו- ETH1 קשורים לאזור זה (כבר ידענו את כל זה מהחקירות הקודמות שלנו). עם זאת, אנו יכולים גם לראות כי אזור זה מאפשר את הפעולות הרגילות הקשורות ללקוח DHCP (עבור הקצאת כתובת IP) ו- SSH (לניהול מרחוק).
חקר אזורים אלטרנטיביים
כעת יש לנו רעיון טוב לגבי התצורה של ברירת המחדל והאזור הפעיל. אנו יכולים לגלות מידע גם על אזורים אחרים.
כדי לקבל רשימה של האזורים הזמינים, הקלד:
תְפוּקָהחסום עבודה חיצונית ביתי חיצוני בציבור בינוני
אנו יכולים לראות את התצורה הספציפית המשויכת לאזור על ידי הכללת הפרמטר-Zone =
תְפוּקָהיעד הבית: ברירת מחדל של ICMP-Block-Inverving: אין ממשקים: מקורות: שירותים: DHCPV6-Client MDNS SAMBA-CLIENT SSH יציאות: פרוטוקולים: מסכות: אין יציאות קדימה: יציאות מקור: ICMP-Blocks: כללים עשירים:
אתה יכול להפיק את כל הגדרות האזור באמצעות האפשרות-רשימת כל האזורים. סביר להניח שתרצה לצנוח את הפלט לבשר לצפייה קלה יותר:
בחירת אזורים לממשקים שלך
אלא אם כן הגדרת את ממשקי הרשת שלך אחרת, כל ממשק יוכנס לאזור ברירת המחדל כאשר חומת האש תואן.
שינוי אזור ממשק
אתה יכול להעביר ממשק בין אזורים במהלך הפעלה על ידי שימוש בפרמטר-Zone = בשילוב עם-שינוי interface = פרמטר. כמו בכל הפקודות שמשנות את חומת האש, תצטרך להשתמש ב- Sudo .
לדוגמה, אנו יכולים להעביר את ממשק ה- ETH0 שלנו ל “בית” אזור על ידי הקלדת זה:
תְפוּקָההַצלָחָה
הערה: בכל פעם שאתה מעביר ממשק לאזור חדש, שימו לב לכך שאתה כנראה משנה את השירותים שיהיו פעילים. למשל, כאן אנו עוברים ל “בית” אזור, עם SSH זמין. המשמעות היא שהחיבור שלנו לא צריך’t טיפה. לאזורים מסוימים אין SSH מופעל כברירת מחדל ואם החיבור שלך נופל תוך שימוש באחד מהאזורים האלה, אתה יכול למצוא את עצמך לא יכול להתחבר חזרה.
אנו יכולים לוודא שזה הצליח על ידי בקשת האזורים הפעילים שוב:
תְפוּקָהממשקי בית: ממשקים ציבוריים של ETH0: ETH1
התאמת אזור ברירת המחדל
אם ניתן לטפל בצורה הטובה ביותר על כל הממשקים שלך על ידי אזור יחיד, זה’S כנראה קל יותר לבחור את אזור ברירת המחדל הטוב ביותר ואז להשתמש בזה לתצורה שלך.
אתה יכול לשנות את אזור ברירת המחדל באמצעות הפרמטר-set-default-zone =. זה ישנה מייד כל ממשק שנפל על ברירת המחדל לאזור החדש:
תְפוּקָההַצלָחָה
קביעת כללים ליישומים שלך
הדרך הבסיסית להגדיר חריגים של חומת אש לשירותים שברצונך להעמיד לרשותך היא די פשוטה. אָנוּ’אני יעבור את הרעיון הבסיסי כאן.
הוספת שירות לאזורים שלך
השיטה הפשוטה ביותר היא להוסיף את השירותים או היציאות הדרושות לך לאזורים שאתה משתמש בהם. שוב, אתה יכול לקבל רשימה של השירותים הזמינים עם אפשרות-Get-Get-Services:
תְפוּקָהRH-Satellite-6 Amanda-Client Amanda-k5-Client Bacula Bacula-slient Bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph-mon cfengine condor-conderce eplication freeipa-אמון ftp גנגליה-לקוח-גנגליה-מאסטר-זמינות גבוהה http https imap imap e ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3s postgresql privoxy proxy-dhcp ptp pulseaudio smip smip smip smip-smip smip-smip-smip-smip-smip-smba smba smba smba-smba smba smba smba smba-smancd smba smba smb. ps snmp snmptrap spideroak-lansync דיונון ssh synergy syslog syslog-tls telnet tftp tftp-לקוח TINT TOR-SOCKS TRANDLSISS-CLIENT VDSM VNC-SERVER WBEM-HTTP
הערה: אתה יכול לקבל פרטים נוספים על כל אחד מהשירותים הללו על ידי התבוננות ב- Associated שלהם .קובץ XML בספריית/usr/lib/firewalld/שירותים. למשל, שירות SSH מוגדר כך:
/usr/lib/Firewalld/Services/SSH.XML
שֵׁרוּת> קצר>Sshקצר> תיאור>מעטפת מאובטחת (SSH) היא פרוטוקול לרישום ולבצע פקודות במכונות מרוחקות. הוא מספק תקשורת מוצפנת מאובטחת. אם אתה מתכנן לגשת למכונה שלך מרחוק באמצעות SSH על פני ממשק חומת אש, הפעל אפשרות זו. אתה זקוק לחבילת OpenSsh-Server המותקנת כדי שאפשרות זו תהיה שימושית.תיאור> נמל נוהל="TCP" נמל="22"/> שֵׁרוּת>
אתה יכול לאפשר שירות לאזור באמצעות פרמטר-הוסף- add- service =. הפעולה תמקד לאזור ברירת המחדל או לאזור כל אזור שצוין על ידי הפרמטר -Zone =. כברירת מחדל, זה יתאים רק את הפעלת חומת האש הנוכחית. אתה יכול להתאים את תצורת חומת האש הקבועה על ידי הכללת הדגל -Permanent.
לדוגמה, אם אנו מפעילים שרת אינטרנט המגיש תנועה HTTP קונבנציונאלית, אנו יכולים לאפשר תנועה זו לממשקים אצלנו “פּוּמְבֵּי” אזור לפגישה זו על ידי הקלדה:
אתה יכול להשאיר את ה- -Zone = אם ברצונך לשנות את אזור ברירת המחדל. אנו יכולים לוודא שהפעולה הצליחה באמצעות פעולות-רשימה-כל-רשימה-רשימה:
תְפוּקָהDHCPV6-לקוח http ssh
לאחר שבדקת שהכל עובד כמו שצריך, סביר להניח שתרצה לשנות את כללי חומת האש הקבועה כך שהשירות שלך עדיין יהיה זמין לאחר אתחול מחדש. אנחנו יכולים להפוך את שלנו “פּוּמְבֵּי” שינוי אזור קבוע על ידי הקלדה:
תְפוּקָההַצלָחָה
אתה יכול לוודא שזה הצליח על ידי הוספת הדגל-פקח למבצע- רשימת השירותים. אתה צריך להשתמש בסודו עבור כל פעולות פגיעות:
תְפוּקָהDHCPV6-לקוח http ssh
שֶׁלְךָ “פּוּמְבֵּי” אזור יאפשר כעת תעבורת אינטרנט HTTP ביציאה 80. אם שרת האינטרנט שלך מוגדר לשימוש ב- SSL/TLS, אתה’אני רוצה גם להוסיף את שירות HTTPS. אנו יכולים להוסיף את זה למפגש הנוכחי ולגדרת הכללים הקבועה על ידי הקלדה:
מה אם אין שירות מתאים?
שירותי חומת האש הכלולים בהתקנת חומת האש מייצגים רבים מהדרישות הנפוצות ביותר ליישומים שאולי תרצו לאפשר גישה אליהם. עם זאת, ככל הנראה יהיו תרחישים שבהם שירותים אלה אינם מתאימים לדרישותיכם.
במצב זה, יש לך שתי אפשרויות.
פתיחת יציאה לאזורים שלך
אחת הדרכים להוסיף תמיכה ליישום הספציפי שלך היא לפתוח את היציאות בהן הוא משתמש. זה נעשה על ידי ציון טווח היציאה או היציאה, והפרוטוקול המשויך ליציאות שאתה צריך כדי לפתוח.
לדוגמה, אם היישום שלנו פועל על יציאה 5000 ומשתמש ב- TCP, נוכל להוסיף זאת ל- “פּוּמְבֵּי” אזור להפעלה זו באמצעות הפרמטר-הוסף- port =. פרוטוקולים יכולים להיות TCP או UDP:
תְפוּקָההַצלָחָה
אנו יכולים לוודא שהדבר הצליח באמצעות פעולת הנמל-רשימה:
תְפוּקָה5000/TCP
ניתן גם לציין מגוון רצף של יציאות על ידי הפרדת יציאת ההתחלה והסיום בטווח עם מקף. לדוגמה, אם היישום שלנו משתמש ביציאות UDP 4990 עד 4999, נוכל לפתוח את אלה “פּוּמְבֵּי” על ידי הקלדה:
לאחר הבדיקה, סביר להניח שנרצה להוסיף את אלה לחומת האש הקבועה. אתה יכול לעשות זאת על ידי הקלדה:
תְפוּקָההצלחה הצלחה 5000/TCP 4990-4999/UDP
הגדרת שירות
פתיחת יציאות לאזורים שלך היא קלה, אך זה יכול להיות קשה לעקוב אחר מה שכל אחד מהם מיועד. אם אי פעם תפרק שירות בשרת שלך, יתכן שתתקשה לזכור אילו יציאות שנפתחו עדיין נדרשות. כדי להימנע ממצב זה, ניתן להגדיר שירות.
השירותים הם אוספי יציאות עם שם ותיאור משויך. קל יותר לנהל את השימוש בשירותים מאשר יציאות, אך דורש קצת עבודה מקדימה. דרך טובה להתחיל היא להעתיק סקריפט קיים (נמצא ב-/usr/lib/Firewalld/Services) לספריית/etc/Firewalld/Services שם חומת האש מחפשת הגדרות לא סטנדרטיות.
לדוגמה, נוכל להעתיק את הגדרת שירות SSH לשימוש עבורנו “דוגמא” הגדרת שירות כזו. שם הקובץ מינוס .סיומת XML תכתיב את שם השירות ברשימת שירותי חומת האש:
כעת, אתה יכול להתאים את ההגדרה שנמצאה בקובץ שהעתקת:
כדי להתחיל, הקובץ יכיל את הגדרת ה- SSH שהעתקת:
/etc/חומת אש/שירותים/דוגמה.XML
שֵׁרוּת> קצר>Sshקצר> תיאור>מעטפת מאובטחת (SSH) היא פרוטוקול לרישום ולבצע פקודות במכונות מרוחקות. הוא מספק תקשורת מוצפנת מאובטחת. אם אתה מתכנן לגשת למכונה שלך מרחוק באמצעות SSH על פני ממשק חומת אש, הפעל אפשרות זו. אתה זקוק לחבילת OpenSsh-Server המותקנת כדי שאפשרות זו תהיה שימושית.תיאור> נמל נוהל="TCP" נמל="22"/> שֵׁרוּת>
רוב ההגדרה הזו היא למעשה מטא נתונים. תרצה לשנות את השם הקצר לשירות בתגים. זהו שם קריא אנושי לשירותך. עליך להוסיף גם תיאור כך שיהיה לך מידע נוסף אם אי פעם תצטרך לבקר את השירות. התצורה היחידה שעליך לבצע שמשפיעה על הפונקציונליות של השירות תהיה ככל הנראה הגדרת היציאה בה אתה מזהה את מספר היציאה ואת הפרוטוקול שאתה רוצה לפתוח. ניתן לציין זאת מספר פעמים.
בשביל שלנו “דוגמא” שירות, דמיין שאנחנו צריכים לפתוח את היציאה 7777 עבור TCP ו- 8888 עבור UDP. על ידי הזנת מצב הכנס על ידי לחיצה על I, אנו יכולים לשנות את ההגדרה הקיימת במשהו כזה:
/etc/חומת אש/שירותים/דוגמה.XML
שֵׁרוּת> קצר>שירות דוגמהקצר> תיאור>זה רק שירות דוגמה. זה כנראה לא צריך לשמש במערכת אמיתית.תיאור> נמל נוהל="TCP" נמל="7777"/> נמל נוהל="UDP" נמל="8888"/> שֵׁרוּת>
לחץ על ESC, ואז הזן: x כדי לשמור ולסגור את הקובץ.
טען מחדש את חומת האש שלך כדי לקבל גישה לשירות החדש שלך:
אתה יכול לראות שזה עכשיו בין רשימת השירותים הזמינים:
תְפוּקָהRH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch דוגמא Freeipa-ldap freeipa-ldaps חופשי-תשואה חופשית חופשית-אמן FTP גנגליה-לקוח גנגליה-מאסטר זמינות גבוהה http https imap imap mssql mysql nfs nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppatmaster Quarsel radiiSce raptiiSciiSciiSce samca-bind samca smclindic smclindiiSC SIPS SMTP SMTP-SubMission SMTP
כעת תוכל להשתמש בשירות זה באזורים שלך כמו שבדרך כלל הייתם.
יצירת אזורים משלך
בעוד שהאזורים שהוגדרו מראש ככל הנראה יהיו די והותר לרוב המשתמשים, זה יכול להועיל להגדיר אזורים משלך שמתארים יותר את תפקידם.
לדוגמה, ייתכן שתרצה ליצור אזור לשרת האינטרנט שלך, הנקרא “PublicWeb”. עם זאת, ייתכן שתרצה להגדיר אזור נוסף לשירות ה- DNS שאתה מספק ברשת הפרטית שלך. אולי תרצה אזור שנקרא “Privatedns” בשביל זה.
כשאתה מוסיף אזור, עליך להוסיף אותו לתצורת חומת האש הקבועה. לאחר מכן תוכל לטעון מחדש כדי להכניס את התצורה לפגישה הריצה שלך. לדוגמה, נוכל ליצור את שני האזורים שדיברנו עליו לעיל על ידי הקלדה:
אתה יכול לוודא שאלו קיימים בתצורה הקבועה שלך על ידי הקלדה:
תְפוּקָהחסום את DMZ DROP חיצוני ביתי פנימי Privatedns פּוּמְבֵּי PublicWeb עבודה מהימנה
כאמור, אלה ניצחו’לא יהיה זמין במקרה הנוכחי של חומת האש: עדיין:
תְפוּקָהחסום עבודה חיצונית ביתי חיצוני בציבור בינוני
טען את חומת האש כדי להכניס אזורים חדשים אלה לתצורה הפעילה:
תְפוּקָהחסום את DMZ DROP חיצוני ביתי פנימי Privatedns פּוּמְבֵּי PublicWeb עבודה מהימנה
כעת, תוכלו להתחיל להקצות את השירותים והיציאות המתאימים לאזורים שלכם. זה’בדרך כלל רעיון טוב להתאים את המופע הפעיל ואז להעביר את השינויים הללו לתצורה הקבועה לאחר הבדיקה. למשל, עבור “PublicWeb” אזור, אולי תרצה להוסיף את שירותי SSH, HTTP ו- HTTPS:
תְפוּקָהיעד PublicWeb: ברירת מחדל ICMP-Block-Inversion: אין ממשקים: מקורות: שירותים: SSH HTTP יציאות HTTP
באופן דומה, אנו יכולים להוסיף את שירות ה- DNS לשלנו “Privatedns” אֵזוֹר:
תְפוּקָהממשקי PrivatedNS: מקורות: שירותים: DNS יציאות: מסכות: אין יציאות קדימה: ICMP-Blocks: כללים עשירים:
לאחר מכן נוכל לשנות את הממשקים שלנו לאזורים חדשים אלה כדי לבדוק אותם:
בשלב זה יש לך הזדמנות לבדוק את התצורה שלך. אם ערכים אלה עובדים עבורך, תרצה להוסיף את אותם כללים לתצורה הקבועה. אתה יכול לעשות זאת על ידי יישום מחדש של הכללים עם הדגל-פקח:
לאחר יישום קבוע של הכללים שלך, אתה יכול להפעיל מחדש את הרשת שלך ולטען מחדש את שירות חומת האש שלך:
אמת כי האזורים הנכונים הוקצו:
תְפוּקָהממשקי Privatedns: Eth1 ממשקים ציבוריים: eth0
ותאמת כי השירותים המתאימים זמינים לשני האזורים:
תְפוּקָהhttp https ssh
תְפוּקָהDNS
הגדרת בהצלחה אזורים משלך! אם ברצונך להפוך את אחד האזורים הללו לברירת המחדל עבור ממשקים אחרים, זכור להגדיר את ההתנהגות הזו עם-Set-default-Zone = פרמטר:
SUDO FIREIRALL-CMD-SET-DEFAULT-Zone = PublicWeb
סיכום
כעת עליכם לקבל הבנה טובה למדי כיצד לנהל את שירות חומת האש במערכת CentOS שלכם לשימוש יומיומי.
שירות חומת האש מאפשר לך לקבוע את התצורה של כללים ותצורות כללים המתחזקות בחשבון את סביבת הרשת שלך. זה מאפשר לך לעבור בצורה חלקה בין מדיניות חומת אש שונה באמצעות אזורים ומעניק למנהלים את היכולת להפסיק את ניהול הנמל להגדרות שירות ידידותיות יותר. רכישת ידע עובד במערכת זו תאפשר לך לנצל את הגמישות והעוצמה שהכלי הזה מספק.
אבטח בקלות את התשתית שלך והגדר אילו שירותים נראים בשרתים שלך באמצעות חומת אש של ענן דיגיטלי. חומות האש של הענן שלנו הן בחינם ומושלמות לפריסות שלב וייצור.
כיצד להגדיר חומת אש באמצעות חומת אש ב- CentOS 8
Firewalld היא תוכנת ניהול חומת אש זמינה עבור התפלגויות לינוקס רבות, המשמשות כחזית עבור לינוקס’S מערכות סינון מנות UPTERS או IPTABLES.
במדריך זה נראה לכם כיצד להגדיר חומת אש של חומת אש עבור שרת Centos 8 שלכם, ונכסה את היסודות של ניהול חומת האש באמצעות הכלי הניהולי של חומת האש- CMD.
תנאים מוקדמים
כדי להשלים הדרכה זו, תזדקק לשרת שמריץ CentOS 8. אנו נניח שאתה מחובר לשרת זה כלא-שורש, משתמש מופעל על ידי SUDO. כדי להגדיר זאת, עיין בהגדרת השרת הראשונית שלנו עבור מדריך CentoS 8.
מושגים בסיסיים בחומת האש
לפני שנתחיל לדבר כיצד להשתמש בפועל בכלי השירות CMD של חומת האש כדי לנהל את תצורת חומת האש שלך, עלינו להכיר כמה מושגים שהכלי מציג.
אזורים
דמון חומת האש מנהל קבוצות של כללים באמצעות ישויות הנקראות אזורים. אזורים הם קבוצות של כללים שמכתיבים אילו תנועה יש לאפשר בהתאם לרמת האמון שיש לך ברשת. ממשקי רשת מוקצים לאזור כדי להכתיב את ההתנהגות שעל חומת האש לאפשר.
עבור מחשבים שעשויים לנוע בין רשתות לעתים קרובות (כמו מחשבים ניידים), גמישות מסוג זה מספקת שיטה טובה לשנות את הכללים שלך בהתאם לסביבתך. יתכן שיש לך כללים קפדניים האוסרים על רוב התנועה כשאתה פועל ברשת WiFi ציבורית, תוך מתן מגבלות רגועות יותר כאשר היא מחוברת לרשת הביתית שלך. עבור שרת, אזורים אלה לרוב אינם חשובים מכיוון שסביבת הרשת לעיתים רחוקות, אם בכלל, משתנה.
לא משנה עד כמה סביבת הרשת שלך דינמית עשויה להיות, כדאי להכיר את הרעיון הכללי שמאחורי כל אחד מהאזורים שהוגדרו מראש עבור חומת אש . האזורים המוגדרים מראש בתוך חומת האש הם, לפי הסדר הכי פחות מהימן ל הכי מהימן:
- יְרִידָה: רמת האמון הנמוכה ביותר. כל החיבורים הנכנסים נופלים ללא תשובה ורק חיבורים יוצאים אפשריים.
- לַחסוֹם: בדומה לאמור לעיל, אך במקום פשוט להפיל חיבורים, בקשות נכנסות נדחות באמצעות הודעה ICMP-Host-Prohibibated או ICMP6-ADM-Prohibibited.
- פּוּמְבֵּי: מייצג רשתות ציבוריות ולא אמינות. אתה לא דון’לא סמוך על מחשבים אחרים אך עשוי לאפשר חיבורים נכנסים שנבחרו כל מקרה לגופו.
- חיצוני: רשתות חיצוניות במקרה שאתה משתמש בחומת האש כשער שלך. זה מוגדר עבור Nat Syquerading כך שהרשת הפנימית שלך תישאר פרטית אך ניתנת להשגה.
- פְּנִימִי: הצד השני של האזור החיצוני, המשמש לחלק הפנימי של שער. המחשבים אמינים למדי וכמה שירותים נוספים זמינים.
- DMZ: משמש למחשבים הממוקמים ב- DMZ (מחשבים מבודדים שלא יהיו להם גישה לשאר הרשת שלך). רק חיבורים נכנסים מסוימים מותרות.
- עֲבוֹדָה: משמש למכונות עבודה. סמוך על רוב המחשבים ברשת. ניתן לאפשר עוד כמה שירותים.
- בית: סביבה ביתית. בדרך כלל זה מרמז שאתה סומך על מרבית המחשבים האחרים וכי כמה שירותים נוספים יתקבלו.
- מהימן: סמוך על כל המכונות ברשת. הפתוח ביותר מבין האפשרויות הזמינות ויש להשתמש בו במשורה.
כדי להשתמש בחומת האש, אנו יכולים ליצור חוקים ולשנות את המאפיינים של האזורים שלנו ואז להקצות את ממשקי הרשת שלנו לאזורים המתאימים ביותר.
קביעות שלטון
בחומת האש ניתן ליישם כללים על הנוכחי זמן ריצה מערך הכללים, או ייעשה קבוע. כאשר כללי מתווסף או משתנה, כברירת מחדל, רק חומת האש המריצה כעת משתנה. לאחר אתחול מחדש הבא – או טען מחדש של שירות חומת האש – רק הכללים הקבועים יישארו.
מרבית פעולות חומת האש-CMD יכולות לקחת דגל-פקח כדי לציין כי יש להחיל את השינויים על תצורת הקורמו. בנוסף, ניתן לחסוך את חומת האש המריצה כעת בתצורה הקבועה עם חומת האש-CMD-פקודה-רונט-זמן לתחום.
הפרדה זו של זמן ריצה לעומת תצורה קבועה פירושה שאתה יכול לבדוק בבטחה כללים בחומת האש הפעילה שלך, ואז לטעון מחדש כדי להתחיל מחדש אם יש בעיות.
התקנה ומאפשרת חומת אש
Firewalld מותקן כברירת מחדל בכמה התפלגויות לינוקס, כולל תמונות רבות של Centos 8. עם זאת, יתכן שיהיה צורך להתקין את חומת האש בעצמך:
לאחר התקנת חומת אש, אתה יכול לאפשר את השירות ולהתחיל מחדש את השרת שלך. זכור כי הפעלת חומת אש תגרום לשירות להפעיל את האתחול. כדאי לייצר את כללי חומת האש שלך ולנצל את ההזדמנות לבדוק אותם לפני שתגדיר התנהגות זו על מנת להימנע מבעיות פוטנציאליות.
כאשר השרת מופעל מחדש, יש להעלות את חומת האש שלך, יש להכניס את ממשקי הרשת שלך לאזורים שהגדרת (או ליפול לאזור ברירת המחדל המוגדר), וכל כללים המשויכים לאזור (ים) יוחלו על הממשקים המשויכים.
אנו יכולים לוודא שהשירות פועל וניתן להגיע אליו על ידי הקלדת:
תְפוּקָהרץ
זה מציין כי חומת האש שלנו פועלת עם תצורת ברירת המחדל.
להכיר את כללי חומת האש הנוכחיים
לפני שנתחיל לבצע שינויים, עלינו להכיר את סביבת ברירת המחדל והכללים המסופקים על ידי חומת אש.
בחינת ברירת המחדל
אנו יכולים לראות איזה אזור נבחר כרגע כברירת המחדל על ידי הקלדת:
תְפוּקָהפּוּמְבֵּי
מאז שאנחנו מקלטים’t נתון חומת אש כל פקודות לסטות מאזור ברירת המחדל, ואף אחד מהממשקים שלנו לא מוגדר להיקשר לאזור אחר, אזור זה יהיה גם היחיד פָּעִיל אזור (האזור השולט בתנועה עבור הממשקים שלנו). אנו יכולים לאמת זאת על ידי הקלדה:
תְפוּקָהממשקים ציבוריים: eth0 eth1
כאן אנו יכולים לראות שלשרת הדוגמה שלנו יש שני ממשקי רשת הנשלטים על ידי חומת האש (Eth0 ו- Eth1). שניהם מנוהלים כרגע על פי הכללים המוגדרים עבור פּוּמְבֵּי אֵזוֹר.
כיצד נדע אילו כללים קשורים ל- פּוּמְבֵּי אזור? אנו יכולים להדפיס את אזור ברירת המחדל’תצורה על ידי הקלדה:
תְפוּקָהיעד ציבורי (פעיל): ברירת מחדל ICMP-Block-Inverving: אין ממשקים: Eth0 Eth1 מקורות: שירותים: תא הטייס DHCPV6-לקוח ssh יציאות: פרוטוקולים: מסכות: אין יציאות קדימה: מקור-נמל: ICMP-Blocks: כללים עשירים:
אנו יכולים לדעת מהפלט כי אזור זה הוא גם ברירת המחדל והפעילה, וכי ממשקי ה- ETH0 ו- ETH1 קשורים לאזור זה (כבר ידענו את כל זה מהפניות הקודמות שלנו). עם זאת, אנו יכולים גם לראות כי אזור זה מאפשר תנועה עבור לקוח DHCP (עבור הקצאת כתובות IP), SSH (לניהול מרחוק) ו- Coppit (קונסולה מבוססת אינטרנט).
חקר אזורים אלטרנטיביים
כעת יש לנו רעיון טוב לגבי התצורה של ברירת המחדל והאזור הפעיל. אנו יכולים לגלות מידע גם על אזורים אחרים.
כדי לקבל רשימה של האזורים הזמינים, הקלד:
תְפוּקָהחסום עבודה חיצונית ביתי חיצוני בציבור בינוני
אנו יכולים לראות את התצורה הספציפית המשויכת לאזור על ידי הכללת הפרמטר-Zone =
תְפוּקָהיעד בית: ברירת מחדל של ICMP-Block-Invervicy: אין ממשקים: מקורות: שירותים: תא הטייס DHCPV6-Client MDNS SAMBA-Client יציאות SSH: פרוטוקולים: מסכות: אין יציאות קדימה: מקור-יציאה: ICMP-Blocks: כללים עשירים:
אתה יכול להפיק את כל הגדרות האזור באמצעות האפשרות-רשימת כל האזורים. סביר להניח שתרצה לצנוח את הפלט לבשר לצפייה קלה יותר:
בשלב הבא נלמד על אזורי הערכת ממשקי רשת.
בחירת אזורים לממשקים שלך
אלא אם כן הגדרת את ממשקי הרשת שלך אחרת, כל ממשק יוכנס לאזור ברירת המחדל בעת הפעלת חומת האש.
שינוי אזור ממשק
אתה יכול להזיז ממשק בין אזורים במהלך הפעלה על ידי שימוש בפרמטר-Zone =. כמו בכל הפקודות שמשנות את חומת האש, תצטרך להשתמש ב- Sudo .
למשל, אנו יכולים להעביר את ממשק ה- ETH0 שלנו ל בית אזור על ידי הקלדת זה:
תְפוּקָההַצלָחָה
הערה: בכל פעם שאתה מעביר ממשק לאזור חדש, שימו לב שאתה כנראה משנה אילו שירותים יפעלו. למשל, כאן אנו עוברים ל בית אזור, עם SSH זמין. המשמעות היא שהחיבור שלנו לא צריך’t טיפה. לאזורים אחרים אין SSH מופעל כברירת מחדל, ועבר לאחד מהאזורים הללו עלול לגרום לחיבור שלך לרדת, למנוע ממך לחזור לשרת שלך.
אנו יכולים לוודא שזה הצליח על ידי בקשת האזורים הפעילים שוב:
תְפוּקָהממשקי בית: ממשקים ציבוריים של ETH0: ETH1
התאמת אזור ברירת המחדל
אם ניתן לטפל היטב בכל הממשקים שלך על ידי אזור יחיד, זה’ככל הנראה הכי קל לייעד את האזור הטוב ביותר כברירת מחדל ואז להשתמש בזה לתצורה שלך.
אתה יכול לשנות את אזור ברירת המחדל באמצעות הפרמטר-set-default-zone =. זה ישנה מייד כל ממשק באמצעות אזור ברירת המחדל:
תְפוּקָההַצלָחָה
קביעת כללים ליישומים שלך
לתת’S פועל בדרך הבסיסית להגדרת חריגים של חומת אש לשירותים שברצונך להעמיד לרשותך.
הוספת שירות לאזורים שלך
השיטה הישירה ביותר היא להוסיף את השירותים או היציאות הדרושות לאזורים שאתה משתמש בהם. אתה יכול לקבל רשימה של הגדרות השירות הזמינות עם אפשרות-Get-Get-Services:
תְפוּקָהRH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
הערה: אתה יכול לקבל פרטים נוספים על כל אחד מהשירותים הללו על ידי התבוננות ב- Associated שלהם .קובץ XML בספריית/usr/lib/firewalld/שירותים. למשל, שירות SSH מוגדר כך:
/usr/lib/Firewalld/Services/SSH.XML
שֵׁרוּת> קצר>Sshקצר> תיאור>מעטפת מאובטחת (SSH) היא פרוטוקול לרישום ולבצע פקודות במכונות מרוחקות. הוא מספק תקשורת מוצפנת מאובטחת. אם אתה מתכנן לגשת למכונה שלך מרחוק באמצעות SSH על פני ממשק חומת אש, הפעל אפשרות זו. אתה זקוק לחבילת OpenSsh-Server המותקנת כדי שאפשרות זו תהיה שימושית.תיאור> נמל נוהל="TCP" נמל="22"/> שֵׁרוּת>
אתה יכול לאפשר שירות לאזור באמצעות פרמטר-הוסף- add- service =. הפעולה תמקד לאזור ברירת המחדל או לאזור כל אזור שצוין על ידי הפרמטר -Zone =. כברירת מחדל, זה יתאים רק את הפעלת חומת האש הנוכחית. אתה יכול להתאים את תצורת חומת האש הקבועה על ידי הכללת הדגל -Permanent.
לדוגמה, אם אנו מפעילים שרת אינטרנט המשרת תנועה מקובלת של HTTP, אנו יכולים לאפשר באופן זמני תנועה זו לממשקים אצלנו פּוּמְבֵּי אזור על ידי הקלדה:
אתה יכול להשאיר את ה- -Zone = דגל אם ברצונך לשנות את אזור ברירת המחדל. אנו יכולים לוודא שהפעולה הצליחה באמצעות פעולות-רשימה-כל-רשימה-רשימה:
תְפוּקָהCOPPIT DHCPV6-לקוח http ssh
לאחר שבדקת שהכל עובד כמו שצריך, סביר להניח שתרצה לשנות את כללי חומת האש הקבועה כך שהשירות שלך עדיין יהיה זמין לאחר אתחול מחדש. אנו יכולים להפוך את השינוי הקודם שלנו לקבוע על ידי הקלדתו מחדש והוספת הדגל -פקח:
תְפוּקָההַצלָחָה
לחילופין, תוכל להשתמש בדגל-זמן-זמן-קבוע כדי לשמור את תצורת חומת האש הפועלת כעת לתצורה הקבועה:
היזהר בזה, כמו את כל שינויים שבוצעו בחומת האש המריצה יבוצעו באופן תמידי.
בכל שיטה שבחרת, אתה יכול לוודא שהיא הצליחה על ידי הוספת הדגל-פקח לפעולה-רשימת שירותי שירות. אתה צריך להשתמש בסודו עבור כל פעולות פגיעות:
תְפוּקָהCOPPIT DHCPV6-לקוח http ssh
שֶׁלְךָ פּוּמְבֵּי אזור יאפשר כעת תעבורת אינטרנט HTTP ביציאה 80. אם שרת האינטרנט שלך מוגדר לשימוש ב- SSL/TLS, אתה’אני רוצה גם להוסיף את שירות HTTPS. אנו יכולים להוסיף את זה למפגש הנוכחי ולגדרת הכללים הקבועה על ידי הקלדה:
מה אם אין שירות מתאים?
השירותים הכלולים בהתקנת חומת האש מייצגים רבים מהיישומים הנפוצים ביותר שאולי תרצו לאפשר גישה אליהם. עם זאת, ככל הנראה יהיו תרחישים שבהם שירותים אלה אינם מתאימים לדרישותיכם.
במצב זה, יש לך שתי אפשרויות.
פתיחת יציאה לאזורים שלך
הדרך הקלה ביותר להוסיף תמיכה ליישום הספציפי שלך היא לפתוח את היציאות בהן הוא משתמש באזורים המתאימים. זה נעשה על ידי ציון טווח היציאה או היציאה, והפרוטוקול המשויך (TCP או UDP) עבור היציאות.
לדוגמה, אם היישום שלנו פועל על יציאה 5000 ומשתמש ב- TCP, נוכל להוסיף זאת באופן זמני ל- פּוּמְבֵּי אזור באמצעות הפרמטר-add-port =. ניתן לייעד פרוטוקולים כ- TCP או UDP:
תְפוּקָההַצלָחָה
אנו יכולים לוודא שהדבר הצליח באמצעות פעולת הנמל-רשימה:
תְפוּקָה5000/TCP
ניתן גם לציין מגוון רצף של יציאות על ידי הפרדת יציאת ההתחלה והסיום בטווח עם מקף. לדוגמה, אם היישום שלנו משתמש ביציאות UDP 4990 עד 4999, נוכל לפתוח את אלה פּוּמְבֵּי על ידי הקלדה:
לאחר הבדיקה, סביר להניח שנרצה להוסיף את אלה לחומת האש הקבועה. השתמש ב- SUDO FIREALL-CMD-זמן-זמן לתמ”ג כדי לעשות זאת, או השבץ מחדש את הפקודות עם הדגל-פקח:
תְפוּקָההצלחה הצלחה 5000/TCP 4990-4999/UDP
הגדרת שירות
פתיחת יציאות לאזורים שלך היא פיתרון פשוט, אבל זה יכול להיות קשה לעקוב אחר מה שכל אחד מהם מיועד. אם אי פעם תפרק שירות בשרת שלך, יתכן שתתקשה לזכור אילו יציאות שנפתחו עדיין נדרשות. כדי להימנע ממצב זה, ניתן להגדיר שירות חדש.
השירותים הם אוספי יציאות עם שם ותיאור משויך. קל יותר לנהל את השימוש בשירותים מאשר יציאות, אך דורש קצת עבודה מקדימה. הדרך הקלה ביותר להתחיל היא להעתיק סקריפט קיים (נמצא ב-/usr/lib/Firewalld/Services) לספריית/etc/Firewalld/Services שם חומת האש מחפשת הגדרות לא סטנדרטיות.
לדוגמה, נוכל להעתיק את הגדרת שירות SSH לשימוש עבורנו דוגמא הגדרת שירות כזו. שם הקובץ מינוס .סיומת XML תכתיב את שם השירות ברשימת שירותי חומת האש:
עכשיו, אתה יכול להתאים את ההגדרה שנמצאה בקובץ שהעתקת. תחילה פתח אותו בעורך הטקסט המועדף עליך. אָנוּ’להשתמש ב- VI כאן:
כדי להתחיל, הקובץ יכיל את הגדרת ה- SSH שהעתקת:
/etc/חומת אש/שירותים/דוגמה.XML
שֵׁרוּת> קצר>Sshקצר> תיאור>מעטפת מאובטחת (SSH) היא פרוטוקול לרישום ולבצע פקודות במכונות מרוחקות. הוא מספק תקשורת מוצפנת מאובטחת. אם אתה מתכנן לגשת למכונה שלך מרחוק באמצעות SSH על פני ממשק חומת אש, הפעל אפשרות זו. אתה זקוק לחבילת OpenSsh-Server המותקנת כדי שאפשרות זו תהיה שימושית.תיאור> נמל נוהל="TCP" נמל="22"/> שֵׁרוּת>
רוב ההגדרה הזו היא למעשה מטא נתונים. תרצה לשנות את השם הקצר לשירות בתגים. זהו שם קריא אנושי לשירותך. עליך להוסיף גם תיאור כך שיהיה לך מידע נוסף אם אי פעם תצטרך לבקר את השירות. התצורה היחידה שעליך לבצע שמשפיעה על הפונקציונליות של השירות תהיה ככל הנראה הגדרת היציאה בה אתה מזהה את מספר היציאה ואת הפרוטוקול שאתה רוצה לפתוח. ניתן לציין מספר תגיות.
בשביל שלנו דוגמא שירות, דמיין שאנחנו צריכים לפתוח את היציאה 7777 עבור TCP ו- 8888 עבור UDP. אנו יכולים לשנות את ההגדרה הקיימת במשהו כזה:
/etc/חומת אש/שירותים/דוגמה.XML
שֵׁרוּת> קצר>שירות דוגמהקצר> תיאור>זה רק שירות דוגמה. זה כנראה לא צריך לשמש במערכת אמיתית.תיאור> נמל נוהל="TCP" נמל="7777"/> נמל נוהל="UDP" נמל="8888"/> שֵׁרוּת>
שמור וסגור את הקובץ.
טען מחדש את חומת האש שלך כדי לקבל גישה לשירות החדש שלך:
אתה יכול לראות שזה עכשיו בין רשימת השירותים הזמינים:
תְפוּקָהRH-Satellite-6 Amanda-Client Amanda-K5-Client AMQP AMQP NS DNS-Over-TLS Docker-Registry Docker-Swarm Dropbox-Lansync Elasticsearch etcd-client etcd-server דוגמא אצבע חופשית-4 חופשיפה-לילד-פאפ חופשיפה-לוחות חופשיים-תקשורת חופשית חופשית FREIPA-אמון FTP גנגליה-לקוח-גנגליה-מאסטר גיט גרפנה ירח זמינות גבוהה http https imap imap ipp ipp-client ipsec ircs iscsi-target ell ldap ldaps libvirt libvirt-tls ברק-Network llmnr maneseive matrix mdns memcache minidlna mongodb mosh mountd mqttt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe stops ntps ntps ovoL ovolio-ovolio-ovoL ovoLe ovoLe ovoLe ovoLe ovoLe ovoLe ovoL. Mconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy probetheus proxy-dhcp ptp pulseaudio בובה Quassel Quassel Radius rdp smba smap-smap-smap smap smap smap smap smap smap smap smap-smap smap-client smap-client smapa-client sma-sma-client sma-client sma-client sma-client sma-client sma-sma-client rsncd rshin משימה SMTPסטרימינג svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 TINT TOR-TORSS TRANDSISSISS-CLIENT-CLIEN Zabbix-Agent Zabbix-Server
כעת תוכל להשתמש בשירות זה באזורים שלך כמו שבדרך כלל הייתם.
יצירת אזורים משלך
בעוד שהאזורים שהוגדרו מראש ככל הנראה יהיו די והותר לרוב המשתמשים, זה יכול להועיל להגדיר אזורים משלך שמתארים יותר את תפקידם.
לדוגמה, ייתכן שתרצה ליצור אזור לשרת האינטרנט שלך, הנקרא PublicWeb. עם זאת, ייתכן שתרצה להגדיר אזור נוסף לשירות ה- DNS שאתה מספק ברשת הפרטית שלך. אולי תרצה אזור שנקרא “Privatedns” בשביל זה.
כשאתה מוסיף אזור, אתה צריך הוסף אותו לתצורת חומת האש הקבועה. לאחר מכן תוכל לטעון מחדש כדי להכניס את התצורה לפגישה הריצה שלך. לדוגמה, נוכל ליצור את שני האזורים שדיברנו עליו לעיל על ידי הקלדה:
אתה יכול לוודא שאלו קיימים בתצורה הקבועה שלך על ידי הקלדה:
תְפוּקָהחסום את DMZ DROP חיצוני ביתי פנימי Privatedns פּוּמְבֵּי PublicWeb עבודה מהימנה
כאמור, אלה ניצחו’לא יהיה זמין בחומת האש בזמן הריצה: עדיין:
תְפוּקָהחסום עבודה חיצונית ביתי חיצוני בציבור בינוני
טען מחדש את חומת האש כדי להביא אזורים חדשים אלה לתצורת זמן הריצה הפעילה:
תְפוּקָהחסום את DMZ DROP חיצוני ביתי פנימי Privatedns פּוּמְבֵּי PublicWeb עבודה מהימנה
כעת, תוכלו להתחיל להקצות את השירותים והיציאות המתאימים לאזורים שלכם. זה’בדרך כלל רעיון טוב להתאים את חומת האש של זמן הריצה ואז לשמור את השינויים בתצורה הקבועה לאחר הבדיקה. למשל, עבור PublicWeb אזור, אולי תרצה להוסיף את שירותי SSH, HTTP ו- HTTPS:
תְפוּקָהיעד PublicWeb: ברירת מחדל ICMP-Block-Inversion: אין ממשקים: מקורות: שירותים: http https יציאות SSH: פרוטוקולים: מסכות: אין יציאות קדימה: מקור-יציאות: ICMP-Blocks: כללים עשירים:
באופן דומה, אנו יכולים להוסיף את שירות ה- DNS לשלנו Privatedns אֵזוֹר:
תְפוּקָהיעד PrivatedNS: ברירת מחדל של ICMP-Block-Inversion: אין ממשקים: מקורות: שירותים: DNS יציאות: פרוטוקולים: מסכות: אין יציאות קדימה: מקור-יציאות: ICMP-Blocks: כללים עשירים:
לאחר מכן נוכל לשנות את הממשקים שלנו לאזורים חדשים אלה כדי לבדוק אותם:
בשלב זה יש לך הזדמנות לבדוק את התצורה שלך. אם ערכים אלה עובדים עבורך, תרצה להוסיף כללים אלה לתצורה הקבועה. אתה הָיָה יָכוֹל עשו זאת על ידי הפעלת כל הפקודות שוב עם הדגל -פקח צורף, אך במקרה זה אנו’להשתמש בדגל-רונט-זמן-זמן קבוע כדי לחסוך את כל תצורת זמן הריצה שלנו לצמיתות:
לאחר יישום קבוע של כללים אלה, טען מחדש את חומת האש כדי לבדוק כי השינויים נשארים:
אמת כי האזורים הנכונים הוקצו:
תְפוּקָהממשקי Privatedns: Eth1 ממשקים ציבוריים: eth0
ותאמת כי השירותים המתאימים זמינים לשני האזורים:
תְפוּקָהhttp https ssh
תְפוּקָהDNS
הגדרת בהצלחה אזורים משלך! אם ברצונך להפוך את אחד האזורים הללו לברירת המחדל עבור ממשקים אחרים, זכור להגדיר את ההתנהגות הזו עם-Set-default-Zone = פרמטר:
סיכום
כעת עליכם לקבל הבנה יסודית למדי כיצד לנהל את שירות חומת האש במערכת CentOS שלכם לשימוש יומיומי.
שירות חומת האש מאפשר לך לקבוע את התצורה של כללים ותצורות כללים המתחזקות בחשבון את סביבת הרשת שלך. זה מאפשר לך לעבור בצורה חלקה בין מדיניות חומת אש שונה באמצעות אזורים ומעניק למנהלים את היכולת להפסיק את ניהול הנמל להגדרות שירות ידידותיות יותר. רכישת ידע עובד במערכת זו תאפשר לך לנצל את הגמישות והעוצמה שהכלי הזה מספק.
למידע נוסף על חומת האש, אנא עיין בתיעוד הרשמי של חומת האש.
תודה שלמדת עם הקהילה הדיגיטלית. בדוק את ההצעות שלנו לקבלת מסדי נתונים מחשוב, אחסון, רשת ומנוהלים.