لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
Iptables (فایروال)
2012-07-28, 04:29 PM,
ارسال : #1
Iptables (فایروال)
سلام بر همه دوستان..خوبید؟؟؟؟
خسته نباشید.
رفقا من دارم iptables رو کانفیگ میکنم و میخوام پورت 80 رو تست کنم..یعنی فقط IP خودم مثلا بتونه apache رو ببینه...و نمیخوام باقی IPها apache رو ببینن...
حالا rule ای رو که من add کردم به صورت زیر هست اما جواب نمیده::::
البته IPهاش واقعی نیست(ببخشید)
A INPUT -s 169.254.109.100 -m state --state NEW -p tcp --dport 80 -j ACCEPT
A INPUT -s ! 169.254.109.100 -m state --state NEW -p tcp --dport 80 -j DROP

قبل از A هم - گذاشتم...
چرا یا همه IP ها دسترسیشون به apache یا باهم وصل میشه یا با هم قطع میشه؟؟
ممنون میشم کمکم کنید ...
یا علی

<!-- m --><a class="postlink" href="http://net-ict.blogfa.com/">http://net-ict.blogfa.com/</a><!-- m -->
اللهم عجل لولیک الفرج
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-28, 09:28 PM,
ارسال : #2
Re: Iptables (فایروال)
فکر کنم اگه رول اول رو به این صورت تغییر بدید کار کنه (فرض بر اینه که آپاچی و فایروال بر روی یک سرور هستند)

کد :
iptables -A OUTPUT -p tcp -s 169.254.109.100 -m state --state NEW,ESTABLISHED,RELATED --dport 80 -j ACCEPT

یا اینکه به سادگی این رول ها رو بنویسید:
کد :
iptables -A OUTPUT -p tcp -s 169.254.109.100 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

اگر هم آپاچی روی یه سرور دیگه هست از زنجیره FORWARD استفاده کنید. البته قبلش جدول filter رو flush کنید.

گروه کاربران ایرانی BSD
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-29, 12:31 PM,
ارسال : #3
Re: Iptables (فایروال)
سلام بر شما دوست عزیز
ببخشید خط اول یا دو خط بعد ر میزنم وبعد میزنم service iptables restart خطا میده...بعد هم هیچ page رو باز نمیکنه///
سرور apache هم روی سرور فایروال هست..

<!-- m --><a class="postlink" href="http://net-ict.blogfa.com/">http://net-ict.blogfa.com/</a><!-- m -->
اللهم عجل لولیک الفرج
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-29, 02:14 PM,
ارسال : #4
Re: Iptables (فایروال)
لطفا پیغام خطا رو در اینجا قرار دهید. برای این کار از تگ [code] استفاده کنید. در ضمن دستورات رو مستقیما در خط فرمان copy & paste و با کاربر root اجرا کنید، نیازی به restart کردن iptables نیست. هر چند امتحان نکردم ولی فکر نمی‌کنم rule ها مشکلی داشته باشه.

گروه کاربران ایرانی BSD
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-29, 04:32 PM,
ارسال : #5
Re: Iptables (فایروال)
ممنون از لطفتون

<!-- m --><a class="postlink" href="http://net-ict.blogfa.com/">http://net-ict.blogfa.com/</a><!-- m -->
اللهم عجل لولیک الفرج
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-29, 09:37 PM,
ارسال : #6
Re: Iptables (فایروال)
دوست عزیز Iptables رو وقتی ریست میکنه ، سیستم از دوباره میره و رول های خودش رو روی سیستم ست میکنه !
۱) با iptables رول های مورد نظر خودت رو بنویس . نکته :سیستم در همان لحظه بدون اینکه سرویسی رو ریست کنی رول ها رو اجرا میکنه
۲) سرویس مورد نظر خودت رو تست کن و ببن آیا رول هایی که نوشتی به درستی کار میکنه ؟
۳) اگه درست کار میکنه اونوقت از فایروال خودت به این صورت یک بک آپ بگیر :
کد :
iptables-save > /etc/sysconfig/iptables

