11 קלח - Iptables -ו FirewallD תועצמאב תשרה תרובעת תרקבו שאה תמוח תודוסי :RHCSA תרדס


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

.RHEL 7 -ב .אוה םג ןימז רשאו ,בטיה םיריכמ תשרהו תכרעמה ילהנמ בורש ,Linux רובע םדוק רודמ שאה תמוח תוריש ,iptables תורישו Red Hat Enterprise Linux 7 -ב תימנידה שאה תמוח לש לדחמה תרירב ןומד ,

Iptables -ל FirewallD ןיב האוושה

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

:(שמתשמה קשממ לש הרוצתה ילכ איה שא תמוח תרוצת) תואבה תודוקפה תועצמאב תמאל לוכי התא .תלעופ הניא איהש ןכתיי יכ םא ,ךלש RHEL -ה תכרעמב לדחמ תרירבכ Firewalld תא ןיקתהל שי

# yum info firewalld firewall-config

,םגו

# systemctl status -l firewalld.service

.ותועצמאב ןיקתהל ןתינ ךא ,לדחמ תרירבכ לולכ וניא iptables -ה תוריש ,ינש דצמ

# yum update && yum install iptables-services

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

# systemctl start firewalld.service | iptables-service.service
# systemctl enable firewalld.service | iptables-service.service

Systemd יתוריש לוהינל תוישומיש תודוקפ :םג ארק

:ךכ הארנ הז ץבוק ,תולוכשא תמוצכ תשמשמה RHEL 7 הביתב .(ךלש תכרעמב תנקתומ אל הליבחה םא םייק היהי אלש) /etc/sysconfig/iptables -ב שמתשמ iptables תוריש ,הרוצתה יצבקל רשאב

:/etc/firewalld /usr/lib/firewalld ,תוירפס יתשב התרוצת תא תנסחאמ firewalld -ש דועב

# ls /usr/lib/firewalld /etc/firewalld

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

# man firewalld.conf
# man firewall-cmd
# man iptables

.ךלש RHEL 7 תכרעמב תונקתומה תוליבחה לע עדימ לבקל לכות םהבש תורוקמ המכ יתראית םש ,תיחכונה הרדסב 1 קלח - תכרעמ דועיתו תוינויח תודוקפ תריקסב טבמ ףיעהל רוכז ,תאז דבלמ

תשרה תרובעת תרקבל Iptables -ב שומיש

.תואמגודה לא רשי ץופקל לכונ ,ךכיפל .האלה ךישמתש ינפל iptables ימינפ יבגל ךנורכיז תא ןנערל ידכ Linux Foundation Certified Engineer (LFCE) תרדסמ 8 קלח - Iptables לש שאה תמוח תרדגה ל סחייתהל

:אבה ןפואב enp0s3 קשממב תואיציה יתש ךרד תאצויו תסנכנ טנרטניא תרובעת רשפאל ךתורשפאב .(HTTPS) תחטבואמו (HTTP) הליגר טנרטניא תרובעתב לופיטל Apache טנרטניאה תרש תא תושמשמה לדחמה תרירב תואיצי ן

# iptables -A INPUT -i enp0s3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -o enp0s3 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
# iptables -A INPUT -i enp0s3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -o enp0s3 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

:לשמל 192.168.1.0/24 חיננ ,תיפיצפס תשרב ורוקמש (והשלכ גוס וא) הרובעתה גוס לכ תא םוסחל ךילע םהבש םירקמ ונכתי

# iptables -I INPUT -s 192.168.1.0/24 -j DROP

,וליאו ,192.168.1.0/24 תשרמ תועיגמש תוליבחה לכ תא ליפת

# iptables -A INPUT -s 192.168.1.0/24 --dport 22 -j ACCEPT

.22 למנ ךרד קר תסנכנ העונת רשפאי

:ןמקלדכ ,1 -ל net.ipv4.ip_forward לש ךרעה תא רידגהלו /etc/sysctl.conf תא ךורעל ךילע ,אל םא .ךלש תכרעמב תלעפומ רבכ תויהל תבייח IP תרבעה ,תודרפנ תותשר יתש ןיב תמקוממ איהש ךכ ,

net.ipv4.ip_forward = 1

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

# sysctl -p /etc/sysctl.conf

:אבה iptables -ה ללכ תא ףיסוהל ךילע ,שאה תמוח לש ינשה דצב תוחוקלמ הספדה תושקב ריבעהל תנמ לע .(ךלש שאה תמוחב םגו הספדהה תרשב םג) 631 האיציב ןיזאמ CUPS תוריששכ ,IP 192.168.0.10 םע תימינפ הספ

# iptables -t nat -A PREROUTING -i enp0s3 -p tcp --dport 631 -j DNAT --to 192.168.0.10:631

.ליעל תואמגודב םיראותמה הלא תא םיפקוע םניא רתוי םירחואמ םיללכ וא לדחמה תרירב תוינידמ יכ אדוו ןכל ,ףצרב ויללכ תא ארוק iptables יכ רוכז אנא

FirewallD םע הדובעה תליחת

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

:םיליעפה םירוזאה תמישרל

# firewall-cmd --get-active-zones

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

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

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

.שמתשה ,םיכמתנה םיתורישה לש המישר לבקל ידכ

# firewall-cmd --get-services

:םיאבה םייפגמבו ידיימ ןפואב ףקותש ,שאה תמוח ךרד https -ו http לש טנרטניא תרובעת רשפאל ידכ

# firewall-cmd --zone=MyZone --add-service=http
# firewall-cmd --zone=MyZone --permanent --add-service=http
# firewall-cmd --zone=MyZone --add-service=https
# firewall-cmd --zone=MyZone --permanent --add-service=https
# firewall-cmd --reload

.(cmd –get-default-zone-שא תמוח תועצמאב קודבל לוכי התא) לדחמה תרירב רוזאב שומיש השענ ,טמשומ רוזא– <דוק םא

.הלעמלש תודוקפב remove ב add הלימה תא ףלחה ,ללכה תא ריסהל ידכ

:יוצרה רוזאה רובע תלעפומ תוזחתה תלעפה םא ררבל םכילע ,תישאר

# firewall-cmd --zone=MyZone --query-masquerade

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

:רוביצל תוזחתה רשפאל ךתורשפאב

# firewall-cmd --zone=public --add-masquerade

:firewallld םע 3 המגוד תא לפכשל ונישעש המ הנה .ינוציחב הווסמב שמתשה וא

# firewall-cmd --zone=external --add-forward-port=port=631:proto=tcp:toport=631:toaddr=192.168.0.10

.שאה תמוח תא שדחמ ןועטל וחכשת לאו

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

RHEL 7 -ב שאה תמוח תרדגהל תואמגוד ישומיש Firewall :םג ארק

םוכיס

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