Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

רשתות ואינטרנט - סקריפט פיירוול אוטומטי

ברוך - 29/04/2004 - 08:18
נושא ההודעה: סקריפט פיירוול אוטומטי
רציתי לידע אתכם על הפיתוח האחרון, פיירוול שמקנפג את עצמו, ללא קבצי קונפיגורציה, ללא משחקים, בשיטת שגר ושכח.

הרעיון הוא תוכנית שרצה באופן קבוע, מזהה שינויים במערכת (למשל שהתחברתם לאינטרנט או שהשתנה ה-IP) ומקנפגת את הפיירוול בצורה אוטומטית וללא כל מאמץ מצדכם. דבר נוסף שהתוכנה עושה זה לפתוח פורטים חיצוניים על מנת ששרתים יוכלו לעשות את עבודתם, שרתים נתמכים כרגע הם ssh ו-BitTorrent ככה שאין יותר צורך לפתוח ידנית פורטים לטורנטים, פשוט תתחיל לשתף והפורט יפתח, נגמר השיתוף וגם הפורט ייסגר.

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

ניתן למצוא אותה באתר: http://baruch.ev-en.org/projects.html
pooh - 29/04/2004 - 12:31
נושא ההודעה: זה לא קצת מבטל את הרעיון של חומת אש ?
תקשיב.... אפילו ווינדווס XP בקנפוג הכי פשוט דורש מידע בסיסי לפיירוול...
תאר לך שנכנס לי סוס טרויני (או למחשב השכן ברשת שמחובר דרכי) ופותח פורט....

אם בשלב הCONFIGURE התוכנה פותחת פורטים וכו זה סביר איכשהו... אבל על בסיס עבודה רגיל??????????? זה לא ממש firewall.....
ברוך - 29/04/2004 - 14:35
נושא ההודעה:
אם נכנס לך סוס טרויאני הוא יפתח לעצמו פורטים בלי לשאול אותך... ולא יצטרך לעבור דרך התוכנה שלי.

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

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

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

התוכנה כרגע יודעת לפתוח פורטים למחשב עליו היא רצה בלבד, למחשב שישב מאחוריה יהיה צורך בתוכנת עזר שלא נכתבה עדיין.
omri - 29/04/2004 - 14:43
נושא ההודעה:
רעיון נחמד, רק צריך לעבוד קצת על הקטע של האבטחה,
שזה לא יפתח פורטים לכל תוכנה, אלה רק לתוכנות מסויימות (ביטטוררנט למשל..)
תספר לי קצת על איך התוכנה עובדת, איך היא מזהה שפורנט נפתח?
ברוך - 29/04/2004 - 15:12
נושא ההודעה:
בשלב הנוכחי (prototype) התוכנה בודקת פעם בדקה איזה פורטים פתוחים על ידי הרצת netstat -tnlp ופותחת פורטים אם מספר הפורט ושם התוכנה מוכרים לה.

האידאל היה שהקרנל היה שולח הודעה על תפיסה ושיחרור של פורט אבל בחיפוש זריז לא מצאתי דבר כזה. שיפור שצריך לבצע עדיין זה לקרוא את המידע ישירות מ- proc/net/tcp/

מנגנון הוידוא של האפליקציה שפתחה את הפורט דורש מחשבה ושיפור, כרגע הוא מוגבל למדי, אבל בשביל זה יש prototype.
omri - 29/04/2004 - 15:22
נושא ההודעה:
דבר ראשון, תחפש את זה כמו שאמרת.
דבר שני, תסתכל בסורס של netstat, ותיקח רק את מה שאתה צריך משם, במקום להשתמש בפקודה ולעשות parse ל output

זה באמת לא אפקטיבי לעשות כל דקה, כי בד"כ החיבור נשלח מיידית אחרי פתיחת הפורט...

אם לא תמצא משהו, אפשר לבנות מודול לקרנל - אני מניח שאפשר לעשות כזה דבר שיודיע לתוכנה ברגע שתוכנה אחרת מאזינה לפורטים
ברוך - 29/04/2004 - 15:48
נושא ההודעה:
אני לא חוסם פורטים יוצאים, רק פורטים נכנסים ככה שביטטורנט יוצא יעבוד מיד, ויתחיל לקבל חיבורים לכל היותר אחרי דקה ובממוצע אחרי שלושים שניות.

netstat קורא את proc/net/tcp/ ולכתוב מודול לקרנל לא יהפוך את התוכנה לפשוטה להתקנה גם למשתמש הרגיל (צריך קוד מקור של הקרנל וכו'), יכול להיות ששווה לכתוב דבר כזה ולנסות להוסיף אותו לקרנל הרגיל, ככה שהוא יהיה לגרסאות עתידיות.
omri - 29/04/2004 - 16:29
נושא ההודעה:
זה היה הרעיון...
ברוך - 29/04/2004 - 16:36
נושא ההודעה:
אוקי, בכל מקרה הוספתי קצת הסברים לדף הבית של התוכנה.
Anonymous - 29/04/2004 - 16:54
נושא ההודעה:
למה האתר לא בעברית תעשה מנגנון עברית למי שיש בעיה באנגלית
Anonymous - 29/04/2004 - 16:59
נושא ההודעה:
ברוך: רעיון נחמד, אבל נראה לי שיש כאן בעיות.

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

כלומר מה שאתה עושה שקול לחסימה מוחלטת של פורטים מסויימים. אני לא מבין מה הסקריפט שלך תורם מעבר לזה.
ברוך - 29/04/2004 - 17:16
נושא ההודעה:
תחת ההנחה שבמחשב שלך רצות רק תוכניות שאתה מעוניין בהן, התוכנית שלי מאפשרת לך לא לדאוג לקנפג את הפיירוול מחדש לכל תוכנית שאתה רוצה להפעיל ושיהיה ניתן לגשת אליה מבחוץ. זה ההגדרה.

במקרה שרצה אצלך תוכנית שאינך מעוניין בה ברמת הרשאה של root לא משנה מה אני יעשה, היא תיכנס ותצא ותשנה את חוקי הפיירוול ללא הגבלה.

לגבי תוכנית לא רצויה שאיננה תחת root היא ממילא במקור ולגבי הקהל הרחב תיכתב כך שהיא תיזום תקשורת מעצמה החוצה דבר שממילא אינו נחסם בתוכנית שלי ואינו נחסם במרבית הסקריפטים לפיירוול הקיימים בשטח. רוב ה-trojans ממילא נכנסים לערוץ irc ומחכים לפקודות.

ככה שבפועל התוכנית שלי אינה מורידה את רמת הבטיחות של המשתמש הרגיל, שממילא לא היה מסדר לעצמו פיירוול.
Anonymous - 29/04/2004 - 22:54
נושא ההודעה:
אני מבין למה אתה אומר שהסקריפט שלך לא מזיק. אבל במה הוא מועיל? איזה יתרון יש בשימוש בו על-פני אי שימוש ב-firewall בכלל?


ולמי שכתב על אתר בעברית: נראה שהתוכנה הזו מיועדת לא רק לישראלים. אבל אם קידום התוכנה הזו כ"כ חשוב לך, אולי תתרגם את האתר בעצמך?
ברוך - 30/04/2004 - 19:13
נושא ההודעה:
סבירות גבוהה שמשתמש רגיל התקין SAMBA לשיתוף קבצים בידיעתו או בלי ידיעתו היא גבוהה כנ"ל לגבי NFS ושירותים אחרים שניגשים אליהם דרך הרשת, ההתקנה הבסיסית איננה דלה בפורטים פתוחים, גם עידכוני התוכנה של מחשב ביתי אינם מהירים ובסך הכל המחשב הביתי פרוץ יחסית.

אם תשים פיירוול תגן על עצמך מרוב הצרות ומרעין הבישין. הסקריפט שלי מאפשר לך להתקין פיירוול ללא מאמץ וללא קונפיגורציה, ובכך מאפשר למשתמש הרגיל להיות מוגן.
Anonymous - 09/01/2006 - 10:39
נושא ההודעה: בעיה מסויימת בתוכנה שהוצגה
כעיקרון, אם אתה יודע איזה סרוויסים רצים לך, אתה לא צריך פיירוול. פיירוול שפתוחה בו כניסה לSSH, לא יוכל למנוע מROOT KIT שמותקן על גביו לפעול, אלה אם לא אפשרת בכלל SSH בשרת. הוא לא יכול למנוע ניצול לרעה של שרת ftp או של שרת web. מה שהוא יכול לעשות, זה לרכז את מדיניות האבטחה במקום אחד מסודר. בשביל זה - זה שווה. ככה אתה יודע שמה שלא יהיה, דרכך פורט 22 לא עובר.

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

אם אתה רוצה פתיחה וסגירה דינאמית דל פורטים, כנס לסקריפט המריץ את השירות, והוסף את שורת הIPTABLES המתאימה. עם טיפה תחכום, תוכל לבנות פיירוול לתפארת ויחד עם זאת - עדיין בשליטה שלך.
MBD - 09/01/2006 - 11:29
נושא ההודעה:
יפה מאוד ברוך!
אולי ניתן להגדיר בתוכנה מספר רמות אבטחה, ואז במצבים מסוימים הוא נגיד ישאל האם לאשר לתוכנה לרוץ (כמו שחומות אש לחלונת עושות, אבל לא בצורה מציקה), ובמצב אחר הוא יהיה יותר אוטומטי, ויסמוך על השיקול דעת של עצמו.
nadavvin - 09/01/2006 - 11:48
נושא ההודעה:
אתם שמים לב שההודעה מלפני שנתיים.
לכו תדעו מה מצב הסקריפט היום.
MBD - 09/01/2006 - 11:59
נושא ההודעה:
nadavvin :
אתם שמים לב שההודעה מלפני שנתיים.
לכו תדעו מה מצב הסקריפט היום.


חחחחחחחחח Very Happy Very Happy Very Happy Very Happy Very Happy

בכלל לא שמתי לב שזה ישן... איזה צחוק Laughing
דוביקס - 29/07/2006 - 18:13
נושא ההודעה:
מחקתי הודעת ספאם שצורפה לכאן, אבל מאחר והסקריפט נשמע מעניין, האם מתנדבים עם החיבורים המצ"ב יכולים לבדוק שהסקריפט עובד במצבים הבאים:

- חיבור לאינטרנט דרך מודם ADSL מסדרת ALE USB?
- חיבור לאינטרנט דרך חייגן כבלים?
- שיתוף רשת (ז"א חיבור מחשב ווינדוס שיגש לאינטרנט דרך מחשב הלינוקס)?

(אני מניח ששני הראשונים מטופלים, לא בטוח לגבי השיתוף)

תודה לעוזרים.
dov_s - 03/08/2006 - 09:10
נושא ההודעה:
התקנתי את הסקריפ הזה והוא אכן עושה את העבודה שלו.
אני כבר שבועיים מסתבך בנסיונות ההפעלה של כל מעטפות הפירוול השונות (Firestarter וכו') ומרביתם הצליחו לגרום לניתוק שלי מהאינטרנט או ניתוק של המחשבים האחרים ברשת מהאינטרנט.
לשמחתי הסקריפ מאפשר חיבור של כל המחשבים לאינטרנט ובבדיקות שבמוצעת מול sygate.com אין אף פורט מיותר פתוח. ממש טוב מבחינתי.

תודה רבה ברוך.
ברוך - 03/08/2006 - 12:53
נושא ההודעה:
תודה על התגובה dov_s. אני שמח לשמוע על מי שמצליח ומעוניין לשמוע גם על מי שלא מצליח. מהלך השנה האחרונה הורידו את הסקריפט הזה מעל 5,000 איש ולא היתה הודעה אחת של הצלחה או כישלון, עד לפנייה של דוביקס.

אם יש למישהו הצעות מה יכול לעזור להעלות את כמות התגובות אשמח לשמוע. התגובות הן שיוצרות את העניין להמשיך ולשפר את הסקריפט כי בסה"כ בשבילי הוא עבד יופי כל התקופה הזו.
Jenya - 04/08/2006 - 21:29
נושא ההודעה:
לא שאני מבין בזה הרבה, אבל בזמן הרצת הסקריפט אני מצליח להתחבר לאינטרנט ואני מתחבר לאינטרנט בעזרת חייגן כבלים. לעומת זאת בזמן הרצת Firestarter לא הצלחתי ליצור חיבור לאינטרנט.

תודה רבה על הסקריפט כי די לא נעים לגלוש באינטרנט בידיעה שהמחשב פרוץ.
כל הזמנים הם GMT + 2 שעות