در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

بستن پروتکل ICMP برای دستور ping در Linux

همانطور که در مقاله قبلی در مورد هفت لایه OSI گفته شد یکی از لایه های مهم لایه شبکه یا NETWORK بود که متناظر این لایه لایه ای هست به نام لایه اينترنت یا INTERNET که در مورد پروتکل هاش در مقاله قبلیتقریباً صحبت شده.

ICMP هم قبلاً گفتیم جهت ارسال پیام ها در قالب بسته های IP از یک سیستم یا روتر یا هر چیزی که به عنوان Device در شبکه کار میکنه به یه سیستم دیگه استفاده می شه که دستور ping اصلی ترین و پرکاربردترین دستور ای هست که همه ماها ازش بهره میگیریم این دستور دو پیام echo request و echo reply داره .

ping توسط پیام های echo request پیامی به سیستم دیگر فرستاده و سمت دیگر با echo reply پاسخ می دهد. تصویر زیر جهت اطلاعات بیشتر .

بستن پروتکل ICMP برای دستور ping در Linux

لازم به ذکر هست ICMP پروتکلی ست فاقد شماره Port و سه قانونی که در زیر اومده جالب هست بدونید که همه چیز باید DROP شه ، یعنی هر بسته که وارد می شه INPUT Chain و هر بسته ای که خارج می شه OUTPUT Chain و هر بسته ای که می خواهد Forward شود FORWARD Chain باید DROP شوند به جز آنهایی که ما تعیین می کنیم.

البته در همه جا اینطور مطرح میشه که سه قانون در iptables معرف هستند.

بستن پروتکل ICMP برای دستور ping در Linux

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

حالا ما با این سه قانون به یه مشکل برمیخوریم اونم فیلتر شدن همه چیز هست ولی گاهی برای مدیران شبکه پیش میاد که تنها بسته های ICMP را فیلتر کنند .

اما شاید سوال باشه اصلاً چرا مدیران بخوان دستور Ping رو غیر فعال کنن ، ببینید دستور ping یه سری پکت ارسال میکنه به مقصد و از اون جواب میگیره اما ما میتونیم حجم این پکت ها رو که به صورت دیفالت 32 بایت هست مثل تصویر زیر

بستن پروتکل ICMP برای دستور ping در Linux

اما یه سری ها میان از این دستور سوء استفاده هایی میکنن و حجم این پکت ها رو می برن بالا تا ترافیک شبکه بالا بره اونوقت فقط کافیه با سوئیچ t- یه ping دائم رو از چند تا سیستم سمت سرور بفرسته و سرور رو درگیر این داشتان کنه و شبکه رو بخوابونه هرچند این داستان در سازمان هایی که اصولی کار میکنن صدق نمیکنه چون میشه کاری کرد به محض اینکه حجم پکت بالا رفت سریع Log بندازه و قطع اش کنه

ping 192.168.1.1 -t - l 50000

استفاده کنيد يه پکت بزرگ در حد اون عددي که داري بهش ميگي تو سيستم ارسال ميکني خب ترافيک شبکه ميره بالا و بعدش ممکنه دردسر هاي ديگه اي رو به دنبال داشته باشه

بستن پروتکل ICMP برای دستور ping در Linux

پس اگر کسی این دانش رو داشته باشه و شما تمهیدات امنیتی رو رعایت نکرده باشی شک نکنید طرف رو چند سیستم این پکت های بزرگ رو ارسال کنه سرور شما میره برای استراحت(میخوابه)

اما برای اینکه شما بدونید اصلاً کجا باید این دستورات رو تایپ کنید بهتره به مقاله آشنایی با برخی از دستورات مقدماتی و کلیدهای ترکیبی در لینوکس مراجعه کنید و یا به سری مقالات گام به گام با لینوکس بخش سوم - چگونه دستور ها اجرا می شوند مراجعه و اطلاعات خوبی رو کسب کنید ضمناً سری مقالات آموزش لینوس هم در سایت هست میتونید از این سری آموزش ها بهینه استفاده کنید.