نکته : شما از CentOS با Fedora , ... استفاده میکنید .
این توزیع ها به صورت پیشفرض یک سری رول فایروال رو به صورت پبشفرض روی خودشون دارند . با دستور زیر اونها رو بررسی کن :
کد :
iptables -L -n
بادستور زیر هم این رول ها رو میتونی پاک کنی :
کد :
iptables -F
iptables -X

Debian GNU/Linux System Administrator
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-30, 12:47 AM,
ارسال : #7
Re: Iptables (فایروال)
سلام دوستان
یک سوال از طرف یک تازه وارد:
1-یک قانون برای اینکه ای پی تیبل اجازه بده همه ارتباط های لوکال 127.0.0.1 یا ای پی ست شده دیگه روی سرور از هر پرتکلی اجازه ورود و خروج و غیره داشته باشه چیه؟
2- وقتی که تعریف میکنیم
کد :
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 81 -j ACCEPT
sudo iptables -A INPUT -j DROP
قضیه این میشه که هر ارتباط ورودی بغیر از پرت های 80 در تی سی پیو 81 در یو دی پی ، دراپ میشند؟
3-برای سیو کردن این رولز ها چه کنم که سرور ریست میشه قوانین باز ثابت بمونند؟
4- با فرض 2 اگر دستور
کد :
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
را وارد نکنم =خدا حافط وی پی اس؟ یعنی هیچ طریق نمیتونم دسترسی داشته باشم چون خودم راه ورود رو بستم؟
و کلی سوال newbie دیگه که فعلا پسر خاله نشدم.
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-30, 02:52 AM,
ارسال : #8
Re: Iptables (فایروال)
1-دقیق نمی دونم منظورتون چیه ولی این rule ها رو ببینید:

کد :
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

حالا میتونید rule هایی بنویسید که بسته های مورد نظرتون DROP بشه.

2- با دستورات iptable-save و iptable-restore
3- اگه از روش شماره 1 استفاده کنید مشکلی برای هیچ پروتکلی پیش نمیاد.

گروه کاربران ایرانی BSD
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-30, 05:29 AM,
ارسال : #9
Re: Iptables (فایروال)
ببینید نرم افزاری داریم که نیاز داره از لوکال هاست بر روی پرت 200 مثلا ارتباط داشته باشه ( فکر کنم 2 اینترفیس دارم حد اقل با ifconfig کشف کردم! ) ایا ای پی تیبل روی این انتقال داده که لوکال هست هم با دستور آخر قسمت 2 سوال قبلی بنده (iptables -A INPUT -j DROP)سرو کار داره و میتونه این ارتباط رو طبق اون دستور بلوکه کنه؟
صورت مسله ومشکل بنده این هست که به علت حمله هایی که دوستان گل انجام میدن بنده نیاز دارم همه پرت ها رو ببندم بغیر از : 2 پرت خارج از شبکه خودم و از هرکجا و پرت هایی که توسط هر نرم افزاری به صورت محلی استفاده میشه ، برای این کار دنبال anti ddos یا یه همچین چیزی بودم که ...به اینجا رسیدیم داخل Quote عرض کنم که
نقل قول :حال برای این کار دوستانی که تمایل دارند:
1- دعا بشند و ذکات علمی بدن یک راه ارتباطی مسنجر مثلا پیغام خصوصی کنند هرچقدر هم تعداد عزیزان زیاد باشه هم مشکلی نداره فیض خواهیم برد از کمکشان
2-با قبول زحمت و پرداخت هزینه مشکلات رو برای بنده حل کنند
برای بنده پیغام خصوصی با راه ارتباط باهاشون رو بزارند. centos ، ubunto ...هر رقمه هم میشه توزیع رو انتخاب کرد.
برای خذف کردن بعضی موارد نصب شده.... وکلی سوال که ارتبات لحظه ای بیشتر کمک خواهد کرد به بنده.
با سپاس از همراهی عزیزان.
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-30, 07:19 AM,
ارسال : #10
Re: Iptables (فایروال)
عرض سلام مجدد ...
رفقا ممنونم از کمک هاتون بسیار عالی بود و استفاده کردم..دیشب بالاخره جواب گرفتم...
بله با iptables باید rule ها رو add کرد...
فقط نکته ای که باعث شد من جواب بگیرم (هم روی پورت 80 هم 22) این بود که من از -A استفاده نکردم و از -I یا همون insert استفاده کردم...
کسی source خوب سراغ داره راجع به این قضیه خوم نفهمیدم چر اینطوری فقط داره جواب میده..
thanks in advance

