ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
z9u2K ת.הצטרפות: 18/01/2003 · הודעות: 791 · מיקום: טוב
 

הודעה פורסם: 02/05/2003 - 16:03
נושא ההודעה:

אני רוצה לכתוב סקריפט חומת-אש עם iptables שבו מדיניות ברירת המחדל של כל השרשראות היא DROP (חומש אש טיפשית ביותר - אבל היא מהווה בסיס להרחבה מאוחרת יותר). הבעיה היא שאני לא מצליח להשמור את החיבור חי אחרי שאני אוכף את חוקי חומת האש. במקרה הכי טוב החיבר מחזיק דקה ואז מת.

ה- setup שלי:
המודם המחובר לכרטיס הרשת eth0. קצת כתובות:
כתובת eth0 היא: 10.200.1.1
כתובת השרת המרוחק של בזק: 10.0.0.138

החיבור מתבצע דרך פרוטוקול PPTP ואם אני לא טועה גם מעורב בעסק פרוטורקול PPP בתוך פרוטוקול GRE או להפך...

הסקריפט הנוכחי (במקום לכתוב iptables אני פשוט אכתוב %):
קוד:

IPADDR=`ifconfig ppp0 | fgrep -i inet | cut -d : -f 2 | cut -d \ -f 1`
EXTERNAL_INTERFACE=\"ppp0\" # Internet connected interface
MODEM_IFACE=\"eth0\" # The interface that connects to the modem
MODEMIP=\"10.200.1.1\" # Modem's IP
ISPIP=\"10.0.0.138\" # Bezeq's VPN server IP
...
# allow incoming/outgoing packets from ISP and modem
% -A INPUT -i $MODEM_IFACE -s $MODEMIP -j ACCEPT
% -A INPUT -i $MODEM_IFACE -s $ISPIP -j ACCEPT
% -A OUTPUT -o $MODEM_IFACE -s $MODEMIP -j ACCEPT
% -A OUTPUT -o $MODEM_IFACE -s $ISPIP -j ACCEPT

% -A INPUT -i $MODEM_IFACE -s $ISPIP -d $MODEMIP -j ACCEPT
...


(למי ששם לב, אני מתבסס על הסקריפט מ- Securing and Optimizing Linux - The Ultimate Solution).

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

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

כרגע כל מה שאני יודע זה שהחיבור מתחסל בגלל ש- 10.200.1.1 שולח ל- 10.0.0.138 דרך פרוטוקול PPTP חבילת CLEAR_CALL_REQUEST...

תודה
[addsig]

_________________
Image
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
pacmanלא בפורום כעת ת.הצטרפות: 19/03/2002 · הודעות: 518 · מיקום: Jerusalem
 

הודעה פורסם: 02/05/2003 - 16:34
נושא ההודעה:

את זה גם אני רוצה לדעת Smile

_________________
Voicu Liviu
1 4 All && All 4 1
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם Yahoo Messenger מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
z9u2K ת.הצטרפות: 18/01/2003 · הודעות: 791 · מיקום: טוב
 

הודעה פורסם: 02/05/2003 - 17:51
נושא ההודעה:

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