نکته : فیلتر کردن ICMP به این صورته که پیام های echo request خروجی و echo reply ورودی و همچنین بسته های echo request ورودی و echo reply خروجی را باید فیلتر کنیم.

خب حالا ما میتونیم توسط دستور زیر پیام های echo request ورودی و پیام های echo reply خروجی را فیلتر کنیم.

    iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -d 192.168.1.4 -m state –state NEW,ESTABLISHED -j DROP

    iptables -A OUTPUT -p icmp –icmp-type 0 –s 192.168.1.3 -d 0/0 -m state –state ESTABLISHED -j DROP

کمی در مورد سوئیچ های این دستور ها باید توضیح داد :

سوئیچ p- که در بالا استفاده شده برای تعیین پروتکل در iptables استفاده می شود که یکی از مقادیر TCP UDP و ICMP را می تواند بگیرد. همچنین در جلوی سوئیچ icmp-type– از دو عدد 0 و 8 استفاده شده که در جدول بالا نشان داده شده اند و می توانید بجای عدد از معادل حروفی آنها استفاده کنید. 00 یعنی از هر آدرسی درون شبکه. دستور زیر در موردپیام های echo request و echo reply عکس دستور بالا می باشد.

    iptables -A OUTPUT -p icmp –icmp-type 8 -s 192.168.1.3 -d 0/0 -m state –state NEW,ESTABLISHED -j DROP

    iptables -A INPUT -p icmp –icmp-type 0 -s 0/0 -d 192.168.1.4 -m state –state ESTABLISHED -j DROP

چهار خطی که در بالا گفته شد در ماشینی که به عنوان Firewall در نظر گرفته شده است اجرا می شه یعنی سیستم هایی که در اون مبدا ما و همچنین مقصد کاملاً مشخص هست برای مثال و درک بهتر : در شبکه ای می خواهید سیستمی با آدرس آی پی 192.168.1.4 فقط از سیستم با آی پی 192.168.1.3 ping شود یعنی وقتی روی ماشینی به آدرس 192.168.1.5 دستور ping 192.168.1.4 را اجرا کنیم ping بسته باشد ولی در عین حال از سیستم 192.168.1.3 بتوانیم دستور ping 192.168.1.4 را انجام دهیم و پاسخهای مربوطه رو دریافت کنیم ، برای این منظور باید کد های زیر رو در سیستم با آی پی 192.168.1.4 بنویسیم.

    iptables -A INPUT -p icmp –icmp-type 8 -s 192.168.1.3 -m state –state NEW,ESTABLISHED -j ACCESS

    iptables -A OUTPUT -p icmp –icmp-type 0 –s 192.168.1.3 -m state –state ESTABLISHED -j ACCESS

    iptables -A OUTPUT -p icmp –icmp-type 8 -s 192.168.1.3 -m state –state NEW,ESTABLISHED -j ACCESS

    iptables -A INPUT -p icmp –icmp-type 0 -s 192.168.1.3 -m state –state ESTABLISHED -j ACCESS

جهت اطلاعات بیشتر به لینک های زیر میتونید سر بزنید

http://teh-geek.com/?p=280
http://www.pc-freak.net/blog/tag/icmp-traffic/
http://forums.bgdev.org/index.php?act=Attach&type=post&id=113708

نویسنده : فرهاد خانلری

منبع : جزیره لینوکس و متن باز وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#لینوکس_و_پروتکل_icmp #بستن_پروتکل_icmp #بستن_icmp_در_شبکه #بستن_ping_در_شبکه #دستورات_لینوکس #بستن_پورت_icmp_در_شبکه #امنیت_شبکه_در_لینوکس #امنیت_در_linux #بستن_پروتکل_در_لینوکس #ping_در_لینوکس
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....