19
טטטטט טטטטטט טטטטט טטטטטט טטטט טטטטט ט טטטט טטטטט טIPTables\IPChains IPTables\IPChains טטטטטט: טטטטט טטטטטטטטט- טטטטט טטטטטטט

סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

  • View
    232

  • Download
    6

Embed Size (px)

Citation preview

Page 1: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

סקירת פרויקט סקירת פרויקט IPTables\IPChainsIPTables\IPChains ממשק משתמש לממשק משתמש ל

מגישים: רוברט ביטרפלד

ואוהד רוטביין-שר

Page 2: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

מטרות הפרויקטמטרות הפרויקט

בניית ממשק אינטרנטי לIPtablesלימוד יסודות של תקשורת נתונים הכרתIPTables\IPChainsושימושיו

–Firewall–NAT

הכרת מערכותUI:אינטרנטיות –PHP–Java Applet + Servlet

Page 3: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

מוטיבציה:מוטיבציה:IPTablesIPTables היא מערכת מסובכת להפעלה.)והנה המדריך היא מערכת מסובכת להפעלה.)והנה המדריך למערכת(.למערכת(.

Page 4: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

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

Page 5: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

בכלל? בכלל?IPTablesIPTablesמה עושים עם מה עושים עם

Firewall כלי לשמירה על הרשת הפנימית – לפי חוקיות מסויימת.IPע"י סינון חבילות ה

NAT כלי למימוש רשת שלמה תחת כתובת – IP אחת ע"י החלפה בין ריבוי כתובות IP בתוך(

-ים Port אחת עם הרבה IPהרשת( לכתובת )מחוץ לרשת(

כל רעיון נוסף שניתן לממש ע"י משחק בחבילותIP.על פי חוקיות מתאימה

Page 6: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

מבנה הפרויקט:מבנה הפרויקט:

חלקים:2הפרויקט מתחלק ל JAVA Applet/Servletממשק משתמש ב–

tomcatהרץ על שרת עם הרשאות cron ומורץ ע"י Cסוכן הכתוב ב–

root

Page 7: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

clientserveragent

סביבת העבודהסביבת העבודה

• back to back fire wall

נמצא במקום הבטוח ביותר )הגישה היחידה agent ה •(tomcatהמותרת היא מהא

נמצא באזור החיץ,קיימת אליו גישה tomcatשרת ה•מהאינטרנט

agentאין גישה ישירה מהאינטרנט ל•

Page 8: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

הלקוחהלקוח

הUI מבוסס על applet שהלקוח מקבל משרת .servlet ומתקשר עם ה webה

applet היא תכנית java קטנה הרצה על הדפדפן של הלקוח.

בפרויקט שלנו רץ על דפדפן הלקוחclass באמצעות UI ויוצר את מבנה הappletהיורש מ Swingהספריה

client

Page 9: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

השרתהשרת

העבודה בצד השרת מבוססת עלservlet- תוכניתjava הרצה בצד השרת ומממשת DoGetו DoPost

.CGI scriptבדומה ל הservlet מנתח בקשות של הלקוח ומחזיר נתונים

בהתאם או משנה את מבנה הנתוניםלפי בקשת הלקוח הservlet מתקשר עם ה Agent

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

התקשורת בין השרת והagent.מבוססת על קבצים

server

Page 10: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

Java Javaחלוקת המחלקות בין השרת והלקוח )חלוקת המחלקות בין השרת והלקוח )classesclasses))

Serverside

common

GUI

המניע העיקרי לבחירת צורת החלוקה 1.היה העברת מינימום מחלקות בין

השרת ללקוח.

כדי שהשרת והלקוח יוכלו להעביר 2.מידע ביניהם עליהם להכיר מספר

מחלקות משותפות

חבילות 3הפתרון הוא הפרדה ל•(package )

שרת•

לקוח•

משותף•

בשרת יש את כל המחלקות המטפלות •agentבקבצים ובתקשורת עם ה

בלקוח יהיו כל המחלקות המגדירות את •ממשק המשתמש

במחלקה המשותפת תהינה מחלקות •המחזיקות את המידע על החוקים

וקבועים נוספים.

Page 11: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

קבצים להעברהמהשרת

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

IPTableIPTableהשרת על פי הנתונים המתקבלים מהשרת על פי הנתונים המתקבלים מ

טבלתfilter

טבלתnat

טבלתmangle

agentהסוכן -

Cתכנית טבלאותiptables

IPTABLES

Iptables-save

קבצים להעברה אל השרת

טבלתfilter

טבלתnat

טבלתmangle

קובץ הגדרות

Page 12: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

קבצים להעברהמהשרת

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

הקבצים אל השרת.הקבצים אל השרת.

טבלתfilter

טבלתnat

טבלתmangle

agentהסוכן -

Cתכנית טבלאותiptables

IPTABLES

Iptables-save

קבצים להעברה אל השרת

טבלתfilter

טבלתnat

טבלתmangle

קובץ הגדרות

Page 13: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

התקשורת בין השרת והסוכן:התקשורת בין השרת והסוכן:

קבצי טבלאות שמספר 3העברת הנתונים נעשית ב מוגדר מראש, והתו המפריד בין שדה Nהעמודות בהם

שורות הן N. בקבצים אלה כל Newlineלשדה הוא שורה בטבלה.

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

מהצדדים המורם כשאותו צד מתחיל לעבוד ומורד כשהוא מסיים ודגל נוסף שבאמצעותו מסמן השרת

IPTablesלסוכן כי יש לבצע השמה של חוקים ל

Page 14: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

DemoDemo

Page 15: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

מה למדנומה למדנו

Serverעבודה מול שרת –

tomcat

webserverעבודה עם –servlet conteinerו

PHP השתמשנו בשפה בכדי –

מקביל לקייםUIלבנות

למדנו את מגבלות –השפה

Networking–ipTables השכבות7מודל –ניתוב ברשת–הגנה–

Java–Servlet–Applet–UI-swing–RMI

Page 16: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

בעיות שעברנובעיות שעברנו

התחלנו במימוש הUI בטכנולוגית CGI בשפת PHP

נחיתות מבחינה גרפית–out of the boxמעט מדי –

Page 17: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

בעיות מעבר מסביבתwindows ל Linux windows היה בסביבת UIעיקר פיתוח ה –

בעיותsecurity של java–Applet לא assigned לא יכול לבצע בקשה

לתקשורת ללא אישורBugs

Page 18: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

כליםכלים

Intellij כלי פיתוח ל - java אשר נותן גם , מצוינותUIיכולות

Zend כלי לפיתוח – phpDreamweaver כלי לעיצוב ופיתוח אתרי –

איטרנטVisual studio כלי פיתוח ל – C\C++

Page 19: סקירת פרויקט ממשק משתמש ל IPTables\IPChains מגישים: רוברט ביטרפלד ואוהד רוטביין-שר

אפשרויות לפיתוח נוסףאפשרויות לפיתוח נוסף

הצפנה בתקשורת ביןserverל סוכן ניצול אפשרויות רבות נוספות הקיימות

IPTablesבפיצול בין השרת לסוכן הוספת ניתור זמן אמת החיבורים הפעילים

ברשת