<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2 in Network Security</title>
    <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720378#M562073</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mike,&lt;/P&gt;&lt;P&gt;I have had another requirement levied on me &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.cisco.com/4.5.4/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&amp;nbsp; I now need to create another rule to allow a HTTP request with a different set of headers.&amp;nbsp; Originally I had the rule such that both of these headers had to be present:&lt;/P&gt;&lt;P&gt;"X Header A 1"&lt;/P&gt;&lt;P&gt;"X Header A 2"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now I need to add a rule that says they request may also have these two headers (both must be present)&lt;/P&gt;&lt;P&gt;"X Header B 1"&lt;/P&gt;&lt;P&gt;"X Header B 2"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how do I make the inspection rule such that it is a "AND" for both headers of a type included but an "OR" on whether it is X Header A or X Header B?&amp;nbsp; Or do I chain rules together such that it is a fall through rule set?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Damon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 24 Oct 2012 01:16:39 GMT</pubDate>
    <dc:creator>lovedam</dc:creator>
    <dc:date>2012-10-24T01:16:39Z</dc:date>
    <item>
      <title>Regular Expression Matching of Custom HTTP Headers - ASA 8.2(4)</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720368#M562056</link>
      <description>&lt;P&gt;I have an application I have to support where there will be two custom HTTP headers inserted into the normal HTTP 1.1 message.&amp;nbsp; Let's call them "X-Header1" and "X-Header2."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to be able to allow only HTTP traffic that has these two headers (and the proper values) and drop everything else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've been reading about the default HTTP inspection that I can do, but when I look at inspecting the HTTP header, it appears I can only call a regular expression match against a known header.&amp;nbsp; I want to call the regex against the entire header and see if these two headers and values are present.&amp;nbsp; How can I accomplish this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using 8.2(4).&amp;nbsp; I using the following tech note/document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.cisco.com/en/US/docs/security/asa/asa80/configuration/guide/inspect.html#wp1431359" target="_blank"&gt;http://www.cisco.com/en/US/docs/security/asa/asa80/configuration/guide/inspect.html#wp1431359&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;To match text found in the HTTP request message header, or to restrict the count or length of the header, enter the following command:&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV class="pEx2_Example2"&gt;&lt;PRE&gt;&amp;gt;&amp;gt;hostname(config-cmap)# &lt;STRONG class="cBold"&gt;match &lt;/STRONG&gt;[&lt;STRONG class="cBold"&gt;not&lt;/STRONG&gt;]&lt;STRONG class="cBold"&gt; request header &lt;/STRONG&gt;{[&lt;EM class="cEmphasis"&gt;field&lt;/EM&gt;]&lt;EM class="cEmphasis"&gt; 