<!-- m --><a class="postlink" href="http://net-ict.blogfa.com/">http://net-ict.blogfa.com/</a><!-- m -->
اللهم عجل لولیک الفرج
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-07-31, 12:11 AM,
ارسال : #11
Re: Iptables (فایروال)
کسی از دوستان نیست کمکی بکنه؟
مخصوصا اجازه عبور (سند/رسیو) بر روی لوکال رو ؟
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-08-03, 11:12 AM,
ارسال : #12
Re: Iptables (فایروال)
خیلی خوب .
یک راهنمای کلی میکنم . برای اطلاعات بیشتر به سایت netfilter مراجعه کنید :
ببینید :
سیستم قبل از اینکه رول های فایروال رو اجرا کنه policy موجود در فایروال رو بررسی میکنه :
کد :
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
همان طور که میبینید تمام Chain های فایروال روی جدول Filter به صورت Accept هستش . این بدین معنی هست که تمام درخواست هایی مقصدشان این سیستم هست و تمام درخواست هایی که از این سیستم ارسال میشه تایید میشه و دریافت و ارسال میشه . (در مورد Forward هم به همین صورت هستش)
حال شما شروع می کنید به نوشتن رول های مورد نیاز خودتون :
برای مثال ما فرض رو بر این میگیریم که این سیستم یک سرور Apache و SSH هست و می خواهیم یک سرور امن برای پورت های این دو سرویس داشته باشیم .
از آنحایی که در خواست ها به Destination این سیستم ارسال می شوند . یعنی Destination همین سرور هست . پس رول ها رو به این صورت می نویسیم :
کد :
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j REJECT
دو تا رول اول به معنی تایید تمام در خواست های پورت ۸۰ و ۲۲ برای سرور هست و رول آخر هم هر چی در خواست دیگری به سمت سرور بیاد رو Reject می کنه .
خیلی خوب حالا شما می خواهید مثلا پورت 3306 سرویس MySQL رو هم روی سیستم تایید کنید .
چیزی که کاربران تازه کار در موردش اشتباه می کنند . اینجاست :
من این رول رو اجرا میکنم :
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
خوب مشکل اینجاست که این رول بعد از رول REJECT نوشته میشه و سیستم نمیتونه این رول رو اجرا کنه .
نکته :سیستم عامل لینوکس رول ها رو به ترتیب از بالا به پایین اجرا میکنه :
ببینید :
کد :
iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
همان طور که میبینید رول مربوط به سرویس MySQL اجرا نخواهد شد .
برای حل این مشکل یا باید رول Reject رو پاک کرده و بعد از گذاشتن رول MySQL اون رو از دوباره اجرا کنید .
راه حل دوم هم استفاده از گزینه I- (آی بزرگ) هست .
کد :
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
برای استفاده از راه حل اول هم باید از دستور زیر برای پاک کردن رول استفاده کنید :
کد :
iptables -D INPUT -j REJECT
تمام .
راهنما و داکیومنت های مورد نیازتون رو هم نیتونید از google و یا سایت netfilter تهیه کنید .

Debian GNU/Linux System Administrator
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2012-08-04, 09:27 AM,
ارسال : #13
Re: Iptables (فایروال)
سلام...خیییییلی عالی بود ..ممنونم ازتون دوست عزیز..
یا علی

<!-- m --><a class="postlink" href="http://net-ict.blogfa.com/">http://net-ict.blogfa.com/</a><!-- m -->
اللهم عجل لولیک الفرج
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان