Thursday, March 28, 2013

Cisco Flexible Packet Matching (FPM) in 15.x

Cisco FPM on ISR router is about detecting a certain pattern (e.g. regular expression) in the payload packets before deciding whether to forward or drop it. One good example is to drop malicious packets and even Skype login that attempt to change its communicating methods over time. Your IPS signatures may not even be updated quick enough.

There is an easy-to-follow FPM guide on Getting Started with Cisco IOS Flexible Packet Matching. It even stated that almost all Cisco ISR platforms support this feature. I've learnt that only certain trains and versions can support FPM commands and they may not even be the latest versions. Use "Cisco Software Advisor" on "Feature/Software" tab to determine which IOS trains and versions support FPM. Of course, you'll need a CCO account to login.

In 15.x, there is also a change in loading FPM PHDF files. Not only you don't have to download the phdf files, there is a slight change in loading FPM PHDF files:

Router(config)#load protocol system:fpm
%Complete file name to be loaded is required

Instead, you'll have to do this
Router(config)# load fpm
Try to load bundle PHDF files ...

Then do a "show protocols phdf all" to see loaded phdf files. It should include all standard PHDFs: ether.phdf, ip.phdf, tcp.phdf, and udp.phdf. These PHDFs provide Layer 2-4 protocol definition according to Flexible Packet Matching Deployment Guide.

Nested Access Control
Cisco FPM supports nested access control policy i.e. enforce a child policy on parent policy. You can define a "class-map type stack" to check on the protocol fields and use another "class-map type access-control" to check on the payload contents. For example, you want to check for a password on the payload on protocol number 17 (UDP) on port 1234. The example config would be:

!--- Define the values to be checked on UDP header port 1234
class-map type stack match-all UDP-CHECK
 match field IP protocol eq 0x11 next UDP
 match field UDP dest-port eq 1234 next UDP

!---- Ensure the payload to contain the password string. You can also use regular expression
class-map type access-control match-all PASSWORD-CHECK
 match start UDP payload-start offset 0 size 100 string "password"

!---- Define the child policy and just log the packets if payload contains the password
policy-map type access-control CHILD-POLICY
 class PASSWORD-CHECK
   log

!---- Nested policy on Parent. Check on UDP header then the payload. Otherwise, drop the packet.
policy-map type access-control PARENT-POLICY
 class UDP-CHECK
   service-policy CHILD-POLICY
 class class-default
   log
   drop

!--- Enforce the FPM policy on the router interface
interface GigabitEthernet0/0
  service-policy type access-control output PARENT-POLICY


8 comments:

  1. Given your above configurations, UDP + "password" will be logged.

    However UDP + payload without "password" will not be logged and will pass through.

    Can the settings be changed to drop UDP + payload without "password"??

    ReplyDelete
  2. I've tested. Packets without password would be dropped and logged under the class-default rule. Class-default is the "catch-all" rule.

    ReplyDelete
  3. Thank you for sharing any nice information . I like to know more about what is new and i think that we must always learn from each other
    real estate
    cars
    free ads
    advertise for free

    ReplyDelete
  4. خوب است اگر قيمت کورين يك بار خوردن غذاي گياهي را به برنامه غذايي خود اضافه كنيد. براي نحوه پخت آن‌ها مي‌توانيد به صورت آن لاين در اينترنت ليست قيمت کورين داخل كتاب خانه ي شخصي، كتاب فروشي بيابيد يا از كساني كه گياه خوار اند بپرسيد.
    استفاده‌هاي گوناگون از حبوبات سالم و سبزيجات مغذي طراحي غذا بايد بر اساس ظرفي كه در آن است بايد باشد قيمت کورين ايراني براي تامين پروتئين بايد مقدار زيادي حبوبات سالم را در نظر داشت مانند لوبيا و محصولاتي مانند تفو. تركيب غذا با حبوبات باعث مي‌شود غذايي با منبع پروتئين كامل سرو كنيد.
    سرانجام غذايتان با سبزيجات فشرده و طبيعي كامل مي‌شود قيمت ورق کورين گياهاني مثل: اسفناج و كلم پيچ، سيب زميني شيرين ، شلغم و هويج وحشي ، گوجه فرنگي‌هاي تازه، فلفل، هويج شيرين، كلم بروكلي و اوكادو. اين سبزيجات فقط براي تهيه غذا نيستند ، بلكه داراي آنتي اكسيدان‌هاي مفيد و فيبر هستند كه به شما براي يك تغذيه خوب كمك مي‌كنند

    ReplyDelete
  5. ماده ي چسبنده اي از گندم وجود دارد کورين ايراني كه جايگزين مناسبي براي مرغ است به طوري كه در ساخت بو و مزه به خوبي شبيه مرغ است. به علاوه تفو بكي از بهترين شركت‌هاي نام آشنا در فعاليت‌هاي پخت گوشت‌هاي كبابي کورين سامسونگ و سرخ كردني است. ( به جز اين مواد نرم تفو چاشني‌هاي مناسبي براي سالاد و دسر است.) كه اين مواد به وسيله سويا و مخلوتي از حبوبات درست مي‌شوند. نوع غليظ آن در پخت غذا مفيد است قيمت کورين ايراني براي اين كه پيش از مصرف با آتش ملايم سرخ شده اند.
    ديگر منابع خوب پروتئين در غذاي گياهي شامل همه حبوبات مثل باقالا، لوبيا و سبزي است قيمت کورين سامسونگ براي درست كردن يك غذاي گياهي مثل خوراك لوبيا ، مي‌توان سبزي‌هاي خورد شده و حبوباتي مثل باقالا و لوبيا به جاي گوشت گاو افزود . باقالا ، لوبيا، عدس‌هاي رنگارنگ و لپه سالم و مقوي هستند و مي‌توان آن‌ها را به سوپ ، تاس كباب و غذا‌هاي مركب گوشتي افزود همچنين مي‌توانيد باقالا و لوبيا و سبزي‌هاي خوردني را به سالاد و برنج‌ها اضافه كنيد

    ReplyDelete
  6. آيا شما مي‌دانيد كه چگونه براي خود کورين يا مهمانان گياه خوارتان غذاي گياهي بپزيد. گزينه‌هاي زيادي از قبيل بخار پز كردن گياهان سنگ کورين دودي كردن برنج يا سبزيجات داريد.

    آيا شما مي‌دانيد كه چگونه براي خود يا مهمانان گياه خوارتان غذاي گياهي بپزيد کورين هانکس گزينه‌هاي زيادي از قبيل بخار پز كردن گياهان ، دودي كردن برنج يا سبزيجات داريد.

    كليد پخت غذا‌هاي گياهي با غذا‌هاي گوشتي کورين ال جي يا غذا‌هايي كه حاوي ديگر آثار حيواني اند بسيار متفاوت اند، در درست كردن غذاي گياهي منبع پروتئين از حبوبات و سبزيجات متنوع و تازه تامين مي‌شود.
    در غذا‌هاي گياهي تمركز روي گوشت قرمز يا ماهي ندارند صفحه کورين بنابر اين اولين چيزي كه لازم خواهيد داشت كه ياد بگيريد چگونه از قبل به غذايتان نگاه كنيد. امروزه براي گوشت جايگزين‌هاي مناسبي در فروشگاه‌ها و سوپر ماركت‌ها در دسترس هستند. اگر مي‌خواهيد پخت غذا را آغاز كنيد در دستور العمل آن از جايگزين‌هاي گوشت قرمز به به جاي خود آن استفاده كنيد

    ReplyDelete