יום שלישי, נובמבר 03, 2009

מעקף צנזורה ברמה בסיסית.

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

קודם כל איך זה מתבצע ?

ישנן מספר רמות שאני מכיר והן :
  • חסימה ע"פ בסיס DNS ו ip (רשימות שחורות / לבנות).
  • חסימה באמצעות פרוקסי שקוף.
  • חסימה באמצעות מערכות זיהוי פרוטוקול (Layer 7 analysis ).

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

  2. בדקו שלא מדובר במגבלת DNS , החליפו את שרת ה DNS שלכם לשרת אחר (לדוגמה 4.2.2.2) ותראו אם הבעיה נפתרת.
    קובץ /etc/resolv.conf
  3. השתמש בשרת פרוקסי חינמי (אבל עדיף חופשי).

  4. נסו להשתמש בssh לשרת כלשהוא ומשם החוצה.
  5. צרו תעלת מידע (tunnel) באמצעות ssh , ppp , gre , ipsec וכו'
  6. השתמשו בtor

במידה ונתקלתם בפרוקסי שקוף (Squid לדוגמה) אפשר להשתמש ב ssh על מנת להצפין את התעבורה למחשב אחר ולהשתמש בו כgateway שלכם.

מפוסט בWhatsup התברר כי יש חברת אינטרנט רימון חוסמת ssh (משהוא שהוא מאוד מפתיע) לכן ניתן להשתמש בפתרון שיבצע אינקפסולציה למידע (כל פתרון ppp יתן את אותה התוצאה) - כולמר :
פתיחת pptunnel למחשב אחר ובתוכו להעביר תעבורת באמצעות ssh.

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

שימוש במזהה הפרוטוקול ב IP header (נעקף באמצעות שימוש בפיטצר הצפנת מזהה הפרוטוקול).
שימוש בזיהוי משתמש מswarm (לדוגמה סנדוין) ואז דימוי ניתוק ממנו.
שימוש בזיהוי סוג שימוש (לפי זמנים וחיבורים).

הצורות לעקוף יחסית בעייתיות (דורשות גישה לקרנל , ידע , עזרה מהצד השני).

שימוש בשרת gw שדרכו יתבצע התעבורה:

בשימוש באמצעות tun מייצרים התקן המחשב האישי שלך ובשרת (תעבורה באמצעות ssh).
הגדרת הdefault gw ככרטיס ממנו יוצא התעבורה.
הגדירו vpn למחשב ממנו רוצים לגלוש (מדריך).
הגידרו את המכונה כdefault gw באמצות טבלת הניתוב (מלאו את המשתנים לבד ... ) :
route add $serverip gw $clientnormalgwip eth0
route add default gw $serverdefaultgw tun0
route del default gw $clientnormalgwip eth0
מה שעשינו שלאחר שיצרנו את תעלת הssh באמצעות ssh -w אנו הגדרנו אצל הלקוח כי יצאת ברירת המחדל היא יצאת ברירת המחדל במחשב המארח.

במידה וזה לא עובד ניתן להשתמש בהאקים שמתבססים על מערכות שבדר"כ יעברו ניתוב לדוגמה DNS

שימוש ב NSTX :
אתם מתעלים את התקשורת בתוך בקשות DNS (שבדר"כ עוברות חלק) - אשמח עם מישהוא יבדוק עם רימון.


אפשר לבצע עטיפת פרוטוקולים :

1 ) שימוש ב - ppp
התקנת והגדרת pptpd במחשב מארח.
צור ערוץ pptp (שרת במחשב האישי שלך) והרם תקשורת עליו באמצעות pptp-client.
בצע שימוש בשרת gw רק הסירו גם את הroutים שנוספו בגלל הpptp.

2 ) שימוש ב GRE -
3) שימוש ב IPSec עם פרוטוקול אחר לדוגמה (l2tp + ipsec)
4) צור תעלת ssh לשרת כלשהוא דרך רשת tor.

ואם ממש רוצים להשתגע אפשר להוסיף עוד ערוץ ssh בפנים :-)

תגובה 1:

  1. לעקיפת חסימה של P2P - http://myrtfm.blogspot.com/2010/07/sysadmin.html

    השבמחק