כל הזכויות שמורות לטל בן שושן – Shushan.co.il
הסבר על Firewall והתקנת pfsense
ניתן לקרוא על FW של צ'ק פוינט מדיע נוסף במאמר:
pfsense
pfsense – הוא Firewall "קוד פתוח" ונראה כי המתקדם ביותר מבחינת Firewall שהוא Open Source, המערכת מבוססת Free BSD למעשה pfsense הוא לא רק Firewall והוא מכיל בתוכו המון פיצ'רים, פיצ'רים כמו IDS\IPS, DLP, VPN ועוד
Firewall – לרוב יונח באמצע, הכוונה לאמצע היא שהוא יהיה ה Default Gateway, לרוב הDefault Gateway יהיה הראוטר שכן הוא זה שמוביל לאינטרנט, כאשר נניח Firewall באמצע, נאלץ להגדיר לכל המחשבים ברשת את הכתובת של הפורט בראוטר כ Default Gateway
בתצורה זו ה FW מחליף את הראוטר ומבצע את תפקידו של הראוטר, ככה כל חבילה שעוברת מהעולם אל הרשת "הפנימית" עוברת בדיקה של ה FW
למשל התרשים הבא
ניתן לראות שתי רשתות
192.168.1.0
192.168.5.0
כל המחשבים ברשתות האלו כאשר הם ירצו ל"דבר" התקשורת תעבור דרך ה FW וה FW יבצע בדיקה לכל Packet שעובר, כך למעשה יחליט האם מותר ל"מידע" הזה לעבור או לא, את ההחלטה הזו הוא מקבל ע"פ חוקי ה FW.
גם כאשר רשת פנימית רוצה לצאת לרשת החיצונית, היא עוברת בתוך ה FW ועדיין עוברת "סינון"
התקנת והגדרת pfsense והגדרת הרשת כולה
במאמר זה נתקין את pfsense ונסקור את כל האפשרויות הקיימות, בחלקים החשובים נתמקד.
בגלל ש pfsense הוא Inline Firewall ושאר האופציות בו הן כאלה, נעבוד על פי התרשים הבא:
ההתקנה כולה מבוצעת על Oracle VirtualBox
ע"פ התרשים נקים את ה pfsense ונגדיר את כרטיסי הרשת כך:
pfsense
כרטיס ראשון : Bridge Adapter
כרטיס שני: Internal Network, שם הסוויצ' הוירטואלי הוא intnet
metasploitable3-win2k8
זהו "המחשב הפגיע" הוא ישב מאחורי ה FW שכן נוכל לבדוק את החסימות ושאר הפיצ'רים שנתקין על מנת להקשיח את הרשת
כרטיס הרשת שלו הוא פנימי בלבד, הוא כן יוצא לאינטרנט שכן הוא עובר דרך ה FW ויוצא לאינטרנט
כרטיס ראשון: Internal Network, שם הסוויצ' הוירטואלי הוא intnet
Kali 2018
כרטיס הרשת של Kali הוא חיצוני, שכן ההדמיה שאנחנו רוצים לייצר זה של "הפצה של קאלי" מנסה לתקוף מחשב היושב מאחורי pfsense
כרטיס ראשון : Bridge Adapter
התקנת pfsense
נתחיל תחילה בהתקנת pfsense, את ההתקנה יש להוריד מאתר הרישמי
לאחר ההורדה, טענו את קובץ ה ISO לVM והתחילו בהתקנה
אישור
לחצו Enter
הבא
OK
לחצו על No
הוציא את הדיסק ISO מתוך ה VM והמשיכו לריסטארט
כעת לאחר שהמערכת עלתה, שני דברים קרו –
כתובת אחת הוקצתה לem0 שזה כרטיס רשת ה"חיצוני" שלנו ה Bridge – שהכתובת שקיבלנו מהDHCP שקיים אצלנו בראוטר הוא 192.168.31.61
כתובת אחת הוקצתה 192.168.1.1 ככתובת לרשת הפנימית, ואת זה ה pfsense קבע
ע"פ התרשים, אנו צריכים לשנות את הכתובת של em1 לכתובת 192.168.5.10
כאשר pfsense עלה נרשום 2 על מנת לשנות את כתובת ה IP
2
כעת נבחר שוב באפשרות 2 שכן זה כתובת סטטית
כעת נזין את כתובת ה IP שהחלטנו
192.168.1.10
נלחץ Enter
כעת נבחר את ה Prefix של הרשת שהוא 24 ושוב נלחץ enter ואז בכתובת ה gateway שוב enter (בלי להזין כלום) וגם כאשר הוא דורש כתובת IPv6
נסמן לא n
כעת במחשב ה Metasploitable3 או במחשב (שזה שיושב מאחורי ה FW)
נזין את הIP כמו שצריך
הגדרה ראשונית pfsense
לאחר מכן נפתח את הדפדפן ונגלוש לכתובת 192.168.5.10, שכן זה הכתובת של em1 ב pfsense
שם המשתמש: admin
סיסמא: pfsense
נלחץ על הבא
הבא
כאן נזין רק את ה DNS של גוגל (או 1.1.1.1)
נשנה את ה Timezone לירושלים
נרד הכי למטה ונלחץ Next (יש כאן אפשרויות שנשנה, אבל נעשה את זה בשלב מאוחר יותר)
נראה שהכתובת תקינה, נלחץ הבא
חובה לשנות את הסיסמא ל pfsense (זכרו אותה)
כעת לחצו Reload
כעת לחצו על Click here to… pfsense webConfigureator
ברוכים הבאים ל pfsense!
במסך הראשי נוכל להבחין בכל פרטי המערכת, קרנל, סוג המעבד,כתובות ה DNS, מתי שונה לאחרונה ומצד ימין את מצב הפורטים
למטה יותר ניתן להבחין בRAM וCPU בשימוש על ידי ה pfsense
כעת לפני שנתחיל בהסברים,
*לא חובה – ניתן להגדיר גישה לpfsense מתוך המחשב הפיזי (זה שעליו יושבים כל ה VM's ) כדי שיהיה קל יותר לעבוד
נלחץ על Interfaces ואז WAN
הכי למטה, יש 2 סעיפים
Block private networks and loopback addresses – חסימה של רשתות פנימיות כמו 192.168.0.0 או 10.0.0.0 או 172.16/12 וכו' שכן לא הגיוני שכתובות פנימיות יגיעו מהWAN (רשת חיצונית) ועוד ינסו לגשת לpfsense (לכן רק הכתובת ה"פנימית" שמגיעה מהפורט של ה LAN יש גישה ל pfsense
block bogon networks – רשתות ששמורות ע"פ IANA ולכן לא יכול להיות שהם מנותבות ברשת בעולם ויגיעו לFirewall שלנו
נסיר את 2 הV האלו על מנת לבצע בדיקות והאפשרות הראשונה זה לאפשר לרשת שלנו ה WAN שזה רשת 192.168.31.0 להתחבר ל pfsense ולחצו save
עדיין לא סיימנו! חסר רק לפתוח חוק ב FW, נגיע ל Firewall ואז Rules
נלחץ על Add
ב Destination נבחר ב this Firewall ואז בפורטים נזין 443 ואז save
כעת נלחץ Apple Changes
וננסה לגשת מהדפדפן של המחשב הפיזי
אפשרויות pfsense
System -> Advance
כעת נסקור את האפשרויות החשובות ביותר (שאר הפונקציות גם חשובות אך מבחינת הפעילות היום יומית אלו הדברים הקריטיים ביותר
ב System -> Advance
לשונית : Admin Access
ניתן להגדיר ש pfsense לפחות ה WebUI יעבוד ב http (לא רצוי ופחות מאובטח) ולשנות את הפורט של הפאנל
כאן ניתן להגדיר האם יהיה אפשר להתחבר SSH, לחלק זה חשוב על מנת להתחבר מרחוק לFW ולנהל אותו דרך Putty, רק אל תשכחו שאם הפעלת אפשרות זו, פתחו את הפורט בחוקי ה FW
בלשונית: Firewall & NAT
באפשרות Disable Firewall ניתן לבטל את ה Firewall עצמו בכך שלא ינתח את ה Packets
ניתן להשתמש בפונקציה זו על מנת לבדוק תקלה שחושדים שה FW חוסם
*אפשרות נוספת אם יש בעיה עם תקשורת של שרתי NFS ( מסוג Share) אפשר לבטל אפשרות זו על מנת לשלול אם הבעיה היא ב FW
אפשרויות אלו שייכות לNAT, ביצוע NAT כתובת תמורת כתובת 1:1 או הגדרת הNAT כלפי פורטים
כרגע אין לנו צורך להגדיר NAT
בלשונית: Networking
ניתן לבטל לחלוטין IPv6 ולחסום אותו, הסיבה שיש מערכות שעובדות עם IPv6 בשביל גילוי וכו' (לא בשביל לעבוד באופן תקין) ולפעמים יש בעיות אבטחה בפרוטוקול הזה ולכן אם בארגון בו הנחתם את ה pfsense ולא מוגדר שום רכיב לעבוד ב IPv6 אפשר לבטל את ה V וכל ה IPv6 ייחסם
בלשונית Notfications
ניתן להגדיר שרת דואר ואז להגדיר שישלחו אליכם התראות
בארגון זה פיצ'ר מאוד חשוב שכן כך תוכלו להיות תמיד בעדכונים לגבי חסימות, בעיות וכו'
System – > Cert Manager
בלשונית זו ניתן להגדיר תעודת אבטחה (בלשונית Certifiacte)
כרגע התעודה שקיימת כפי שניתן להבחין היא Self Signed Certificate
System – > General Setup
כאן נוכל לשנות את שם השרת, להגדיר דומיין אם קיים ולהגדיר DNS של השרת עצמו
למטה קצת ניתן להגדיר את עיצוב המערכת (לחלק זה חשוב) ולשנות את תצורת מבנה הפאנל
System – > Package Manager
פונקציה זו נותנת לנו את האפשרות להוריד פצ'רים מהאינטרנט כמו IDS IPS או DLP ועוד
במאמר אחר באתר של הגדרת IDP\IPS ניתן לבצע את המדריך
Interfaces – > WAN & LAN
כאן ניתן להגדיר לWAN את כתובת ה IP שלו ולLAN את כתובת ה IP שלו
זה דרוש כאשר רוצים לשנות כתובת, או כאשר הוספנו פורט למערכת, ניתן גם לבטל או להפעיל פורט קיים
Firewall
הפיצ'ר המרכזי ב pfsense
האופציה הראשונה שנכנס היא
Firewall – > NAT
באופציה זו ניתן להגדיר NAT לכל כיוון ברשת, למשל אני מעוניין להגדיר שטווח כתובות מאחרו יה FW יצאו לרשת X עם טווח אחר או יסתתרו מאחורי כתובת IP אחת, אני מגדיר כאן
Firewall – > Rules
בפיצ'ר זה נראה כיצד לפתוח פורט, כאשר אני מעוניין להוסיף חוק חדש, למשל שמאפשר
לפני כן נבחין שיש 2 סטים של חוקים, LAN ו WAN ויכול להיות יותר
זה לפי הרשתות שיש לכם בארגון האם החוקים חלים על רשת X או רשת Y וכו'
אצלנו רשת ה LAN היא 192.168.5.0
רשת ה WAN היא 192.168.31.0 (הרשת הפיזית, גם למחשב הפיזי שמחזיק את ה VM יש כתובת בטווח הזה)
כעת נבצע סוג של מעבדה של ניסיון התחברות ב SSH לpfsense, בדיקה האם התקשורת נחסמה וכיצד פותחים אותה.
מעבדונת
נאפשר SSH תחילה ב System – > Advanced
נסמן V ב Enable SSH ושמור
כעת ננסה להתחבר דרך Putty, נקבל את השגיאה
השגיאה היא בגלל שיש חסימה שעלינו לפתוח ב Firewall
כיצד בודקים אם יש חסימה?
נלך ללשונית
Status – > System Logs -> Firewall
כעת נלחץ על ה Filter על מנת לסנן את הכתובת שלנו בלבד או הפורט בלבד וכו'
נוכל לסנן לפי הכתובת שממנה אנחנו מנסים, או אל הכתובת אבל בגלל שאנחנו יודעים שהפורט הוא SSH והוא 22 , נפלטר רק לפי הפורט
ונוכל לראות שיש חסימה, כעת שאנו יודעים שיש חסימה, נפתח אותה בRules
נפתח חוק חדש, האם נלחץ Add למטה או למעלה? אל תשכחו! חוקי FW מבוססים על מי מעל מי ולכן לרוב נלחץ על Add עם החץ למעלה
כמו בתמונה
נשאיר את החוק על Pass שכן כאן ניתן לקבוע האם החוק יחסום או יעביר את ה Packet
ה Interface הוא חשוב, שכן מאיזה פורט \ רשת תגיע התקשורת הזו?
אנחנו רוצים להגיע מרשת ה WAN אל תוך הכתובת של ה FW (להתחבר בSSH אליו), אז מעולה
הפרוטוקול הוא IPv4 והפרוטוקול הוא TCP
ב Source על מנת לדייק נוכל להכניס כתובת של המחשב הפיזי או לכולם, כעת נגדיר לכולם
וב Destination נגדיר את ה FW עצמו ובפורט את 22 SSH
כעת נשמור ואז Apply Changes, כל השינויים שבוצעו ישמרו כעת למערכת
ניתן להתחבר!!
Services
מכיל שירותי רשתות רבים שבהם ניתן להשתמש , אם אינכם מכירים חלק בצעו עליהם מחקר ותוכלו להגדיר אותם גם כאן
VPN
קיימים באתר מאמרים רבים המסבירים את פעולת ה VPN, ניתן לקרוא באתר ובמאמר אחר באתר להפעיל את ה VPN של pfsense
Status
כאן יוצג לכם "סטטוס" של כל פיצ'ר שהפעלתם כמו הSystem Logs של הפיירוואל עצמו וכו'
אבל פיצ'ר אחד כאן טוען את קבצי הקונפיגורציה והוא חשוב כאשר לא נטען רכיב מסוים והוא ה Filter Reload
אם אתם מקבלים שגיאה, כנראה שיש בעיה באחד הרכיבים ואם הכל נטען אז רוב הסיכויים שהכל תקין
Diagnostics
כאן נמצאים כמה הגדרות חשובות
Backup – גיבוי ושחזור של ההגדרות
Command Propmt – גישה לTerminal, שליחת פקודה ישירות מכאן
DNS Lookup – בדיקה של DNS ובכך לבדוק אם יש בעיית DNS בpfsense
Packet Capture – בדיקה של Packets שעוברים ברשת ולבדוק אם יש תקלה
Ping – ביצוע פינג לתחנה מסוימת
Routes – בדיקת טבלת הניתוב של pfsense
גם שאר הפיצ'רים חשובים, אבל זה אם אתם צריכים באותו הרגע כמו שאר הפי'צרים שכאן
כדי שKALI או כל מחשב בצד של הWAN יכיר את הרשת יש להוסיף ניתוב כך:
כעת בשביל שיהיה פינג בין התחנה בWAN לתחנה בLan נגדיר את חוקי הפיירואל
נלך ל Firewall – > Rules -> WAN
ונלחץ על Add
נגדיר את הפורטוקול ל ICMP ונשאיר הכל על Any
כעת נשמור ונחיל את החוק