شناخت کاربردی Iptable بخش پنجم

شناخت کاربردی Iptable بخش پنجم

 6-4 : اتصالات ICMP

بسته هاي ICMP از جريان حالتي دور هستند زيرا فقط براي كنترل استفاده ميشوند و هرگز نبايد اتصال را برقرار كنند 4 نوع ICMP وجود دارد كه بسته هاي برگشتي توليد كىكند و اينها 2 حالت متفاوت دارند اين نيازهاي ICMP ميتواند حالتNEW و ESTABLISHED داشته باشند انواع ICMP عبارتند از تقاضا وپاسخ ECHO ،  تقاضا وپاسخ it imestamp تقاضا وپاسخ INFORMATION و تقاضا وپاسخ آدرس . و بين آنها تقاضاي timestamp و Information  دور هستند و ميتوانند حذف شوند با اين وجود پيام ECHO و چندين نصب مانند ميزبان pinging استفاده مي‌شود تقاضاي آدرس استفاده نمي‌شود ولي مىتواند در زمان خاص مفيد باشد براي بررسي چگونگي اين حالت به تصوير زير مراجعه كنيد . 
همانطور كه ميتوان ديد ميزبان يك تقاضاي ECHO به هدف ارسال مىكند كه در واقع از سوي Firewall به صورت NEW در نظر گرفته ميشود اين هدف پاسخ به تقاضاي ECHO است كه ESTABLISHED خواهد بود وقتي اولين تقاضا ECHO ديده شد ورودي زير به ip - conntrack ميرود.  

برنامه  
اين ورودي كلي متفاوت با حالات استاندارد TCP و UDP است پروتگل در اين جا ظاهر مي‌شود و آدرس مقصد و منبع مشخص ميگردد اين مسائل بعداً ظاهر خواهند شد ما داراي 3 فيلد جديد به نام id , code , type هستيم آنها خاص هستند و فيلد type داراي نوع ICMP است و code داراي كد ICMP است اينها در ضميمه ICMP TYPE آمده اند وفيلد نهايي id  داراي ICMP ID است هر بسته ICMP داراي id  است و در اين جا پيام ICMP دريافت مي‌شود و يك id در پيام جديد ICMP قرار مىگيرد به طوري كه فرستنده جواب را بشناسند و بتواند با تقاضاي ICMP ارتباط برقرار كند .
فيلد بعدي به صورت [UNREDLTIED] است كه قبلاً ديده نشده در اين جا علامت مىگويد كه رديابي اتصالچگونه است ترافيك در يك جهت صورت مىگيرد توقعات جواب براي بسته ICMP ديده شده است و اين خود وارونگي آدرس IP منبع و مقصد است اينها مانند كد و نوع به مقادير صحيح بسته برگشتي تبديل مىشوند بنابراين هر تقاضاي ECHO  به جواب ECHO تبديل ميشود ICMP ID از بسته تقاضا حفظ ميشود .  
بسته جواب ESTABLISHED است با اين وجود بعد از جواب ICMP قطعاً هيچ ترافيك قانوني در يك اتصال وجود ندارد به اين علت ورودي رديابي اتصال در زمانكد است پاسخ از ساختار Netfilter تخريب مي‌شود . 
در هر يك از اين موارد تقاضا NEW است اگر چه پاسخ ESTABLISHED است اكنون آنها را بررسي خواهيم كرد وقتي Firewall  يك بسته تقاضا دارد يك NEW فرض مي‌شود وقتي ميزبان بسته پاسخ را به تقاضا ارسال ميكند ESTABLISHED است . 
تقاضاي ICMP داراي زمان پيش فرض 30 ثانيه است كه ميتواند در ورودي PROC/… تغيير كند اين بطور كل يك مقدار دست زماني است زيرا ميتواند در بسته هاي را در حالت انتقال قرار دهي بخش ديگر ICMP نشان ميدهد كه اين حالت براي توصيف و نوع اتصال udp و tcp و يا ديگر اتصالات براي ميزبان استفاده ميشود به اين دليل پاسخ هاي ICMP به صورت RELATED در اتصال اصلي ديده ميشوند يك مثال ساده ميزبان ICMP و يا غير قابل دسترس بودن شبكه ICMP است اينها بايد هميشه به ميزبان برگردند. و اين در حالتي است كه يك اتصال ناموفق با ميزبان ديگر برقرار شود ولي شبكه يا ميزبان ميتواند پايين باشد و بنابراين آخرين ردياب به محل برسد و يا پيام ICMP پاسخ دهد در اين حالت پاسخ ICMP بسته RELATED است تصوير زير چگونگي آنرا نشان ميدهد در مثال فوق يك بسته syn به آدرس خاص ارسال ميشود اين يك اتصال NEW است
 با اين وجود شبكه بسته بايد قابل دسترسي شود و بنابراين ردياب يك خطاي RELATED نشان مي دهد و بنابراين پاسخ ICMP به درستي به سرويس گيرنده ارسال ميشود . در ضمن Firewall ورودي رديابي اتصال را تخريب كرده است زيرا ميداند كه اين يك پيام خطا بوده است .
همين رفتار فوق در مورد اتصالات UDP ديده شده است در صورتيكه در هر مسئله كاربرد داشته باشد تمام پيام ICMP ارسال شد در پاسخ به اتصالات UDPبه صورت RELATED است تصوير زير را در نظر بگيريد.
 اين بار يك بسته UDP به ميزبان ارسال ميشود اين اتصالات UDP را NEW مي خوانند با اين وجود شبكه با ردياب و Firewall از نظر اجرايي ممنوع ميشود بنابراين Firewall يك ICMP Network prohibited را در برگشت دريافت ميكنند Firewall ميداند كه اين پيام خطاي ICMP با اتصال UDP ارتباط دارد و آنرا به صورت بسته RELATED به سرويس گيرنده ارسال ميكند در اين حالت Firewall ورودي رديابي اتصال را تخريب ميكند و سرويس گيرنده پيام ICMP را دريافت ميكند و بايد منسوخ شود . 

