אנדרואיד

כיצד להגדיר ולנהל את חומת האש ב- centos 8

Установка и настройка Apache в CentOS 8

Установка и настройка Apache в CentOS 8

תוכן עניינים:

Anonim

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

CentOS 8 אוניות עם דמון חומת אש בשם חומת אש. זהו פיתרון שלם עם ממשק D-Bus המאפשר לנהל באופן דינמי את חומת האש של המערכת.

במדריך זה נדבר על אופן התצורה והניהול של חומת האש ב- CentOS 8. נסביר גם את מושגי ה- FirewallD הבסיסיים.

תנאים מוקדמים

כדי להגדיר את תצורת שירות חומת האש, עליך להיות מחובר כשורש או כמשתמש עם הרשאות סודו.

מושגי חומת אש בסיסיים

firewall משתמש במושגים של אזורים ושירותים. בהתבסס על אזורים ושירותים שתגדיר, אתה יכול לשלוט באיזו תנועה מותרת או חסומה למערכת וממנה.

ניתן להגדיר ולנהל את firewall-cmd כלי שורת הפקודה של firewall-cmd .

ב- CentOS 8, ה- iptables מוחלף על ידי nftables כגיבוי ברירת המחדל של חומת האש עבור הדמון של חומת האש.

אזורי חומת אש

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

להלן האזורים המסופקים על ידי FirewallD שהוזמנו על פי רמת האמון של האזור מבלתי אמון לאמון:

  • ירידה: כל החיבורים הנכנסים מושמטים ללא כל הודעה. רק חיבורים יוצאים מותרים. חסום: כל החיבורים הנכנסים נדחים באמצעות הודעה icmp-host-prohibited על icmp6-adm-prohibited עבור IPv4 ו- icmp6-adm-prohibited עבור IPv6n. רק חיבורים יוצאים מותרים. ציבורי: לשימוש באזורים ציבוריים לא מהימנים. אינך סומך על מחשבים אחרים ברשת, אך אתה יכול לאפשר חיבורים נכנסים שנבחרו. חיצוני: לשימוש ברשתות חיצוניות עם הפעלת מסכות NAT כאשר המערכת שלך פועלת כשער או נתב. מותר להשתמש רק בחיבורים נכנסים שנבחרו. פנימי: לשימוש ברשתות פנימיות כאשר המערכת שלך פועלת כשער או נתב. מערכות אחרות ברשת מהימנות בדרך כלל. מותר להשתמש רק בחיבורים נכנסים שנבחרו. dmz: משמש למחשבים שנמצאים באזור המפורז שלך עם גישה מוגבלת לשאר הרשת שלך. מותר להשתמש רק בחיבורים נכנסים שנבחרו. עבודה: משמש למכונות עבודה. בדרך כלל מהימנים על מחשבים אחרים ברשת. מותר להשתמש רק בחיבורים נכנסים שנבחרו. בית: משמש למכונות ביתיות. בדרך כלל מהימנים על מחשבים אחרים ברשת. מותר להשתמש רק בחיבורים נכנסים שנבחרו. מהימן: כל חיבורי הרשת מתקבלים. סמוך על כל המחשבים ברשת.

שירותי חומת אש

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

לדוגמה, השירות יכול להכיל הגדרות אודות פתיחת יציאות, העברת תנועה ועוד.

הגדרות קבע של חומת אש והגדרות קבועות

חומת האש משתמשת בשתי מערכות תצורה מופרדות, זמן ריצה ותצורה קבועה.

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

כברירת מחדל, בעת ביצוע שינויים בתצורת חומת האש באמצעות כלי השירות של firewall-cmd ה- firewall-cmd , השינויים מוחלים על תצורת זמן הריצה. כדי להפוך את השינויים לצמיתות להוסיף את האפשרות --permanent לפקודה.

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

  1. שנה את תצורת זמן הריצה והפוך אותה לקבועה:

    sudo firewall-cmd sudo firewall-cmd --runtime-to-permanent

    שנה את התצורה הקבועה וטען מחדש את הדמון של חומת האש:

    sudo firewall-cmd --permanent sudo firewall-cmd --reload

הפעלת חומת אש D

ב- CentOS 8, חומת האש מותקנת ומופעלת כברירת מחדל. אם מסיבה כלשהי הוא לא מותקן במערכת שלך, אתה יכול להתקין ולהפעיל את הדמון על ידי הקלדה:

sudo dnf install firewalld sudo systemctl enable firewalld --now

אתה יכול לבדוק את מצב שירות חומת האש באמצעות:

sudo firewall-cmd --state

אם חומת האש מופעלת, על הפקודה להדפיס running . אחרת, תראה not running .

אזורי חומת אש

