در آموزش های قبلی با Access control list یا ACL آشنا شدیم و همچنین نحوی استفاده از Standard ACL و Extended ACL را فرا گرفتیم. حالا می خواهیم با یکی از انواع دیگر ACLها تحت عنوان Reflexive ACL آشنا شویم این ACL را می توان زیر مجموعه Extended ACL در نظر بگیرم. به لحاظ عملکرد شبیه Established ACL است اما عملکردی بهتری نسبت به آن دارد.
به لحاظ مسائل امنیتی زمانی که شبکه را به یک شبکه دیگر مثل شبکه اینترنت متصل می کنیم باید روی ترافیک ورودی کنترل دقیق داشته باشیم و برای این کنترل نیاز است که برای هر سرویس مورد نیاز ACL بنویسم حالا اتصال به شبکه اینترنت را در نظر بگیرد که دارای سرویس های مختلف و فراوان است و برای استفاده ، برای پروتکل های مختلف مثل http ، https ، ftp ، smtp و ... باید ACL استفاده کنیم باتوجه به تعداد زیاد این سرویس ها استفاده از این ACL مشکل می باشد.
دوره آموزشی CCNA Routing&Switching
Reflexive ACL این کنترل ترافیک را خیلی ساده تر و کامل تر انجام می دهد. عملکرد Reflexive ACL به این صورت است که فقط به ترافیکی اجازه ورود به شبکه را می دهد که از داخل شبکه درخواست آن شده است. یعنی ترافیک هنگام ورود به شبکه کنترل می شوند و اگر از داخل شبکه برای آن درخواست شده باشد اجازه ورود به شبکه را پیدا می کند در غیر این صورت ترافیک Drop می شود.
Reflexive ACL کنترل ترافیک را براساس بیت های ACK و RST و آیتم هایی مانند آدرس مبدا و مقصد و شماره انجام می دهد. Reflexive ACL را می توان Stateful در نظر می گیرند چون می تواند انواع مختلف ترافیک را برای ما کنترل کند.
- نکته : Reflexive ACL برخلاف Established ACL می تواند ترافیک انواع پروتکل ها را کنترل کند.
- نکته : برای کنترل کامل و دقیق ترافیک باید از فایروال استفاده شود فایروال stateful است و برای اینکار ساخته شده است و می تواند تمام پروتکل ها را کنترل کند و علاوه بر آن امکانات فراوان دیگری را نیز برای ما فراهم می کند.
تفاوت Reflexive ACL و Established ACL
در حالت established بسته های TCP براساس بیت های ACK و RST قیلتر می شوند ( بیت های ACK و RST اگر استفاده شده باشند نشان دهنده این است که اولین بسته Session نیست و به یک Session برقرا شده تعلق دارد) اما Reflexive ACL به صورت دقیق تر فیلترینگ را برای ما انجام می دهد به طور مثال علاوه بر ACK و RST ، آیتم هایی مانند آدرس مبدا و مقصد و شماره پورت چک می شود که باعث می شود هکر فرصت کمتری برای حمله داشته باشد. علاوه بر موارد فوق ، established فقط توانایی کار با بسته های TCP را دارد و باقی ترافیک ها را نمی تواند بررسی کند اما Reflexive ACL توانایی کنترل انواع ترافیک را دارد.
دوره آموزشي CCNP Enterprise ENCOR
نحوی استفاده از Reflexive ACL
به تصویر زیر توجه کنید:
در این شبکه می خواهیم فقط ترافیکی که از شبکه internal درخواست می شود از شبکه اینترنت وارد شبکه ما شود.
در ابتدا یک access list با نام outgoing می نویسیم که تمام ترافیک tcp را شناسایی می کند. این ترافیکی است که از شبکه قرار است خارج شود و ترافیک بازگشتی آن باید اجازه عبور پیدا کند:
router(config)# ip access-list extended outgoing router(config-ext-nacl)# permit tcp any any reflect tcp-traffic
سپس یک access list با نام incoming می نویسیم و آنرا به access list قبلی مرتبط می کنیم که از اطلاعات آن استفاده کند:
router(config)# ip access-list extended incoming router(config-ext-nacl)# evaluate tcp-traffic
سپس روی اینترفیس مورد نظر در جهت خروجی آن ، access list اول را که ترافیک TCP را شناسایی می کند اختصاص می دهیم و در جهت ورودی ، access list دوم که حاوی اطلاعاتی است که به ترافیک ورودی اجازه عبور می دهد را اختصاص می دهیم:
router(config)# interface Serial0/0 router(config-if)# ip address 192.168.100.1 255.255.255.0 router(config-if)# ip access-group incoming in router(config-if)# ip accesss-group outgoing out
به این صورت تنها ترافیکی اجازه ورود به شبکه را پیدا می کند که از داخل شبکه برای آن درخواست شده باشد.
ایجاد محیط DMZ با استفاده از Reflexive ACL
به تصویر زیر توجه کنید:
در شبکه بالا می خواهیم از اینترنت و DMZ فقط ترافیکی اجازه عبور ورود به شبکه داخلی را داشته باشند که برای آن درخواست شده باشد. همچنین از اینترنت فقط ترافیک مربوط به وب (آدرس وب سرور 172.16.1.2) و ترافیک درخواستی از DMZ ، اجازه ورود به شبکه DMZ را داشته باشد.
برای اینکار از دستورات زیر استفاده می کنیم:
router(config)# ip access-list extended incoming router(config-ext-nacl)# permit tcp any any reflect tcp-traffic router(config)# ip access-list extended outgoing router(config-ext-nacl)# permit tcp any host 172.16.1.2 eq www router(config-ext-nacl)# evaluate tcp-traffic router(config)# interface FastEthernet0/0 router(config-if)# ip access-group incoming in router(config-if)# ip accesss-group outgoing out router(config)# interface FastEthernet0/1 router(config-if)# ip access-group incoming in router(config-if)# ip accesss-group outgoing out
اگر در یادگیری سیسکو مشکل دارید ، به شما پیشنهاد می کنیم از طریق دوره های آموزش سیسکو حرفه ای سایت توسینسو و با دوره آموزش CCNA روتینگ و سویچینگ شروع کنید ، فراموش نکنید که پیشنیاز همه این دوره های آموزش شبکه ، دوره آموزش نتورک پلاس است ، فراموش نکنید توسینسو اولین و بهترین انتخاب شما در حوزه آموزش فناوری اطلاعات فارسی است.
سلام
نه براساس این سناریو ترافیک از شبکه DMZ به شبکه داخلی اجازه ورود نداره
سلام باتشکر از شما بخاطر آموزش Acl و فیلم های رایگانش
تو قسمت اخر اموزش، اینطوری که acl نوشته شده ترافیک از وب سرور به شبکه داخلی هم مجاز میشه؟یعنی برای dmz و شبکه داخلی شرایط یکسان درنظر گرفته شده؟
قسمت وب سرور رو لطفا توضیح میدین؟
باتشکر
چرا برای evaluate شدن ترافیک ی اکسس لیست دیگه نوشتید
منظورتون رو متوجه نشدم
مهندس ببخشید ب نظرتون اگر اینطور بود بهتر نبود یعنی جای incoming و outgoing عوض میشد
ترافیک tcp یک ترافیک رفت و برگشتیه به طور مثال شما ادرس یک سایت را که وارد می کنید و برای دیدن اون سایت درخواست ارسال می کنید و سرور اون سایت براساس درخواست شما براتون اطلاعات اون سایت رو ارسال می کنه
حالا با استفاده از این نوع acl شما مشخص می کنید که تنها ترافیکی اجازه ورود به شبکه را داره که شما برای اون درخواست کرده باشید
با استفاده از reflect tcp-traffic یک جدول ایجاد میشه که اطلاعات ترافیک خروجی tcp را در خودش نگه داری می کنه
و با استفاده از اطلاعات این جدول با استفاده از دستور evalute اجازه ورود ترافیک برگشتی به شبکه را میده
router(config)# ip access-list extended outgoing
router(config-ext-nacl)# permit tcp any any reflect tcp-traffic
router(config)# ip access-list extended incoming
router(config-ext-nacl)# evaluate tcp-traffic
مهندس میشه ی توضیحی در مورد خط دوم بدبد ک دقیق چیکار میکنه reflect و این tcp -traffic و بعد اینکه در خط چهارم evalute برای چیه و چه کار خاصی انجام میده ممنون