IPTables نام یک سیستم فایروال است که از طریق خط فرمان در لینوکس کار می کند. این برنامه عمدتاً به عنوان یک ابزار پیش فرض در دسترس است اوبونتو. سرپرستان غالباً از دیوار آتش IPTables برای مجاز یا مسدود کردن ترافیک در شبکه های خود استفاده می کنند. اگر در IPTables تازه وارد هستید ، یکی از اولین کارهایی که باید انجام دهید ، بروزرسانی آن یا نصب آن با استفاده از دستور زیر است:
$ sudo apt-get iptables را نصب کنید
در حالی که کاربرانی که در رابطهای خط فرمان جدیدی پیدا می کنند یک منحنی یادگیری متصل به IPTables وجود دارد ، این ابزار به خودی خود به اندازه کافی ساده است. یک سری دستورات اصلی وجود دارد که به عنوان نان و کره شما برای کنترل ترافیک عمل می کنند. گفته می شود ، هنگام ایجاد تغییر در قوانین IPTables باید بسیار مراقب باشید. وارد کردن یک فرمان اشتباه می تواند شما را از IPT جدا کند و تا زمانی که به مشکل در دستگاه فیزیکی رسیدگی نکنید.
در این مقاله ، ما می خواهیم یک راهنمای اصلی در مورد IPT ها را برای شما ارائه دهیم و شما را با اصول اساسی معرفی کنیم. قبل از اینکه به قلب IPTables برسیم ، باید مطمئن شوید که آن را دارید VPA در حال اجرا اوبونتو است 16.04 و الف دستگاه محلی با مشتری SSH. اگر قبلاً این موارد را داشته باشید ، زمان شروع آن است.
آموزش IPTables: زنجیرها
یکی از مفاهیم اساسی که باید در IPTables به آن توجه کرد ، زنجیرها است. یک زنجیره در اصل یک قاعده است. جداول فیلتر دارای سه زنجیره است که با IPT ها روبرو می شوید. ورودی, رو به جلو و خروجی.
- ورودی – زنجیره INPUT قانونی است که بسته های ورودی را کنترل می کند. در اینجا می توانید اتصالات جدید را مسدود یا مجاز کنید. شما می توانید این کار را بر اساس پورت ، پروتکل و آدرس IP منبع انجام دهید.
- رو به جلو – زنجیره FORWARD بسته های دریافتی را که به مکان انتهایی متفاوتی منتقل می شوند ، فیلتر می کند. بعید است که از این زنجیره استفاده کنید مگر اینکه مسیریابی را بطور خاص انجام دهید یا به دنبال آن باشید.
- خروجی – از زنجیره OUTPUT برای مدیریت بسته ها و اتصالات خروجی استفاده می شود. توجه داشته باشید که اگر میزبان خارجی را پینگ کنید ، از زنجیره ورودی برای بازگشت داده ها به شما استفاده می شود.
رفتار پیش فرض زنجیره ای
ممکن است بخواهید هنگام شروع کار مستقیماً به پیکربندی قوانین خاص بپردازید اما برای تعریف رفتار پیش فرض ابتدا باید یک قدم عقب بردارید. برای مشخص کردن رفتار پیش فرض زنجیرهای شما ، باید دستور را اجرا کنید:
$ sudo iptables -L دستور
این موارد زیر را نشان می دهد:
کاربر @ ubuntu: ~ $ sudo iptables -L -v
ورودی زنجیره ای (ACCEPT خط مشی)
پیشرو زنجیره ای (سیاست پذیرش)
زنجیر خروجی (خط مشی ACCEPT)
کاربر @ ubuntu: $
این اطلاعات دقیقاً به شما می گوید زنجیره های شما برای انجام چه کاری تنظیم شده اند. در مثال ، زنجیره های ورودی ، رو به جلو و خروجی برای پذیرش ترافیک تنظیم شده اند. این تنظیمات یک نقطه شروع خوب هستند زیرا هیچگونه ارتباطی را که می خواهید مسدود نمی کنند.
با این حال ، اگر متوجه شدید که خط مشی های شما اتصالات را نمی پذیرند ، می توانید هر یک از دستورات زیر را برای پذیرش همه اتصالات وارد کنید:
$ sudo iptables olicpoly دریافت ورودی$ sudo iptables olicpolicy OUTPUT ACCEPT$ sudo iptables olicpoly مقدمه پذیرش
هنگامی که پیش فرض های شما برای پذیرش همه اتصالات تراز شدند ، می توانید با مسدود کردن آدرسهای IP و شماره پورت ، دسترسی به IPT را کنترل کنید. این به شما امکان می دهد تا به جای مسدود کردن همه موارد ، به طور پیش فرض ، کدام اتصالات را مسدود کنید.
اگر با اطلاعات ویژه ای حساس کار می کنید ، می توانید پیش فرض های خود را پیکربندی کنید تا به طور خودکار همه اتصالات را مسدود کند. به این ترتیب می توانید از IPTables برای انتخاب آدرس های IP اختصاصی که می خواهید اجازه دهید استفاده کنید. برای این کار باید دستور زیر را وارد کنید:
$ sudo iptables olicpolicy INPUT DROP$ sudo iptables olicpolicy OUTPUT DROP$ sudo iptables olicpolicy FORWARD DROP
اکثر کاربران بهتر است همه اتصالات را بپذیرند ، اما اگر در یک سرور با امنیت بالا کار می کنید ، لازم است به خاطر بیاورید.
پیکربندی اتصالات فردی
پس از پیکربندی رفتارهای زنجیره ای پیش فرض ، وقت آن است که پیکربندی اتصالات فردی انجام شود این نقطه ای است که شما پیکربندی آنچه به عنوان یک پاسخ خاص برای اتصال به آن گفته می شود ، پیکربندی می کنید. این در اصل به IPTables می گوید که چگونه هنگام اتصال به یک آدرس یا پورت IP ، تعامل برقرار کنید. این پاسخ ها به شرح زیر است؛ تایید کنید, افتاد, رد کنید.
همانطور که در تصویر بالا مشاهده می کنید ، کاربر قوانین زنجیره ای را برای اجازه ، ریزش و یا رد اتصال بر اساس الزامات تعریف کرده است. در زیر توضیحی در مورد آنچه در پاسخ وجود دارد آمده است:
- تایید کنید – این پیکربندی به سادگی امکان برقراری اتصال را می دهد.
- افتاد – قطره بدون هیچ گونه تعامل با منبع به هیچ وجه اتصال را مسدود می کند.
- رد کنید – این اتصال به تلاش را مسدود می کند اما پیام خطایی نیز ارسال می کند. این به طور کلی برای آگاهی از منبعی است که تلاش اتصال توسط فایروال شما مسدود شده است.
چگونه مجاز یا مسدود کردن اتصالات
بسته به تنظیمات شما روشهای مختلفی برای مسدود کردن یا اجازه اتصال وجود دارد. مثالهای زیر با استفاده از روش انسداد پنهان استفاده شده است رها کردن به قطع اتصالات بدون هیچ گونه تعامل. iptables -A به ما امکان می دهد تا احتیاط های اضافی را به قوانینی که توسط تنظیمات زنجیره پیش فرض ما تعیین شده است اضافه کنیم. می بینید که چگونه می توانید از این دستور برای مسدود کردن اتصالات در زیر استفاده کنید:
مسدود کردن یک آدرس IP واحد:
$ sudo iptables -A INPUT -S 10.10.10.10 -j DROP
در مثال بالا 10.10.10.10 را با آدرس IP می خواهید مسدود کنید.
مسدود کردن طیف وسیعی از آدرسهای IP:
$ sudo iptables -A INPUT -s 10.10.10.10.0 / 24 -j DROP
یا
$ sudo iptables -A INPUT -s 10.10.10.0/255.255.255/.0 -j DROP
مسدود کردن یک درگاه واحد:
$ sudo iptables -A INPUT -p tcp —dport ssh -s 10.10.10.10 -j DROP
توجه داشته باشید که ‘ssh می تواند با هر پروتکل یا شماره پورت جایگزین شود. همچنین توجه به این نکته ضروری است که از قطعه -p tcp کد برای اشاره به اینکه پروتکل مورد نظر برای مسدود کردن از UDP یا TCP استفاده می شود استفاده شود.
اگر پروتکل از UDP استفاده می کند ، وارد می شوید -udp بجای -TCP. همچنین می توانید با وارد کردن دستور زیر تمام اتصالات را از آدرس های IP مسدود کنید:
$ sudo iptables -A INPUT -p tcp —dport ssh -jDROP
ارتباط دو طرفه: آموزش اتصال IPT جداول ایالات
بیشتر پروتکل هایی که با آنها روبرو می شوید برای برقراری انتقال نیاز به برقراری ارتباط دارند تا هر دو راه را طی کنند. این بدان معناست که انتقال از یک ورودی و یک خروجی تشکیل شده است. آنچه به سیستم شما می رود به اندازه آنچه بیرون می آید مهم است. حالتهای اتصال به شما امکان می دهد بین اتصالات دو طرفه و اتصالات یک طرفه مخلوط و مطابقت داشته باشید. در مثال زیر ، پروتکل SSH اتصالات SSH را از آدرس IP مسدود کرده است اما اجازه دسترسی به آدرس IP را دارد:
$ sudo iptables -A INPUT -p tcp —dport ssh -s 10.10.10.10 -m حالت —state جدید ، ایجاد شده -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp —sport 22 -d 10.10.10.10. وضعیت دولت مستقر -J ACCEPT
پس از وارد کردن یک فرمان تغییر حالت اتصال ، باید تغییرات خود را ذخیره کنید. اگر این کار را نکنید ، پس از بستن برنامه ، پیکربندی شما از بین می رود. بسته به سیستم توزیع شما استفاده می کنید ، تعدادی از دستورات مختلف وجود دارد که می توانید استفاده کنید:
اوبونتو:
$ sudo / sbin / iptables-save
Red Hat / CentOS –
$ sudo / sbin / iptables خدمات را ذخیره کنید
یا
$ سودو /etc/init.d/iptables را ذخیره کنید
به یاد آوردن استفاده از این دستورات بسیار حیاتی است زیرا باعث می شود هر بار بارگیری برنامه ، زحمت پیکربندی را از بین ببرید..
حذف یک قانون
همانقدر مهم که قادر به حفظ قوانین خود هستید قادر به حذف آنها هستید. اگر اشتباه کنید یا می خواهید یک قانون قدیمی را از بین ببرید ، می توانید از این گزینه استفاده کنید –د فرمان. این دستور باید با تعدادی از قاعده ای که وارد می کنید ترکیب شود. این شماره به IPTables می گوید که کدام قانون باید حذف شود. به عنوان مثال ، اگر قرار بود وارد شوید:
$ sudo iptables – D ورودی 10
سپس قانونی که شما 10 تنظیم کرده اید حذف می شود.
اگر می خواهید خانه را تمیز کنید و طیف وسیعی از قوانین را حذف کنید ، می توانید از آن استفاده کنید -فرمان F. با وارد کردن موارد زیر می توانید این کار را انجام دهید:
$ sudo iptables -F
با این کار مجموعه ای از قوانین پاک می شود و IPTable شما روشن می شود.
IPTables: Learn Chain Rules!
این نتیجه گیری آموزش IPTables ما است. همانطور که مشاهده می کنید IPTables ابزاری همه کاره برای مسدود کردن و اجازه ترافیک است لینوکس توزیع استفاده از این ابزار به طور مؤثر شامل تنظیمات پیش فرض پیش فرض خود و ایجاد قوانین اضافی در بالای آن است. تنظیمات پیش فرض به شما امکان می دهد تا اهداف ترافیک گسترده خود را برای اجازه یا انکار ترافیک مشخص کنید. قوانین به شما امکان می دهند تا رویکرد خود را با توجه به آدرس های IP ، پورت ها و پروتکل ها ساختار دهید.
ما فقط سطح را با پتانسیل IPTables خراشیده ایم ، و یک تن از دستورات مختلف وجود دارد که می توانید برای تصمیم گیری در مورد نحوه تجربه ترافیک روی سرور خود ، از آنها استفاده کنید. با این حال ، توصیه می کنیم قبل از شروع با سایر دستورات ، اصول را پایین بیاورید. به عنوان مثال ، شما می خواهید قبل از تعهد در مورد هر تخصص دیگری ، سر خود را به دور از قوانین اساسی زنجیره بکشید.
وقتی عادت کردید که چگونه IPTables کار می کند ، می توانید قوانین دیگری را برای شخصی سازی تجربه خود وارد کنید. با انجام این کار می توانید دقیقاً مشخص کنید که چه نوع ارتباطاتی با دقت بسیار بیشتری از گذشته امکان پذیر خواهید بود.
ای پیش فرض زنجیره ها در IPTables، می توانید با استفاده از دستورات خط فرمان، ترافیک شبکه خود را مدیریت کنید. این ابزار به عنوان یک ابزار پیش فرض در اوبونتو در دسترس است و برای مجاز یا مسدود کردن ترافیک در شبکه های خود استفاده می شود. با این حال، باید بسیار مراقب باشید که هنگام ایجاد تغییر در قوانین IPTables، دقت کافی را داشته باشید. در این مقاله، ما یک راهنمای اصلی در مورد IPT ها را برای شما ارائه دادیم و شما را با اصول اساسی آن آشنا کردیم. برای شروع، باید مطمئن شوید که IPTables در حال اجرا در اوبونتو 16.04 است و دستگاه محلی شما با مشتری SSH متصل است. سپس می توانید با استفاده از دستورات خط فرمان، ترافیک شبکه خود را مدیریت کنید. یکی از مفاهیم اساسی در IPTables، زنجیره ها است که در این مقاله به آن پرداخته شده است. با استفاده از دستورات خط فرمان، می توانید رفتار پیش فرض زنجیره های خود را تعریف کنید و اتصالات فردی را پیکربندی کنید. با توجه به اینکه IPTables یک ابزار پیشرفته است، باید بسیار مراقب باشید که هنگام ایجاد تغییر در قوانین آن، دقت کافی را داشته باشید.
، می توانید به پیکربندی اتصالات فردی بپردازید. برای مثال ، می توانید اتصالاتی را که از یک آدرس IP خاص به سمت سرور شما می آیند ، مسدود کنید. برای این کار باید دستور زیر را وارد کنید: $ sudo iptables -A INPUT -s 192.168.1.100 -j DROP این دستور به شما اجازه می دهد تا ترافیکی که از آدرس IP 192.168.1.100 به سمت سرور شما می آید را مسدود کنید. همچنین می توانید اتصالاتی را که به یک پورت خاص متصل می شوند ، مسدود کنید. برای این کار باید دستور زیر را وارد کنید: $ sudo iptables -A INPUT -p tcp –dport 22 -j DROP این دستور به شما اجازه می دهد تا ترافیکی که به پورت 22 (پورت SSH) متصل می شود را مسدود کنید. چگونه مجاز یا مسدود کردن اتصالات برای مجاز یا مسدود کردن اتصالات ، باید از دستورات ACCEPT و DROP استفاده کنید. برای مثال ، اگر می خواهید ترافیکی را که از یک آدرس IP خاص به سمت سرور شما می آید ، مسدود کنید ، باید دستور DROP را وارد کنید: $ sudo iptables -A INPUT -s 192.168.1.100 -j DROP اگر می خواهید ترافیکی را که از یک آدرس IP خاص به سمت سرور شما می آید ، مجاز کنید ، باید دستور ACCEPT را وارد کنید: $ sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT ارتباط دو طرفه: آموزش اتصال IPT جداول ایالات برای ارتباط دو طرفه ، باید از دستورات RELATED و ESTABLISHED استفاده کنید. برای مثال ، اگر می خواهید ترافیکی را که به یک پورت خاص متصل می شود ، مجاز کنید ، باید دستورات زیر را وارد کنید: $ sudo iptables -A INPUT -p tcp –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT $ sudo iptables -A OUTPUT -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT این دستورات به شما اجازه می دهند ترافیکی را که به پورت 80 متصل می شود ، مجاز کنید و ارتباط دو طرفه را برقرار کنید. حذف یک قانون برای حذف یک قانون ، باید از دستورات زیر استفاده کنید: $ sudo iptables -L –line-numbers $ sudo iptables -D INPUT 2 این دستورات به شما اجازه می دهند تا لیست قوانین را بررسی ک
ایپیتیبلز یک سیستم فایروال است که در لینوکس از طریق خط فرمان کار می کند. این برنامه به عنوان یک ابزار پیش فرض در اوبونتو در دسترس است و سرپرستان شبکه ها از دیوار آتش ایپیتیبلز برای مجاز یا مسدود کردن ترافیک استفاده می کنند. اگر تازه وارد ایپیتیبلز هستید، باید ابتدا آن را بروزرسانی یا نصب کنید. این ابزار به خودی خود به اندازه کافی ساده است و یک سری دستورات اصلی وجود دارد که به عنوان نان و کره شما برای کنترل ترافیک عمل می کنند. با این حال، باید بسیار مراقب باشید زیرا وارد کردن یک فرمان اشتباه می تواند شما را از ایپیتیبلز جدا کند و به مشکلاتی در دستگاه فیزیکی شما منجر شود. در این مقاله، یک راهنمای اصلی در مورد ایپیتیبلز برای شما ارائه شده است و شما با اصول اساسی آن آشنا خواهید شد. برای شروع کار با ایپیتیبلز، باید مطمئن شوید که آن را در ورژن اوبونتو 16.04 و دستگاه محلی با مشتری SSH در حال اجرا دارید. یکی از مفاهیم اساسی در ایپیتیبلز، زنجیرها هستند که در اصل یک قاعده است. جداول فیلتر دارای سه زنجیره است که با آنها روبرو می شوید: ورودی، رو به جلو و خروجی. برای مشخص کردن رفتار پیش فرض زنجیره های شما، باید دستور “sudo iptables -L” را اجرا کنید. برای پذیرش همه اتصالات، می توانید با مسدود کردن آدرسهای IP و شماره پورت، دسترسی به ایپیتیبلز را کنترل کنید. با این حال، باید به خاطر داشته باشید که این کار در سرورهای با امنیت بالا لازم است. در نهایت، برای پیکربندی اتصالات فردی، می توانید از ایپیتیبلز برای انتخاب آدرس های IP اختصاصی که می خواهید اجازه دهید، استفاده کنید.