אזור ברירת המחדל הוא זה שמשמש לכל מה שלא מוקצה במפורש לאזור אחר.

אתה יכול לראות את אזור ברירת המחדל על ידי הקלדה:

sudo firewall-cmd --get-default-zone

public

כדי לקבל רשימה של כל האזורים הזמינים, הקלד:

sudo firewall-cmd --get-zones

block dmz drop external home internal public trusted work

כדי לראות את האזורים הפעילים ואת ממשקי הרשת שהוקצו להם:

sudo firewall-cmd --get-active-zones

התפוקה שלהלן מראה כי הממשקים eth0 ו- eth1 מוקצים לאזור public :

public interfaces: eth0 eth1

ניתן להדפיס את הגדרות תצורת האזור באמצעות:

sudo firewall-cmd --zone=public --list-all

public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

מהפלט שלמעלה, אנו יכולים לראות שהאזור הציבורי פעיל ומשתמש ביעד ברירת המחדל, שהוא REJECT . הפלט מראה גם כי האזור משמש את ממשקי eth0 ו- eth1 ומאפשר תעבורת לקוח DHCP ו- SSH.

sudo firewall-cmd --list-all-zones

הפקודה מדפיסה רשימה ענקית עם ההגדרות של כל האזור הזמין.

שינוי יעד האזור

היעד מגדיר את התנהגות ברירת המחדל של האזור עבור התנועה הנכנסת שלא צוינה. ניתן להגדיר אותה לאחת מהאפשרויות הבאות: default , קבלת, REJECT DROP .

כדי להגדיר את היעד של האזור, ציין את האזור עם האפשרות - אזור ואת היעד עם --set-target .

לדוגמה, כדי לשנות את היעד של האזור public ל- DROP היית מפעיל:

sudo firewall-cmd --zone=public --set-target=DROP

הקצאת ממשק לאזור אחר

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

כדי להקצות ממשק לאזור אחר, ציין את האזור עם האפשרות - אזור והממשק עם --change-interface .

לדוגמה, הפקודה הבאה מקצה את ממשק eth1 לאזור work :

sudo firewall-cmd --zone=work --change-interface=eth1

אמת את השינויים על ידי הקלדה:

sudo firewall-cmd --get-active-zones

work interfaces: eth1 public interfaces: eth0

שינוי אזור ברירת המחדל

לשינוי אזור ברירת המחדל, השתמש --set-default-zone ואחריו שם האזור שברצונך להגדיר כברירת מחדל.

לדוגמה, כדי לשנות את אזור ברירת המחדל home , תפעיל את הפקודה הבאה:

sudo firewall-cmd --set-default-zone=home

אמת את השינויים באמצעות:

sudo firewall-cmd --get-default-zone

home

יצירת אזורים חדשים

חומת אש מאפשרת לך גם ליצור אזורים משלך. זה שימושי כאשר ברצונך ליצור כללי יישום.

בדוגמה הבאה ניצור אזור חדש בשם memcached , נפתח את היציאה 11211 ולאפשר גישה רק מכתובת ה- IP של 192.168.100.30 :

  1. צור את האזור:

    sudo firewall-cmd --new-zone=memcached --permanent

    הוסף את הכללים לאזור:

    sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent

    טען מחדש את הדמון של חומת האש כדי להפעיל את השינויים:

    sudo firewall-cmd --reload

שירותי חומת אש

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

כדי לקבל רשימה של כל סוגי השירותים המוגדרים כברירת מחדל:

sudo firewall-cmd --get-services

תוכל למצוא מידע נוסף על כל שירות על ידי פתיחת קובץ ה-.xml המשויך בספריית /usr/lib/firewalld/services . לדוגמה, שירות HTTP מוגדר כך:

/usr/lib/firewalld/services/http.xml

WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages. WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.

כדי לאפשר תנועת HTTP נכנסת (יציאה 80) עבור ממשקים באזור הציבורי, רק עבור סוג ההפעלה הנוכחי (תצורת זמן ריצה):

sudo firewall-cmd --zone=public --add-service=http אם אתה משנה את אזור ברירת המחדל, תוכל --zone את האפשרות - אזור.

כדי לוודא שהשירות התווסף בהצלחה השתמש באפשרות - --list-services :

sudo firewall-cmd --zone=public --list-services

ssh dhcpv6-client

כדי להשאיר את הפורט 80 פתוח לאחר אתחול מחדש הפעל את אותה הפקודה שוב עם האפשרות --permanent , או בצע:

sudo firewall-cmd --runtime-to-permanent

השתמש ב - --list-services יחד עם האפשרות --permanent כדי לאמת את השינויים שלך:

sudo firewall-cmd --permanent --zone=public --list-services

ssh dhcpv6-client