בכל מקרה, הנה כמה רמזים:
סגרתי הכל - אף תוכנה שעושה משהו עם האינטרנט לא הייתה פתוחה והרצתי sniffer (את'ריל) על eth0.
הנה תקציר החבילות שעוברות (אחרי כמו דקות סגרתי כי ראיתי שהן חוזרות על עצמן).
דבר ראשון - התחלתי לקרוא את הספציפיקציות של RFC2637, זה פרוטוקול PPTP. מסתבר שהן השרת והן הלקוח שולחים אחד לשני בקשות פינג מיוחדות כל כמה זמן - ככה הם יודעים שיש חיבור. Ethereal גילה שקורים כמה דברים באופן מחזורי (אני אתייחס ל- 10.0.0.138 כ- "השרת" ול- 10.200.1.1 כ- "הלקוח"):

כל חצי דקה השרת שולח בקשת ECHO_REQUEST שאליו הלקוח חייב להגיב ב- ECHO_REPLAY.

כשהשרת שולח משהו (כל דבר) הפאקט יוצאת מפורט 1732 ומיועדת לפורט 34131. כשהלקוח שולח משהו, הפורטים הפוכים.

כל דקה הלקוח שולח בקשת פינג לשרת.

כלומר כל חצי של דקה יש בקשת פינג מהשרת ללקוח, ותשובה, וכל דקה שלמה יש שתי בקשות ושתי תשובות - אחת מכל אחד.

אחרי שחבילת ECHO_REPLAY עוברת, מי ששלח ECHO_REQUEST שולח גם פאקט TCP רגיל עם ACK. כל חצי דקה השרת שולח רק פאקט ACK אחד, אבל כל דקה נשלחים ארבעה כאלה, שניים מכל צד של החיבור.

כשהשרת שולח ACK, הפאקט יוצא מפורט 1723 ונכנס לפורט 34131, כשהלקוח שולח, הפורטים הפוכים (כנ"ל).

בנוסף, יש רצף שחוזר על עצמו, של ארבע חבילות שמתבצע כל 11 שניות והולך ככה:
השרת שולח PPP LCP Echo Request דרך פרוטוקל PPP LCP ללקוח.
הלקוח שולח Encapsulated PPP דרך פרוטוקול GRE לשרת.
הלקוח שולח PPP LCP Echo Reply דרך פרוטוקל PPP LCP לשרת.
השרת שולח Encapsulated PPP דרך פרוטוקול GRE ללקוח.

אם אי לא טועה הפורט של פרוטוקול ה- GRE הוא 47...

עוד משהו, כל דקה בהפרש של משהו כמו 44 שניות מבקשות ה- ECHO_REQUEST של השרת, הלקוח שולח בקשת ARP לשרת ושואל אותו לגבי 10.0.0.138, הוא מבקש לשלוח את התשובה ל- 10.200.1.1. השרת את שולח ללקוח את כתובת ה- MAC של כרטיס הרשת של השרת.

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

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

_________________
יש 10 סוגים של אנשים בעולם - אלה שיודעים בינארית, ואלה שלא.

[ נערך על-ידי z9u2K בתאריך 02/05/03 14:52:07 ]

_________________
Image
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
z9u2K ת.הצטרפות: 18/01/2003 · הודעות: 791 · מיקום: טוב
 

הודעה פורסם: 02/05/2003 - 18:44
נושא ההודעה:

LOL...
מה אמרתי בפוסט הקודם?

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

#!/bin/bash

IPTABLES=/sbin/iptables

if [ ! -x $IPTABLES ]
then
exit 0
fi

echo -n \"Starting Firewalling: \"

# ----------------------------------------------------------------------------
# Some definitions for easy maintenance.
# EDIT THESE TO SUIT YOUR SYSTEM AND ISP.

IPADDR=`ifconfig ppp0 | fgrep -i inet | cut -d : -f 2 | cut -d -f 1`
EXTERNAL_INTERFACE=\"ppp0\" # Internet connected interface
LOOPBACK_INTERFACE=\"lo\" # Your local naming convention
LOOPBACK=\"127.0.0.0/8\" # Reserved loopback address range
MODEM_IFACE=\"eth0\" # The interface that connects to the modem
MODEMIP=\"10.200.1.1\" # modem's IP
ISPIP=\"10.0.0.138\" # Bezeq's VPN server IP

# Default policy is DENY
# Explicitly accept desired INCOMING & OUTGOING connections
# Remove all existing rules belonging to this filter
$IPTABLES -F
$IPTABLES -F -t nat

# Remove any existing user-defined chains.
$IPTABLES -X

# Set the default policy of the filter to deny.
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

# LOOPBACK
# Unlimited traffic on the loopback interface.
$IPTABLES -A INPUT -i $LOOPBACK_INTERFACE -j ACCEPT
$IPTABLES -A OUTPUT -o $LOOPBACK_INTERFACE -j ACCEPT

# Unlimited traffic within the local network.
# All internal machines have access to the fireall machine.
$IPTABLES -A INPUT -i $LOCAL_INTERFACE_1 -s $INTRANET -j ACCEPT
$IPTABLES -A OUTPUT -o $LOCAL_INTERFACE_1 -d $INTRANET -j ACCEPT

# Allow the connection with Bezeq to continue and exist
# Open port 34131 for sending and recieving ECHO_REQUEST/REPLAY & ACK from VPN Server
$IPTABLES -A INPUT -p tcp --sport 1723 --dport 34131 -s $ISPIP -d $MODEMIP -i $MODEM_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 34131 --dport 1723 -s $MODEMIP -d $ISPIP -o $MODEM_IFACE -j ACCEPT

# Open port 47 for GRE activity
$IPTABLES -A OUTPUT -p 47 -s $MODEMIP -d $ISPIP -o $MODEM_IFACE -j ACCEPT
$IPTABLES -A INPUT -p 47 -s $ISPIP -d $MODEMIP -i $MODEM_IFACE -j ACCEPT

exit 0


נ.ב., מבוסס על הניתוח שלי מלמעלה ועל RFC2637.

[ נערך על-ידי z9u2K בתאריך 02/05/03 15:46:59 ]

[ נערך על-ידי z9u2K בתאריך 02/05/03 16:19:08 ]

_________________
Image
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
pacmanלא בפורום כעת ת.הצטרפות: 19/03/2002 · הודעות: 518 · מיקום: Jerusalem
 

הודעה פורסם: 02/05/2003 - 18:55
נושא ההודעה:

סבבה איש Smile
אבל זה לא יסגור icq/msn/YM email .....etc etc ?

_________________
Voicu Liviu
1 4 All && All 4 1
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם Yahoo Messenger מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
z9u2K ת.הצטרפות: 18/01/2003 · הודעות: 791 · מיקום: טוב
 

הודעה פורסם: 02/05/2003 - 19:21
נושא ההודעה:

אם תריץ את הסקריפט כמו שהוא, הוא יסגור ה-כ-ל... כולל ה-כ-ל...

אתה צריך לאפשר באופן ספציפי פורטים. אני מציע לך לחפש את Securing Optimizing Linux The Ultimate Solution v2.0 ב- LDP. ספר מ-ע-ו-ל-ה וכולל סקריפט שפותח את רוב הדברים השימושיים.
[addsig]

_________________
Image
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
pacmanלא בפורום כעת ת.הצטרפות: 19/03/2002 · הודעות: 518 · מיקום: Jerusalem
 

הודעה פורסם: 02/05/2003 - 19:40
נושא ההודעה:

ציטוט:

ב 2003-05-02 16:21, z9u2K כתב:
אם תריץ את הסקריפט כמו שהוא, הוא יסגור ה-כ-ל... כולל ה-כ-ל...

אתה צריך לאפשר באופן ספציפי פורטים. אני מציע לך לחפש את Securing Optimizing Linux The Ultimate Solution v2.0 ב- LDP. ספר מ-ע-ו-ל-ה וכולל סקריפט שפותח את רוב הדברים השימושיים.



תודה

_________________
Voicu Liviu
1 4 All && All 4 1
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם Yahoo Messenger מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/05/2003 - 19:41
נושא ההודעה:

GRE אינו "פורט" (של TCP או UDP). זהו פרוטוקול עצמאי שרץ מעל IP, כמו TCP, UDP ו-ICMP.

ועכשיו עוד משפט עם כמה ראשי תיבות מפוצצים, בשביל ההרגשה הטובה: GCC, EGCS, PDF (כל קשר בינם לבין הפתיל הוא מקרי לחלוטין(
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/05/2003 - 19:46
נושא ההודעה:

הערה: אתה לא יכול לקחת סתם סקריפט firewall, כי יצירת הקשר של pptp דורשת ממך הגדרות מסוימות.

סקריפט בסיסי יכולת למצוא ב-ADSL-BEZEQ-HOWTO.

(כצפוי, רוב הסיכויים שמישהו כבר עשה לפניך את העבודה המלוכלכת).
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
z9u2K ת.הצטרפות: 18/01/2003 · הודעות: 791 · מיקום: טוב
 

הודעה פורסם: 02/05/2003 - 20:04
נושא ההודעה:

סקריפט ליצירת החיבור לאינטרנט כבר יש לי - היתי צריך רק אחד לפיירוול...

בקשר ל- GRE, ה- p- הזכיר לי פורט.. כנראה על זה חשבתי כשכתבתי את ההערות... זה ממש לא משנה...
[addsig]

_________________
Image
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/05/2003 - 23:03
נושא ההודעה:

אתה לא יכול להפריד לחלוטין בין השניים (כלומר: לא כאשר כופים עליך לעבוד בשיטות התקשרות מופרעות כמו pptp ואחיותיה).

בפרט: תחשוב מה קורה אם אתה צריך לשנות את ההגדרות בשביל ליצור את הקשר.

כמוכן: זה נראה לי די ליברלי לא להטיל שום מגבלות על הקשר לרשת המקומית. מהן בדיוק ההנחות שלך לגבי מחשבים ברשת המקומית?

ואת החוק ששמת על החיבור לפורט 1723 תצטרך כנראה להרחיב: יש לך כאן יישום שמתחבר מפורט "גבוה" כלשהו לפורט 1723/TCP . די מסוכן להניח מה יהיה בדיוק המקור. מומלץ לקרוא קצת על איך TCP עובד ו/או קצת תיעוד כמו ה-iptables-HOWTO (החוק שכתבת , אגב, מתייחס לקשר הבקרה של המנהרה של ה-pptp, ולא קשור כלל ל-ping או ל-arp. נראה לי שאתה כאן חוסם גם arp, ובכך מונע מהרשת לעבוד כמו שצריך. אבל אני לא בטוח).

בקיצור: סתם מלהקשיב על הרשת לא יצאו לך חוקים מספיק טובים...

 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
z9u2K ת.הצטרפות: 18/01/2003 · הודעות: 791 · מיקום: טוב
 

הודעה פורסם: 02/05/2003 - 23:17
נושא ההודעה:

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

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

בקשר ל- ARP ולפינג, שניהם עובדים.

הסקריפט הזה לא הולך להיות הפיירוול שלי - אלא הבסיס שחוסם הכל חוץ ממה שאני מאפשר. מה שנמצא פה באתר חוסם את כל הדברים האפשריים חוץ מהחיבור עצמו - זה יהיה טיפשי מאד להשתמש בזה כפיירוול...
[addsig]

_________________
Image
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. z9u2K
  2. pacman
  3. z9u2K
  4. z9u2K
  5. pacman
  6. z9u2K
  7. pacman
  8. אורח
  9. אורח
  10. z9u2K
  11. אורח
  12. z9u2K