&lt;/EM&gt;&amp;gt;&amp;gt;[&lt;STRONG class="cBold"&gt;regex &lt;/STRONG&gt;[&lt;EM class="cEmphasis"&gt;regex_name &lt;/EM&gt;| &lt;STRONG class="cBold"&gt;class&lt;/STRONG&gt; &lt;EM class="cEmphasis"&gt;regex_class_name&lt;/EM&gt;]]&lt;EM class="cEmphasis"&gt; &lt;/EM&gt;|&amp;nbsp; 
&amp;gt;&amp;gt;[&lt;STRONG class="cBold"&gt;length gt&lt;/STRONG&gt; &lt;EM class="cEmphasis"&gt;max_length_bytes &lt;/EM&gt;| &lt;STRONG class="cBold"&gt;count gt &lt;/STRONG&gt;&lt;SPAN&gt;max_count_bytes&lt;/SPAN&gt;]}
&lt;/PRE&gt;&lt;/DIV&gt;&lt;DIV class="pPreformatted"&gt;&lt;PRE class="pPreformatted"&gt;&lt;A name="wp1473092" target="_blank"&gt;&lt;/A&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;A name="wp1474849" target="_blank"&gt;&lt;/A&gt;&lt;P class="pB2_Body2"&gt;&amp;gt;&amp;gt;Where the &lt;EM class="cEmphasis"&gt;field &lt;/EM&gt;is the predefined message header keyword&lt;/P&gt;&lt;P class="pB2_Body2"&gt;&lt;/P&gt;&lt;P class="pB2_Body2"&gt;the last line seems to indicate I would need to do it some other way?&amp;nbsp; perhaps just define a totally new class and regex against all traffic coming in on port 80?&amp;nbsp; wouldn't that just crush my throughput?&lt;/P&gt;&lt;P class="pB2_Body2"&gt;&lt;/P&gt;&lt;P class="pB2_Body2"&gt;I am told that using a F5 box I can do this, but I would prefer to stick with using the firewall.&lt;/P&gt;&lt;P class="pB2_Body2"&gt;&lt;/P&gt;&lt;P class="pB2_Body2"&gt;Thanks,&lt;/P&gt;&lt;P class="pB2_Body2"&gt;Damon&lt;/P&gt;&lt;P class="pB2_Body2"&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Mar 2019 20:35:48 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720368#M562056</guid>
      <dc:creator>lovedam</dc:creator>
      <dc:date>2019-03-11T20:35:48Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720369#M562060</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Damon,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Give something like this a try:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regex header1 "X-Header1"&lt;BR /&gt;regex header2 "X-Header2"&lt;BR /&gt;class-map type inspect http match-any http-class&lt;BR /&gt; match request header regex header1 regex header1&lt;BR /&gt; match request header regex header2 regex header2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That should let you match the fields in the header using a custom regex. From there, you can just reference the http-class in your policy-map.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 May 2011 16:42:41 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720369#M562060</guid>
      <dc:creator>mirober2</dc:creator>
      <dc:date>2011-05-23T16:42:41Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720370#M562061</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have one additional criteria I will need for this map.&amp;nbsp; I have a whitelist of IPs that can make HTTP requests without the additional headers.&amp;nbsp; So, I need to check that either the traffic is from the whitelist ACL or that it has the header.&amp;nbsp; If one of the two isn't true I need to drop the traffic.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, I have the class map for the inspection of the header, but how do I classify traffic that *doesn't* meet the whitelist criteria as the only traffic for the HTTP inspection?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do I have to nest class-maps?&amp;nbsp; I've tried to add the whitelist ACL class-map to the header class-map and it won't let me.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the class you had me create:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;class-map type inspect http match-any http-class&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and I created one:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class-map whitelist-http&lt;/P&gt;&lt;P&gt;match access-list whitelist_acl &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;however, I am not able to nest these inside another class-map, nor am I able to nest these in a polcy map.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Damon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 May 2011 20:40:36 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720370#M562061</guid>
      <dc:creator>lovedam</dc:creator>
      <dc:date>2011-05-23T20:40:36Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720371#M562063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Damon,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can call your custom header class-map from a policy-map of type inspect http. Then, you just attach that custom policy to the inspection. Here's an example (assuming 10.1.1.1 is a trusted host who can make HTTP requests without the additional headers):&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;regex header1 "X-Header1"&lt;BR /&gt;regex header2 "X-Header2"&lt;BR /&gt;!&lt;BR /&gt;access-list whitelist extended deny tcp host 10.1.1.1 any eq www&lt;BR /&gt;access-list whitelist extended permit tcp any any eq www&lt;BR /&gt;!&lt;BR /&gt;class-map http-user-class&lt;BR /&gt; match access-list whitelist&lt;BR /&gt;class-map type inspect http match-any http-header-class&lt;BR /&gt; match request header regex header1 regex header1&lt;BR /&gt; match request header regex header2 regex header2&lt;BR /&gt;!&lt;BR /&gt;policy-map type inspect http http-policy&lt;BR /&gt; parameters&lt;BR /&gt; class http-header-class&lt;BR /&gt;&amp;nbsp; reset log&lt;BR /&gt;policy-map global_policy&lt;BR /&gt; class http-user-class&lt;BR /&gt;&amp;nbsp; inspect http http-policy&lt;BR /&gt;!&lt;BR /&gt;service-policy global_policy global&lt;/PRE&gt;&lt;P&gt;This document might also help answer some question you run across:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-wiki-small" href="https://community.cisco.com/docs/DOC-1268"&gt;https://supportforums.cisco.com/docs/DOC-1268&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 May 2011 13:04:26 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720371#M562063</guid>
      <dc:creator>mirober2</dc:creator>
      <dc:date>2011-05-24T13:04:26Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720372#M562066</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for the help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have this implemented and it works, kinda... the whitelisted IPs work no problem in accessing the web server.&amp;nbsp; The non-whitelisted IPs don't work, however, no matter what I put into the regex command.&amp;nbsp; So, I tried an easy test and made the regex expression just look at a standard header ("User-Agent").&amp;nbsp; I can see from wireshark that that header is being sent out in my request.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the simplified class-map and regex:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;regex header1 "User-Agent"&lt;BR /&gt;!&lt;BR /&gt;class-map type inspect http match-any http-header-class&lt;BR /&gt;match request header regex header1 regex header1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my testing I can see in the log that the inspection engine is dropping my request to the web server - (log says "terminated by inspection engine , reason - reset unconditionally"). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, I know the class-map is being executed, but I also know that in the packet capture that the header "User-Agent" is in the HTTP request.&amp;nbsp; Not sure where to go from here.&amp;nbsp; It seems like the regex isn't setup correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Damon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 May 2011 19:27:55 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720372#M562066</guid>
      <dc:creator>lovedam</dc:creator>
      <dc:date>2011-05-24T19:27:55Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720373#M562068</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Damon,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see what you're trying to do now, sorry about that. I misread your original post when you mentioned the header would contain "the proper values". I left out some of the config in my last post for what you're trying to do. Try this instead:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regex any ".*"&lt;BR /&gt;class-map type inspect http match-any http-header-class&lt;BR /&gt; match request header regex header1 regex any&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The 2nd regex referenced in the match command should be the contents of the field matched by the first regex. What I configured should match any string, but for performance reasons you should make a more specific regex if possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope that helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 May 2011 19:40:05 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720373#M562068</guid>
      <dc:creator>mirober2</dc:creator>
      <dc:date>2011-05-24T19:40:05Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720374#M562069</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;well... I am still getting the drops by the inspection engine.&amp;nbsp; I used the "Modify Headers" add-on for firefox and made a header named "damon" with a value of "100"&amp;nbsp; Here is my simple config.&amp;nbsp; It still won't match... at least it appears that way. I used the regex match for any value that you gave me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to drop traffic if it doesn't have the header... I have tried every combination of "class-map match-all" "class-map match-any" coupled with "match" and "match not" statements and none works.&amp;nbsp; I have included a packet capture from the ASA to show that the header is coming through.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;regex anymatch ".*"&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;regex damonheader "damon"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;class-map type inspect http match-any akamai-hls-header-class&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt; match request header regex damonheader regex anymatch&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;class-map hls-whitelist-class&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt; match access-list hls-request-whitelist&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;policy-map type inspect http hls-http-policy&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt; parameters&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt; class akamai-hls-header-class&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&amp;nbsp; reset log&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;policy-map global_policy&lt;/P&gt;&lt;P&gt; class inspection_default&lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect dns preset_dns_map &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect ftp &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect h323 h225 &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect h323 ras &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect ip-options &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect netbios &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect rsh &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect rtsp &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect skinny&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect esmtp &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect sqlnet &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect sunrpc &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect tftp &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect sip&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect xdmcp &lt;/P&gt;&lt;P&gt; class hls-whitelist-class&lt;/P&gt;&lt;P&gt;&amp;nbsp; inspect http hls-http-policy &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3: 19:42:15.443336 67.111.135.8.3752 &amp;gt; 65.106.138.170.80: P 3722474074:3722474460(386) ack 1053130832 win 65535&lt;/P&gt;&lt;P&gt;0x0000&amp;nbsp;&amp;nbsp; 4500 01aa 5a93 4000 7d06 0b2f 436f 8708&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; E...Z.@.}../Co..&lt;/P&gt;&lt;P&gt;0x0010&amp;nbsp;&amp;nbsp; 416a 8aaa 0ea8 0050 dde0 725a 3ec5 8050&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aj.....P..rZ&amp;gt;..P&lt;/P&gt;&lt;P&gt;0x0020&amp;nbsp;&amp;nbsp; 5018 ffff 5c05 0000 4745 5420 2f41 4143&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P...\...GET /AAC&lt;/P&gt;&lt;P&gt;0x0030&amp;nbsp;&amp;nbsp; 5f44 6174 612f 2048 5454 502f 312e 310d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _Data/ HTTP/1.1.&lt;/P&gt;&lt;P&gt;0x0040&amp;nbsp;&amp;nbsp; 0a48 6f73 743a 2036 352e 3130 362e 3133&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Host: 65.106.13&lt;/P&gt;&lt;P&gt;0x0050&amp;nbsp;&amp;nbsp; 382e 3137 300d 0a55 7365 722d 4167 656e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.170..User-Agen&lt;/P&gt;&lt;P&gt;0x0060&amp;nbsp;&amp;nbsp; 743a 204d 6f7a 696c 6c61 2f35 2e30 2028&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t: Mozilla/5.0 (&lt;/P&gt;&lt;P&gt;0x0070&amp;nbsp;&amp;nbsp; 5769 6e64 6f77 7320 4e54 2035 2e32 3b20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows NT 5.2; &lt;/P&gt;&lt;P&gt;0x0080&amp;nbsp;&amp;nbsp; 7276 3a32 2e30 2e31 2920 4765 636b 6f2f&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rv:2.0.1) Gecko/&lt;/P&gt;&lt;P&gt;0x0090&amp;nbsp;&amp;nbsp; 3230 3130 3031 3031 2046 6972 6566 6f78&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20100101 Firefox&lt;/P&gt;&lt;P&gt;0x00a0&amp;nbsp;&amp;nbsp; 2f34 2e30 2e31 0d0a 4163 6365 7074 3a20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /4.0.1..Accept: &lt;/P&gt;&lt;P&gt;0x00b0&amp;nbsp;&amp;nbsp; 7465 7874 2f68 746d 6c2c 6170 706c 6963&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; text/html,applic&lt;/P&gt;&lt;P&gt;0x00c0&amp;nbsp;&amp;nbsp; 6174 696f 6e2f 7868 746d 6c2b 786d 6c2c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ation/xhtml+xml,&lt;/P&gt;&lt;P&gt;0x00d0&amp;nbsp;&amp;nbsp; 6170 706c 6963 6174 696f 6e2f 786d 6c3b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; application/xml;&lt;/P&gt;&lt;P&gt;0x00e0&amp;nbsp;&amp;nbsp; 713d 302e 392c 2a2f 2a3b 713d 302e 380d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; q=0.9,*/*;q=0.8.&lt;/P&gt;&lt;P&gt;0x00f0&amp;nbsp;&amp;nbsp; 0a41 6363 6570 742d 4c61 6e67 7561 6765&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .Accept-Language&lt;/P&gt;&lt;P&gt;0x0100&amp;nbsp;&amp;nbsp; 3a20 656e 2d75 732c 656e 3b71 3d30 2e35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : en-us,en;q=0.5&lt;/P&gt;&lt;P&gt;0x0110&amp;nbsp;&amp;nbsp; 0d0a 4163 6365 7074 2d45 6e63 6f64 696e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..Accept-Encodin&lt;/P&gt;&lt;P&gt;0x0120&amp;nbsp;&amp;nbsp; 673a 2067 7a69 702c 2064 6566 6c61 7465&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g: gzip, deflate&lt;/P&gt;&lt;P&gt;0x0130&amp;nbsp;&amp;nbsp; 0d0a 4163 6365 7074 2d43 6861 7273 6574&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..Accept-Charset&lt;/P&gt;&lt;P&gt;0x0140&amp;nbsp;&amp;nbsp; 3a20 4953 4f2d 3838 3539 2d31 2c75 7466&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ISO-8859-1,utf&lt;/P&gt;&lt;P&gt;0x0150&amp;nbsp;&amp;nbsp; 2d38 3b71 3d30 2e37 2c2a 3b71 3d30 2e37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -8;q=0.7,*;q=0.7&lt;/P&gt;&lt;P&gt;0x0160&amp;nbsp;&amp;nbsp; 0d0a 4b65 6570 2d41 6c69 7665 3a20 3131&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..Keep-Alive: 11&lt;/P&gt;&lt;P&gt;0x0170&amp;nbsp;&amp;nbsp; 350d 0a43 6f6e 6e65 6374 696f 6e3a 206b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5..Connection: k&lt;/P&gt;&lt;P&gt;0x0180&amp;nbsp;&amp;nbsp; 6565 702d 616c 6976 650d 0a64 616d 6f6e&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eep-alive..damon&lt;/P&gt;&lt;P&gt;0x0190&amp;nbsp;&amp;nbsp; 3a20 3130 300d 0a74 6573 7431 313a 2032&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 100..test11: 2&lt;/P&gt;&lt;P&gt;0x01a0&amp;nbsp;&amp;nbsp; 3334 3933 3430 0d0a 0d0a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 349340.... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 May 2011 20:08:39 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720374#M562069</guid>
      <dc:creator>lovedam</dc:creator>
      <dc:date>2011-05-24T20:08:39Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720375#M562070</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have gotten this to work, but I can only block traffic when the header is present, not the other way around.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wouldn't I take this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;class-map type inspect http match-any akamai-hls-header-class&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt; match request header regex damonheader regex anymatch&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and either make it a "match not" statement?&amp;nbsp; I tried that and it has no affect.&amp;nbsp; Also, I tried making the class-map a "match-all" and that had no affect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what special logic do I need?&amp;nbsp; I want to drop the packet when the "damonheader" is *not* in the HTTP packet...&amp;nbsp; The logic I have so far drops is when it is in the header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;DAmon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 May 2011 16:28:19 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720375#M562070</guid>
      <dc:creator>lovedam</dc:creator>
      <dc:date>2011-05-25T16:28:19Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720376#M562071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What's weird is that I can get the example working where I can allow the user only to go to a specific URI.&amp;nbsp; I am guessing that perhaps becuase I am using a special header that the regex cannot be used in a "not" statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Damon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 May 2011 16:49:56 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720376#M562071</guid>
      <dc:creator>lovedam</dc:creator>
      <dc:date>2011-05-25T16:49:56Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720377#M562072</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got this to work, but not using the regex commands I tried before.&amp;nbsp; Instead of this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;class-map type inspect http match-any akamai-hls-header-class&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt; match request header regex damonheader regex anymatch&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used the header length greater than zero and this works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class-map type inspect http match-any special-headers&lt;/P&gt;&lt;P&gt;match not request header regex Header1 count gt 0&lt;/P&gt;&lt;P&gt;match not request header regex Header2 count gt 0&lt;/P&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;so, when either doesn't have a length greater than zero it will drop the traffic.&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks very much for the help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Damon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 May 2011 20:48:58 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720377#M562072</guid>
      <dc:creator>lovedam</dc:creator>
      <dc:date>2011-05-25T20:48:58Z</dc:date>
    </item>
    <item>
      <title>Re: Regular Expression Matching of Custom HTTP Headers - ASA 8.2</title>
      <link>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720378#M562073</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mike,&lt;/P&gt;&lt;P&gt;I have had another requirement levied on me &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.cisco.com/4.5.4/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&amp;nbsp; I now need to create another rule to allow a HTTP request with a different set of headers.&amp;nbsp; Originally I had the rule such that both of these headers had to be present:&lt;/P&gt;&lt;P&gt;"X Header A 1"&lt;/P&gt;&lt;P&gt;"X Header A 2"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now I need to add a rule that says they request may also have these two headers (both must be present)&lt;/P&gt;&lt;P&gt;"X Header B 1"&lt;/P&gt;&lt;P&gt;"X Header B 2"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how do I make the inspection rule such that it is a "AND" for both headers of a type included but an "OR" on whether it is X Header A or X Header B?&amp;nbsp; Or do I chain rules together such that it is a fall through rule set?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Damon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Oct 2012 01:16:39 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/regular-expression-matching-of-custom-http-headers-asa-8-2-4/m-p/1720378#M562073</guid>
      <dc:creator>lovedam</dc:creator>
      <dc:date>2012-10-24T01:16:39Z</dc:date>
    </item>
  </channel>
</rss>

