جعفر قنبری شوهانی
مهندس و مدرس زیرساخت و امنیت و مدیر ارشد وب سایت توسینسو

URL Filtering چیست و چگونه در روترهای سیسکو پیاده سازی می شود ؟

چگونه در روترهای 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 را مورد بحث قرار می دهیم

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

در قسمت بعدی مقاله جهت آشنایی کامل و بهتر یک سناریو را به صورت عملی پیاده سازی می کنیم.


جعفر قنبری شوهانی
جعفر قنبری شوهانی

مهندس و مدرس زیرساخت و امنیت و مدیر ارشد وب سایت توسینسو

جعفر قنبری شوهانی ، مهندس و مدرس شبکه ، آشنایی من با شبکه برمی گرده به سال 1382 که دوره NT و Novel رو گذروندم و الان بیشتر از 10 ساله سابقه اجرایی در سطح Enterprise (بانک ها ، موسسه مالی ، ادارات دولتی ، سرویس پروایدر) را دارم و در حال حاضر به عنوان مهندس شبکه در شرکت توزیع برق مشهد و به عنوان مدیر ارشد و مدرس شبکه در سایت ToSinSo مشغول به کار هستم. در اکثرا حوزه های شبکه کار کردم و تجربه دارم اما تخصص اصلیم رو در حوزه زیرساخت و امنیت اون میدونم

نظرات