7-4 : اتصالات پيش فرض 
در موارد خاص ماشين conntrack نمىداند كه عبور پروتكل خاص را كنترل كند اين در صورتي است كه ماشين نداند كه پروتكل چگونه است و چگونه كار ميكند در اين موارد بايد به رفتار پيش فرض روي آورد اين رفتار بر EGP , MUX , NETBIT استفاده ميشود و مانند رديابي اتصال UDP است اولين بسته NEW است و ترافيك پاسخ ESTABLISHED است وقتي رفتار پيش فرض استفاده شد تمام اين بسته ها يك ارزش زماني پيش فرض دارد اين ارزش از طريق متغيير /proc/…. تنظيم ميشود مقدار پيش فرض در اين جا 600 ثانيه يا 10 دقيقه است .بسته به تلاش ترافيك در ارسال برلينك كه از رديابي اتصال پيش فرض استفاده مي كند اين روند نياز به تغيير دارد . اگر ترافيك از طريق ماهواره كنترل شود زمان طولاني نياز است .

 
8-4 : پروتكل پيچيده و رديابي اتصال 
پروتكل هاي خاص پيچيده تر هستند . اين روند در مورد رديابي اتصال به آن معنا است كه اين پروتكل ها ميتوانند سخت تر رديابي شوند . نمونه هاي از آنها JJCB ، TRC و FIP است . هر يك از انها داراي اطلاعاتي درباره داده اي واقعي بسته است و بنابراين به helper نياز دارد تا درست عمل كند . 
اكنون پروتكل FIP را به عنوان مثال بررسي كنيم. پروتكل FIP ابتدا يك اتصال را به نام جلسه كنترل FIP باز مي كند . وقتي دستور از طريق اين جلسه صادر شد ديگر port ما باز مي شود تا مابقي داده مربوط به دستور خاص را حمل كند اين اتصالات مي توانند به دو روش فعال وغير فعال باشند . وقتي اتصال فعال باشد سرويس گيرنده FIP يك port  به سرويس دهنده ارسال ميكند و آدرس IP در ارتباط است . بعد از آن سرويس گيرنده FIP بايد port را باز كند و سرويس دهنده از port 20 به آن وصل شود 0 ( به نام FTP-DATA ) و داده ها را ارسال كند . 
مسئله آن است كه Firewall در مورد اين اتصالات چيزي نميداند زيرا آنها درباره داده اي پروتكل قرار گرفته اند . به اين علت Firewall نمي تواند اتصال سرويس دهنده را برقرار كند . حل اين مسئله اضافه كردن helper خاص به بخش رديابي اتصال است كه از طريق داده ها در اتصال كنترل براي نحو و اطلاعات خاص اسكن شود.وقتي اطلاعات درست باشند به صورت RELATED بيان مي شوند و سرويس دهنده ميتواند اتصال را رديابي كند و اين با ورود RELATED عملي است . تصوير زير حالات را زمان اتصال FIP در سرويس گيرنده نشان مي دهد . 
FIP غير فعال به روش مخالفت عمل ميكند . سرويس گيرنده FIP به سرويس دهنده ميگويد كه ميخواهد داده هاي خاصي داشته باشد كه با آدرس IP جواب مي دهند .سرويس گيرنده با دريافت اين داده ها يا port خاص در ارتباط است و از port 20 مىتواند داده ها را ارسال كند (ETPDATA.rd). اگر يك سرويس دهنده FIP پشت Firewall داريد بايد اين سيستم را در حالت iptable استاندارد قرار دهيد و سپس اتصال اينترنتي را به سرويس دهنده FTP برقرار كند . همين امر در صورتي كه چند كار برداريد صادق است و اگر بخواهيد به سرويس دهنده HTIP و FTP برسيد مي توانيد port ديگر را غير فعال كنيد تصوير زير در مورد passive FTP آمده است .
تعدادي conntrack helper در خود kernel  در دسترس است پروتكل FTP و IRC داراي helper براي نوشتن آن است . اگر نميتوانند آنها را براي kernel بيابيد بايد به درخت patch -o -matic در iptable كاربر مراجعه كنيد . اين درخت داراي helperبيشتر است مانند n talk و پروتكل lt . 323 اگر آنها در درخت در دسترس نباشند يك سري گزينه داريد. شما ميتوانيد به منبع  cvs در iptables مراجعه كنيد و يا اينكه با ليت پست Netfilter - dnel تماس بگيريد . در غير اينصورت طرح افزايشي وجود ندارد و ابزار به جا مي مانند و بايد به RUSTY RUSSEL…. مراجعه كنيد كه در ضميمه ليك و منابع ديگر آمده است .
conntrack helper با كامپايل آماري در kernel و يا به صورت مدل توليد مي شود اگر آنها مدل باشند با دستور زير باردار مي شوند.
 
برنامه
رديابي اتصال با NAT كار ندارند و بنابراين در صورتي كه اتصالات NATing در دسترس باشند به مدل بيشتر نياز است به عنوان مثال اگر مي‌خواهيد به NAT، FTP دست يابيد به مدل NAT بيشتر نياز است . 
تمام NAT helper با ip nat آغاز شده اند و بنابراين NAT ، FTP به صورت in - nat ftpاست و مدل ICR به صورت in nat irc است . اينها تابع يك دستور نامگذاري هستند و بنابراين IRC  به صورت ip…. است و FTP به صورت ip contrack است .  

 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر