چگونه در روترهای Cisco قابلیت URL Filtering را استفاده کنیم؟ URL Filtering چیست؟ روترهای سیسکو می توانند به عنوان یک فایروال لایه 7 عمل کنند. این قابلیت به روتر این اجازه را می دهد که ترافیک را براساس پارامترهای لایه 5 تا 7 کنترل کند. اجرای این فایروال بر پایه Zone-Based layer 3/4 Firewall انجام می گیرد.برخی از پروتکل ها که توسط (Application Inspection and Control (AIC پشتیبانی می شوند به شرح زیر است :
- America Online (AOL) Instant Messenger
- eDonkey P2P protocol
- FastTrack traffic P2P protocol
- Gnutella Version 2 traffic P2P protocol
- H.323 VoIP Protocol version 4
- (Hypertext Transfer Protocol (HTTP) (URL filtering and HTTP inspection
- (Internet Message Access Protocol (IMAP
- I Seek You (ICQ) IM protocol
- Kazaa Version 2 P2P protocol
- MSN Messenger IM protocol
- (Post Office Protocol version 3 (POP3
- (Session Initiation Protocol (SIP
- (Simple Mail Transfer Protocol (SMTP
- (Sun RPC (SUNRPC
- Windows Messenger IM protocol
- Yahoo IM protocol
در این مقاله می خواهیم URL filter را مورد بحث قرار می دهیم
دوره آموزش CCNA Security
URL Filter چیست؟
URL Filter این قابلیت را به ما می دهد که که ترافیک مربوط به URL خاص را Drop ، Pass یا log گیری کنیم. این قابلیت قدرتمند می تواند شامل مطابقت با یک آدرس ساده مثل یک آدرس دامینی مانند www.tosinso.com باشد یا به صورت پیچیده براساس مطابقت با یک گروه خاص از سایت ها مانند سایت های Game باشد. برای استفاده از حالت های پیچیده مثل تشخیص براساس گروه های خاص از یک سرور خارجی مانند Websense که دارای یک دیتابیس در این زمینه است استفاده می شود. برخلاف Zone-Based layer 3/4 Firewall که در مقاله قبلی توضیح داده شد در URL Filtering نیاز به استفاده از Parameter map داریم. Parameter Map برای مشخص کردن پارامترهای خاص که توسط Class map و Policy map اشاره خواهد شد مورد استفاده قرار می گیرد.
Parameter Map Configuration
دو نوع Parameter map برای URL Filter قابل استفاده و تنظیم است :
- URL Filter Policy Parameter map : تنظیم پارامترهای مختلف مثل پیغامی که در زمان فیلتر شدن URL نمایش داده می شود.
- URL Filter – GLOB Parameter map : در این حالت لیستی از دامین ها ، URLها یا کلمات خاص در URL تهیه می شود و از آن به عنوان whitelist یا blacklistاستفاده می شود.
گزینه های موجود برای URL Filter Policy Parameter map بسته به نوع URL Filtering که می خواهیم استفاده کنیم می تواند Local ، N2H2 یا Websense باشد. با استفاده از N2H2 و Websense می توانیم از دیتابیس آنها که دارای دسته بندی های مختلف است برای URL Filtering استفاده کنیم.نمونه دستورات برای URL Filter Policy Parameter map به صورت زیر است:
Router(config)# parameter-map type urlfpolicy local local-urlf-parameter-map Router(config-profile)# alert on Router(config-profile)# block-page message “Access Denied”
URL Filter – GLOB Parameter map برای تهیه لیست از دامین ها یا کلمات کلیدی که قرار است به عنوان الگو با URLها مقایسه شوند به کار می رود. این الگوها بسیار انعصاف پذیر هستند. به صورت مثال به صورت ساده برای یک دامین مثل سایت tosinso.com یا با استفاده از کارکترهای خاص برای مشخص کردن حالت های خاصی از آدرس های دامینی و یا پیدا کردن یک کلمه در یک URL ، قابل انجام است. در جدول زیر کاراکترهای که برای مشخص کردن الگو می توانند به ما کمک کنند نمایش داده شده است :
شرح کاراکترهای جدول فوق به شرح زیر است :
- کاراکتر ستاره : این کاراکتر به معنی مطابقت با هر چیزی است به طور مثال الگوی * pattern با همه دامین ها مطابقت پیدا می کند.
- [abc] : در این الگو هر یک از سه کارکتر a و b و c وجود داشته باشد با آنها مطابقت پیدا می کند به طور مثال الگوی [abc]100.com با هر سه دامین a100.com و b100.com و c100.com مطابقت پیدا می کند.
- [a-c] : در این الگو هر یک از کارکترهای a تا c وجود داشته باشد با آنها مطابقت پیدا می کند به طور مثال الگوی [a-c]100.com با هر سه دامین a100.com و b100.com و c100.com مطابقت پیدا می کند.
- [0-9] : در این الگو هر یک از اعداد 0 تا 9 وجود داشته باشد با آنها مطابقت پیدا می کند به طور مثال الگوی itpro[1-3].ir با هر سه دامین itpro1.ir و itpro2.ir و itpro3.ir مطابقت پیدا می کند.
استفاده از این کارکترها به ما در فیلتر کردن سایت ها کمک زیادی می کند.نمونه دستورات URL Filter – GLOB Parameter map به صورت زیر است :
Router(config)# parameter-map type urlf-glob glob_server_parameter_map Router(config-profile)# pattern testing-[1-3].com Router(config)# parameter-map type urlf-glob glob_keyword_parameter_map Router(config-profile)# pattern test Router(config-profile)# pattern example
Class Map Configuration
از Class map برای شناسایی ترافیک مشابه با الگویی که در قسمت قبلی توسط URL Filter – GLOB Parameter map تعریف کرده ایم استفاده می شود. Class map که تعریف می کنیم از نوع urlfilter است و اگر از نوع local باشد برای این class map دو گزینه وجود دارد که به شرح زیر است :
- server domain : برای شناسایی نام دامین مورد استفاده قرار می گیرد.
- URL keyword : برای شناسایی یک کلمه در URL مورد استفاده قرار می گیرد.
نکته : در صورت استفاده از سرورهای خارجی مثل websense برای شناسایی ترافیک یک گزینه تحت عنوان server response داریم.نمونه دستورات Class map برای شناسایی ترافیک به صورت زیر است :
Router(config)# class-map type urlfilter url_class_map Router(config-cmap)# match server-domain urlf-glob glob_server_parameter_map Router(config-cmap)# match url-keyword urlf-glob glob_keyword_parameter_map
Policy Map Configuriation
از policy map برای تعیین واکنش که نسبت به ترافیکی که توسط class map شناسایی شده است استفاده می شود. برای ترافیک شناسایی شده می توان واکنش هایی را در نظر گرفت که آنها را تشریح می کنیم :
- Log : باعث تولید log می شود.
- Reset : اجازه عبور ترافیک شناسایی شده را نمی دهد.
- Allow : اجازه عبور ترافیک شناسایی شده را می دهد.
نمونه دستورات Policy map برای تعیین واکنش نسبت به ترافیک شناسایی شده به صورت زیر است :
Router(config)# policy-map type inspect urlfilter url_policy_map Router(config-pmap)# parameter type urlfilter local local-urlf-parametermap Router(config-pmap)# class type urlfilter url_class_map Router(config-pmap-c)# log Router(config-pmap-c)# reset
فعال کردن URL Filtering
اعمال کردن URL Filtering مقداری پیچیده است چون URL Filtering را نمی توان به صورت مستقیم به یک Zone pair اختصاص داد و باید در Class map مربوط به Zone Based layer 34 firewall ترافیک مربوط به http را بازرسی کرد و در Policy map مربوط به Zone Based layer 34 firewall باید URL Filtering را با استفاده از دستور service-policy اعمال کنیم. در ادامه یک مثال عملی را با هم اجرا می کنیم تا بهتر آنرا درک کنیم.نمونه دستورات برای فعال کردن URL Filtering به صورت زیر است :
Router(config)# policy-map type inspect http_policy_map Router(config-pmap)# class http_class_map Router(config-pmap-c)# inspect Router(config-pmap-c)# service-policy urlfilter url_policy_map
Troubleshoot
برای بررسی و خطایابی از دستورات زیر می توانید استفاده کنید :
Router#show class-map type urlfilter Router#show ip trm config Router#show ip trm subscription status Router#show parameter-map type trend-global Router#show parameter-map type urlf-glob Router#show parameter-map type urlfpolicy Router#show policy-map type inspect urlfilter Router#show policy-map type inspect zone-pair Router#show policy-map type inspect zone-pair urlfilter
در قسمت بعدی مقاله جهت آشنایی کامل و بهتر یک سناریو را به صورت عملی پیاده سازی می کنیم.
اگر در یادگیری سیسکو مشکل دارید ، به شما پیشنهاد می کنیم از طریق دوره های آموزش سیسکو حرفه ای سایت توسینسو و با دوره آموزش CCNA روتینگ و سویچینگ شروع کنید ، فراموش نکنید که پیشنیاز همه این دوره های آموزش شبکه ، دوره آموزش نتورک پلاس است ، فراموش نکنید توسینسو اولین و بهترین انتخاب شما در حوزه آموزش فناوری اطلاعات فارسی است.
ممنون محمد جان
دقیقا درسته این IOS که این توان را به روتر میده که بتونه پروتکل های لایه هفتم را هم چک کنه این ویژگی از نسخه Cisco IOS Software Release 12.4(9)T اضافه شده
تو این مقاله از nbar استفاده نشده اما برای برخی پروتکل های دیگه مثل eDonkey از NBAR استفاده میشه
خیلی جالب بود مهندس قنبری عزیز همیشه لذت میبریم از مطالبتون فقط یک نکته ، اینکه روتر لایه سه درک از لایه هفت داره در واقع بسته به نسخه IOS ای هم داره که استفاده می کنه ؟ آیا از NBAR استفاده می کنه که درک لایه هفتی داشته باشه ؟ ممنون