התחביר להסרת השירות זהה בעת הוספת שירות. פשוט השתמש --remove-service במקום את דגל --add-service :

sudo firewall-cmd --zone=public --remove-service=http --permanent

הפקודה שלמעלה מסירה את שירות http מהתצורה הקבועה של האזור הציבורי.

יצירת שירות FirewallD חדש

כפי שכבר הזכרנו, שירותי ברירת המחדל מאוחסנים בספריה /usr/lib/firewalld/services . הדרך הקלה ביותר ליצור שירות חדש היא להעתיק קובץ שירות קיים לספריית /etc/firewalld/services , שהוא המיקום של שירותים שנוצרו על ידי המשתמש ולשנות את הגדרות הקובץ.

לדוגמה, כדי ליצור הגדרת שירות עבור שרת המדיה של Plex, אתה יכול להשתמש בקובץ השירות SSH:

sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml

פתח את קובץ ה- plexmediaserver.xml החדש שנוצר plexmediaserver.xml את השם והתיאור הקצר עבור השירות בתוך ו תגיות. התג החשוב ביותר שעליך לשנות הוא תג port , המגדיר את מספר היציאה והפרוטוקול שברצונך לפתוח.

בדוגמה הבאה אנו פותחים יציאות 1900 UDP ו- 32400 TCP.

/etc/firewalld/services/plexmediaserver.xml

plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere. plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.

שמור את הקובץ וטען מחדש את שירות FirewallD:

sudo firewall-cmd --reload

כעת תוכל להשתמש בשירות plexmediaserver באזורים שלך זהה לכל שירות אחר.

פתיחת יציאות וכתובות IP של מקור

חומת האש מאפשרת לך גם לאפשר במהירות את כל התעבורה מכתובת IP מהימנה או ביציאה ספציפית מבלי ליצור הגדרת שירות.

פתיחת IP מקור

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

לדוגמה, כדי לאפשר את כל התעבורה הנכנסת החל מ- 192.168.1.10 באזור public , הפעל:

sudo firewall-cmd --zone=public --add-source=192.168.1.10

הפוך את הכלל החדש להתמשך:

sudo firewall-cmd --runtime-to-permanent

אמת את השינויים באמצעות הפקודה הבאה:

sudo firewall-cmd --zone=public --list-sources

192.168.1.10

התחביר להסרת ה- IP של המקור זהה להוספת אחד. פשוט השתמש --remove-source במקום --remove-source --add-source :

sudo firewall-cmd --zone=public --remove-source=192.168.1.10

פתיחת יציאת מקור

כדי לאפשר את כל התעבורה הנכנסת ביציאה נתונה, ציין את האזור עם האפשרות - אזור והיציאה והפרוטוקול עם האפשרות --add-port .

לדוגמה, לפתיחת יציאה 8080 באזור הציבורי למפגש הנוכחי שאתה מפעיל:

sudo firewall-cmd --zone=public --add-port=8080/tcp

הפרוטוקול יכול להיות tcp , dccp , dccp או dccp .

אמת את השינויים:

sudo firewall-cmd --zone=public --list-ports

8080

כדי להשאיר את היציאה פתוחה לאחר אתחול מחדש, הוסף את הכלל להגדרות הקבע על ידי הפעלת אותה פקודה באמצעות הדגל --permanent או על ידי ביצוע:

sudo firewall-cmd --runtime-to-permanent

התחביר להסרת יציאה זהה להוספת יציאה. פשוט השתמש --remove-port במקום באפשרות --add-port .

sudo firewall-cmd --zone=public --remove-port=8080/tcp

יציאות העברה

כדי להעביר תנועה מיציאה אחת לנמל אחר, ראשית אפשר להתחפש לאזור הרצוי באמצעות האפשרות --add-masquerade . לדוגמה, כדי לאפשר התחפשות לאזור external , הקלד:

sudo firewall-cmd --zone=external --add-masquerade

העבר תנועה מנמל אחד לשני בכתובת ה- IP

בדוגמה הבאה אנו מעבירים את התנועה מנמל 80 לפורט 8080 באותו שרת:

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080

העבר תנועה לכתובת IP אחרת

בדוגמה הבאה אנו מעבירים את התנועה מנמל 80 לפורט 80 בשרת עם IP 10.10.10.2 :

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2

העבר תנועה לשרת אחר בנמל אחר

בדוגמה הבאה אנו מעבירים את התנועה מנמל 80 לפורט 8080 בשרת עם IP 10.10.10.2 :

sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2

כדי להפוך את הכלל קדימה להתמיד, השתמש ב:

sudo firewall-cmd --runtime-to-permanent

סיכום

למדת כיצד להגדיר ולנהל את שירות חומת האש במערכת CentOS 8 שלך.

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

אבטחה של חומת אש