Настройка firewall в CentOS 7 (firewalld)
תוכן עניינים:
- תנאים מוקדמים
- מושגי חומת אש בסיסיים
- אזורי חומת אש
- שירותי חומת אש
- הגדרות קבע של חומת אש והגדרות קבועות
- התקנה והפעלה של FirewallD
- עבודה עם אזורי חומת אש
- שינוי אזור ממשק
- שינוי אזור ברירת המחדל
- פתיחת נמל או שירות
- יצירת שירות FirewallD חדש
- העברת נמל עם חומת אש
- יצירת ערכת כללים עם FirewallD
- סיכום
חומת אש המוגדרת כהלכה היא אחד ההיבטים החשובים ביותר של אבטחת המערכת הכללית.
FirewallD הוא פיתרון חומת אש מלא שמנהל את כללי ה- iptables של המערכת ומספק ממשק D-Bus להפעלה עליהם. החל מ- CentOS 7, FirewallD מחליף iptables ככלי ברירת המחדל של ניהול חומת האש.
במדריך זה אנו מראים לך כיצד להגדיר חומת אש עם FirewallD במערכת CentOS 7 שלך ולהסביר לך את המושגים הבסיסיים של FirewallD.
תנאים מוקדמים
לפני שתתחיל עם מדריך זה, וודא שאתה מחובר לשרת שלך עם חשבון משתמש עם הרשאות sudo או עם משתמש השורש. השיטה הטובה ביותר היא להריץ פקודות ניהוליות כמשתמש sudo במקום כשורש. אם אין לך משתמש Sudo במערכת CentOS שלך, אתה יכול ליצור אחד על ידי ביצוע ההוראות הבאות.
מושגי חומת אש בסיסיים
FirewallD משתמש במושגים של אזורים ושירותים, במקום שרשרת iptables וכללים. בהתבסס על האזורים והשירותים שתגדיר, אתה יכול לשלוט באיזו תנועה מותרת או אסורה למערכת וממנה.
ניתן להגדיר ולנהל את
firewall-cmd
בעזרת כלי שורת הפקודה של
firewall-cmd
.
אזורי חומת אש
אזורים הם קבוצות כללים מוגדרות מראש המפרטות לאיזו תנועה יש לאפשר על סמך רמת האמון ברשתות שאליהן מחובר המחשב. ניתן להקצות ממשקי רשת ומקורות לאזור.
להלן האזורים המסופקים על ידי FirewallD שהוזמנו על פי רמת האמון של האזור מבלתי אמון לאמון:
- ירידה: כל החיבורים הנכנסים מושמטים ללא כל הודעה. רק חיבורים יוצאים מותרים. חסום: כל החיבורים הנכנסים נדחים באמצעות הודעה
icmp-host-prohibited
עלicmp6-adm-prohibited
עבורIPv4
ו-icmp6-adm-prohibited
עבור IPv6n. רק חיבורים יוצאים מותרים. ציבורי: לשימוש באזורים ציבוריים לא מהימנים. אינך סומך על מחשבים אחרים ברשת, אך אתה יכול לאפשר חיבורים נכנסים שנבחרו. חיצוני: לשימוש ברשתות חיצוניות עם הפעלת מסכות NAT כאשר המערכת שלך פועלת כשער או נתב. מותר להשתמש רק בחיבורים נכנסים שנבחרו. פנימי: לשימוש ברשתות פנימיות כאשר המערכת שלך פועלת כשער או נתב. מערכות אחרות ברשת מהימנות בדרך כלל. מותר להשתמש רק בחיבורים נכנסים שנבחרו. dmz: משמש למחשבים שנמצאים באזור המפורז שלך עם גישה מוגבלת לשאר הרשת שלך. מותר להשתמש רק בחיבורים נכנסים שנבחרו. עבודה: משמש למכונות עבודה. בדרך כלל מהימנים על מחשבים אחרים ברשת. מותר להשתמש רק בחיבורים נכנסים שנבחרו. בית: משמש למכונות ביתיות. בדרך כלל מהימנים על מחשבים אחרים ברשת. מותר להשתמש רק בחיבורים נכנסים שנבחרו. מהימן: כל חיבורי הרשת מתקבלים. סמוך על כל המחשבים ברשת.
שירותי חומת אש
שירותי חומת אש הם כללים מוגדרים מראש החלים באזור ומגדירים את ההגדרות הדרושות כדי לאפשר תנועה נכנסת לשירות ספציפי.
הגדרות קבע של חומת אש והגדרות קבועות
חומת האש משתמשת בשתי מערכות תצורה מופרדות, זמן ריצה ותצורה קבועה.
תצורת זמן הריצה היא תצורת הריצה בפועל והיא אינה מתמשכת בהפעלה מחדש. כאשר שירות Firewalld מתחיל, הוא טוען את התצורה הקבועה, שהופכת לתצורת זמן הריצה.
כברירת מחדל, בעת ביצוע שינויים בתצורת חומת האש באמצעות כלי השירות של
firewall-cmd
ה-
firewall-cmd
, השינויים מוחלים על תצורת זמן הריצה. כדי להפוך את השינויים לקבועים עליך להשתמש באפשרות
--permanent
.
התקנה והפעלה של FirewallD
-
חומת האש מותקנת כברירת מחדל ב- CentOS 7, אך אם היא לא מותקנת במערכת שלך, אתה יכול להתקין את החבילה על ידי הקלדה:
sudo yum install firewalld
שירות חומת האש מושבת כברירת מחדל. אתה יכול לבדוק את מצב חומת האש באמצעות:
sudo firewall-cmd --state
כדי להפעיל את שירות FirewallD ולהפעיל אותו בסוג האתחול:
sudo systemctl start firewalld
sudo systemctl enable firewalld
עבודה עם אזורי חומת אש
לאחר הפעלת השירות FirewallD לראשונה, האזור
public
מוגדר כאזור ברירת מחדל. ניתן להציג את אזור ברירת המחדל על ידי הקלדה:
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
public interfaces: eth0 eth1
התפוקה שלמעלה מגלה לנו ששני הממשקים
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:
מהפלט שלמעלה, אנו יכולים לראות שהאזור הציבורי פעיל ומוגדר כברירת מחדל, ומשמש גם את ממשקי
eth0
וגם
eth1
. כמו כן, הקשרים הקשורים ללקוח DHCP ו- SSH מותרים.
sudo firewall-cmd --list-all-zones
הפקודה מדפיסה רשימה ענקית עם ההגדרות של כל האזור הזמין.
שינוי אזור ממשק
ניתן לשנות את אזור הממשק בקלות על ידי שימוש באפשרות -
--zone
בשילוב עם
--change-interface
. הפקודה הבאה תקצה את ממשק
eth1
לאזור העבודה:
sudo firewall-cmd --zone=work --change-interface=eth1
אמת את השינויים על ידי הקלדה:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
שינוי אזור ברירת המחדל
לשינוי אזור ברירת המחדל, השתמש
--set-default-zone
ואחריו שם האזור שברצונך להגדיר כברירת מחדל.
לדוגמה, כדי לשנות את אזור ברירת המחדל לבית, עליך להפעיל את הפקודה הבאה:
sudo firewall-cmd --set-default-zone=home
אמת את השינויים באמצעות:
sudo firewall-cmd --get-default-zone
פתיחת נמל או שירות
באמצעות FirewallD אתה יכול לאפשר תנועה עבור יציאות ספציפיות על בסיס כללים מוגדרים מראש הנקראים שירותים.
כדי לקבל רשימה של כל סוגי השירותים המוגדרים כברירת מחדל:
sudo firewall-cmd --get-services
תוכל למצוא מידע נוסף על כל שירות על ידי פתיחת קובץ ה-.xml המשויך בספריית
/usr/lib/firewalld/services
. לדוגמה, שירות HTTP מוגדר כך:
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
sudo firewall-cmd --permanent --zone=public --add-service=http
השתמש ב -
--list-services
יחד עם האפשרות
--permanent
כדי לאמת את השינויים שלך:
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
התחביר להסרת השירות זהה להוספת שירות. פשוט השתמש
--remove-service
במקום
--remove-service
--add-service
:
sudo firewall-cmd --zone=public --remove-service=http --permanent
הפקודה שלמעלה מסירה את שירות http מהתצורה הקבועה של האזור הציבורי.
מה אם אתה מנהל יישום כמו Plex Media Server שעבורו אין שירות מתאים?
במצבים כמו אלה עומדות בפניכם שתי אפשרויות. אתה יכול לפתוח את היציאות המתאימות או להגדיר שירות FirewallD חדש.
לדוגמה, שרת ה- Plex מקשיב ביציאה 32400 ומשתמש ב- TCP, כדי לפתוח את היציאה באזור הציבורי לסשן הנוכחי, השתמש באפשרות
--add-port=
:
sudo firewall-cmd --zone=public --add-port=32400/tcp
פרוטוקולים יכולים להיות
tcp
או
udp
.
כדי לוודא
--list-ports
נוספה בהצלחה השתמש באפשרות -
--list-ports
:
sudo firewall-cmd --zone=public --list-ports
32400/tcp
כדי להשאיר את הפורט
32400
פתוח לאחר אתחול מחדש, הוסף את הכלל להגדרות הקבע על ידי הפעלת אותה פקודה באמצעות האפשרות
--permanent
.
התחביר להסרת יציאה זהה להוספת יציאה. פשוט השתמש
--remove-port
במקום באפשרות
--add-port
.
sudo firewall-cmd --zone=public --remove-port=32400/tcp
יצירת שירות 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.
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
באזורים שלך זהה לכל שירות אחר..
העברת נמל עם חומת אש
כדי להעביר תנועה מיציאה אחת ליציאה או כתובת אחרת, הפעל תחילה התחפשות לאזור הרצוי באמצעות מתג
--add-masquerade
. לדוגמה כדי לאפשר התחפשות לסוג אזור
external
:
sudo firewall-cmd --zone=external --add-masquerade
- העבר תנועה מנמל אחד למשנהו באותו שרת
בדוגמה הבאה אנו מעבירים את התנועה מנמל
80
לפורט
8080
באותו שרת:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
- העבר תנועה לשרת אחר
בדוגמה הבאה אנו מעבירים את התנועה מנמל
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
יצירת ערכת כללים עם FirewallD
בדוגמה הבאה נציג כיצד לקבוע את התצורה של חומת האש שלך אם אתה מפעיל שרת אינטרנט. אנו מניחים שלשרת שלך יש רק
eth0
ממשק אחד, ואתה רוצה לאפשר תנועה נכנסת רק ביציאות SSH, HTTP ו-
-
שנה את אזור ברירת המחדל ל- dmz
אנו נשתמש באזור dmz (מפורז) מכיוון שברירת המחדל הוא מאפשר רק תנועת SSH. כדי לשנות את אזור ברירת המחדל ל- dmz ולהקצות אותו לממשק
eth0
, הפעל את הפקודות הבאות:sudo firewall-cmd --set-default-zone=dmz
sudo firewall-cmd --zone=dmz --add-interface=eth0
פתח יציאות HTTP ו-
לפתיחת יציאות HTTP ו- HTTPS להוסיף כללי שירות קבועים לאזור dmz:
sudo firewall-cmd --permanent --zone=dmz --add-service=http
sudo firewall-cmd --permanent --zone=dmz --add-service=https
בצע את השינויים בתוקף באופן מיידי על ידי טען מחדש של חומת האש:
sudo firewall-cmd --reload
אמת את השינויים
כדי לבדוק את הגדרות התצורה של אזור dmz:
sudo firewall-cmd --zone=dmz --list-all
dmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
הפלט שלמעלה אומר לנו ש- dmz הוא אזור ברירת המחדל, מיושם על ממשק
eth0
והיציאות ssh (22) http (80) ו- https (443) פתוחות.
סיכום
למדת כיצד להגדיר ולנהל את שירות FirewallD במערכת CentOS שלך.
הקפד לאפשר את כל החיבורים הנכנסים הנחוצים לתפקוד תקין של המערכת שלך, תוך הגבלת כל החיבורים המיותרים.
iptables אבטחה של Centos - -כיצד להגדיר ולהגדיר את הגדרות חומת האש של הנתב

למד כיצד להגדיר את חומת האש של הנתב, לגשת לדף הנתב בחומרה, להגדיר את הגדרות חומת האש של הנתב. גלה אילו יציאות נחוצות במחשב.
כיצד להגדיר חומת אש עם ufw ב- debian 9

UFW (Firewall Uncomplicated Firewall) הוא חזית ידידותית למשתמש לניהול כללי חומת האש של ה- iptables והמטרה העיקרית שלה היא להקל על ניהול ה- iptables או כפי שהשם אומר לא מסובך. במדריך זה נראה לך כיצד להתקין חומת אש עם UFW ב- Debian 9.
כיצד להגדיר חומת אש עם ufw באובונטו 18.04

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