Download presentation
Presentation is loading. Please wait.
1
סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר
2
מטרות הפרויקט בניית ממשק אינטרנטי לIPtables לימוד יסודות של תקשורת נתונים הכרת IPTables\IPChains ושימושיו –Firewall –NAT הכרת מערכות UI אינטרנטיות: –PHP –Java Applet + Servlet
3
מוטיבציה : IPTables היא מערכת מסובכת להפעלה.( והנה המדריך למערכת ).
4
במערכת שאותה בנינו ניתן לשלוט בעזרת מספר לחיצות עכבר.
5
מה עושים עם IPTables בכלל ? Firewall – כלי לשמירה על הרשת הפנימית ע"י סינון חבילות הIP לפי חוקיות מסויימת. NAT – כלי למימוש רשת שלמה תחת כתובת IP אחת ע"י החלפה בין ריבוי כתובות IP (בתוך הרשת) לכתובת IP אחת עם הרבה Port-ים (מחוץ לרשת) כל רעיון נוסף שניתן לממש ע"י משחק בחבילות IP על פי חוקיות מתאימה.
6
מבנה הפרויקט : הפרויקט מתחלק ל2 חלקים: –ממשק משתמש בJAVA Applet/Servlet הרץ על שרת tomcat –סוכן הכתוב בC ומורץ ע"י cron עם הרשאות root
7
clientserver agent סביבת העבודה back to back fire wall ה agent נמצא במקום הבטוח ביותר ( הגישה היחידה המותרת היא מהא tomcat) שרת ה tomcat נמצא באזור החיץ, קיימת אליו גישה מהאינטרנט אין גישה ישירה מהאינטרנט ל agent
8
הלקוח ה UI מבוסס על applet שהלקוח מקבל משרת הweb ומתקשר עם ה servlet. applet היא תכנית java קטנה הרצה על הדפדפן של הלקוח. בפרויקט שלנו רץ על דפדפן הלקוח class היורש מapplet ויוצר את מבנה הUI באמצעות הספריה Swing client
9
השרת העבודה בצד השרת מבוססת על servlet -תוכנית java הרצה בצד השרת ומממשת DoGet וDoPost בדומה ל CGI script. ה servlet מנתח בקשות של הלקוח ומחזיר נתונים בהתאם או משנה את מבנה הנתונים לפי בקשת הלקוח הservlet מתקשר עם הAgent באופן מסונכרן ומושך את מצב החוקים הנוכחי או דוחף מצב חוקים חדש ודורס את הקיים. התקשורת בין השרת וה agent מבוססת על קבצים. server
10
חלוקת המחלקות בין השרת והלקוח (Java classes) Server side common GUI 1. המניע העיקרי לבחירת צורת החלוקה היה העברת מינימום מחלקות בין השרת ללקוח. 2. כדי שהשרת והלקוח יוכלו להעביר מידע ביניהם עליהם להכיר מספר מחלקות משותפות הפתרון הוא הפרדה ל 3 חבילות (package) שרת לקוח משותף בשרת יש את כל המחלקות המטפלות בקבצים ובתקשורת עם ה agent בלקוח יהיו כל המחלקות המגדירות את ממשק המשתמש במחלקה המשותפת תהינה מחלקות המחזיקות את המידע על החוקים וקבועים נוספים.
11
קבצים להעברה מהשרת הסוכן : כל דקה מופעל הסוכן ובודק האם התקבל סימן מהשרת. גם אם לא, מתבצע עדכון של הקבצים אל השרת על פי הנתונים המתקבלים מ IPTable טבלת filter טבלת nat טבלת mangle הסוכן - agent תכנית C טבלאות iptables IPTABLES Iptables-save קבצים להעברה אל השרת טבלת filter טבלת nat טבלת mangle קובץ הגדרות
12
קבצים להעברה מהשרת הסוכן : כאשר מתקבל איתות מהשרת מתבצעת השמה של הנתונים מהשרת לתוך IPTables ואחר כך מעודכנים הקבצים אל השרת. טבלת filter טבלת nat טבלת mangle הסוכן - agent תכנית C טבלאות iptables IPTABLES Iptables-save קבצים להעברה אל השרת טבלת filter טבלת nat טבלת mangle קובץ הגדרות
13
התקשורת בין השרת והסוכן : העברת הנתונים נעשית ב3 קבצי טבלאות שמספר העמודות בהם N מוגדר מראש, והתו המפריד בין שדה לשדה הוא Newline. בקבצים אלה כל N שורות הן שורה בטבלה. הסנכרון בין השרת לסוכן נעשה באמצעות 3 דגלים (קבצים המכילים את הספרה 1 או 0). דגל לכל אחד מהצדדים המורם כשאותו צד מתחיל לעבוד ומורד כשהוא מסיים ודגל נוסף שבאמצעותו מסמן השרת לסוכן כי יש לבצע השמה של חוקים לIPTables
14
Demo
15
מה למדנו Server –עבודה מול שרת tomcat –עבודה עם webserver ו servlet conteiner PHP – השתמשנו בשפה בכדי לבנות UI מקביל לקיים –למדנו את מגבלות השפה Networking –ipTables –מודל 7 השכבות –ניתוב ברשת –הגנה Java –Servlet –Applet –UI-swing –RMI
16
בעיות שעברנו התחלנו במימוש ה UI בטכנולוגית CGI בשפת PHP –נחיתות מבחינה גרפית –מעט מדי out of the box
17
בעיות מעבר מסביבת windows ל Linux –עיקר פיתוח ה UI היה בסביבת windows בעיות security של java –Applet לא assigned לא יכול לבצע בקשה לתקשורת ללא אישור Bugs
18
כלים Intellij - כלי פיתוח ל java, אשר נותן גם יכולות UI מצוינות Zend – כלי לפיתוח php Dreamweaver – כלי לעיצוב ופיתוח אתרי איטרנט Visual studio – כלי פיתוח ל C\C++
19
אפשרויות לפיתוח נוסף הצפנה בתקשורת בין server ל סוכן ניצול אפשרויות רבות נוספות הקיימות בIPTables פיצול בין השרת לסוכן הוספת ניתור זמן אמת החיבורים הפעילים ברשת
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.