{"id":2164,"date":"2016-06-17T15:41:50","date_gmt":"2016-06-17T14:41:50","guid":{"rendered":"http:\/\/emtunc.org\/blog\/?p=2164"},"modified":"2017-02-24T15:03:24","modified_gmt":"2017-02-24T15:03:24","slug":"take-care-applying-palo-alto-best-practices","status":"publish","type":"post","link":"https:\/\/emtunc.org\/blog\/06\/2016\/take-care-applying-palo-alto-best-practices\/","title":{"rendered":"Take Care When Applying Palo Alto Best Practices"},"content":{"rendered":"<p>This is a follow up from my other <a href=\"http:\/\/emtunc.org\/blog\/03\/2016\/wsus-range-headers-palo-alto-best-practices\/\" target=\"_blank\">blog post<\/a> &#8211; as I have found another issue with the <a href=\"https:\/\/www.paloaltonetworks.com\/documentation\/71\/pan-os\/pan-os\/threat-prevention\/best-practices-for-securing-your-network-from-layer-4-and-layer-7-evasions\" target=\"_blank\">best practices provided by Palo Alto<\/a>, I thought I&#8217;d consolidate them in a single post.<\/p>\n<p><!--more--><\/p>\n<h2>HTTP Header Range Option<\/h2>\n<p>I&#8217;m going to copy this bit from my previous post:<\/p>\n<p>It seems Windows Updates doesn\u2019t play nice with Palo Alto best practices; specifically when it comes to range headers.<\/p>\n<p>Palo Alto best practices state that you should block the HTTP range option for the following reason:<br \/>\n<span id=\"more-2127\"><\/span><\/p>\n<p><em>\u201cThe HTTP Range option allows a client to fetch part of a file only. When a next-generation firewall in the path of a transfer identifies and drops a malicious file, it terminates the TCP session with a RST packet. If the web browser implements the HTTP Range option, it can start a new session to fetch only the remaining part of the file. This prevents the firewall from triggering the same signature again due to the lack of context into the initial session, while at the same time allowing the web browser to reassemble the file and deliver the malicious content\u201d<\/em><\/p>\n<p>Turns out some legitimate applications require the HTTP Header Range option &#8211; WSUS being one I came across. If you see event logs similar to the below and have range headers blocked on your Palo then it&#8217;s probably because of that.<\/p>\n<p><em>Event ID 364 \u2013 Content file download failed. Reason: The job is not making progress. The server may be misconfigured. Background Intelligent Transfer Service (BITS) will try again later<br \/>\nEvent ID 10032 \u2013\u00a0The server is failing to download some updates.<\/em><\/p>\n<h5><span style=\"text-decoration: underline;\">PAN-OS &gt; 7.1<\/span><\/h5>\n<p>You can find the setting here:\u00a0<strong>Device &gt; Setup &gt; Content-ID &gt; Content-ID Settings<\/strong><\/p>\n<h5><span style=\"text-decoration: underline;\">PAN-OS &lt; 7.1<\/span><\/h5>\n<p>CLI access is necessary.<br \/>\nTo view the current configuration:<\/p>\n<pre class=\"nums:false lang:default decode:true\">show deviceconfig setting ctd<\/pre>\n<p>If\u00a0<strong>skip-block-http-range = no\u00a0<\/strong>then range headers\u00a0<strong>are<\/strong> being blocked.<\/p>\n<p>To allow the HTTP Header Range Option then:<\/p>\n<pre class=\"nums:false lang:default decode:true\">set deviceconfig setting ctd skip-block-http-range yes<\/pre>\n<h2>Forward Segments Exceeding TCP out-of-order Queue<\/h2>\n<p>Occasionally I have noticed large downloads fail. Files that should take seconds to download would\u00a0take minutes.\u00a0Often times downloads would just stall indefinitely\u00a0at some random point in the download.<\/p>\n<p>I came across this issue from multiple download locations &#8211; the most prevalent being the Amazon S3 storage service.<\/p>\n<p>The problem can occur if too many out-of-order packets arrive and exceed the\u00a0TCP out-of-order queue limit of 64 per session on the Palo. If this happens the firewall will drop the out-of-order packets which can cause sessions (and downloads) to fail.<\/p>\n<p>Enabling the\u00a0<em>Forward segments exceeding TCP out-of-order queue<\/em> option may rectify the issue for you.<\/p>\n<h5><span style=\"text-decoration: underline;\">PAN-OS &gt; 7.1<\/span><\/h5>\n<p>You can find the setting here: <strong>Device &gt; Setup &gt; Session &gt; TCP Settings<br \/>\n<\/strong>Check the &#8216;Forward segments exceeding TCP out-of-order queue&#8217; box.<\/p>\n<h5><span style=\"text-decoration: underline;\">PAN-OS &lt; 7.1<\/span><\/h5>\n<p>CLI access is necessary.<br \/>\nTo view the current configuration:<\/p>\n<pre class=\"nums:false lang:default decode:true  \">show deviceconfig setting tcp<\/pre>\n<p>Run the following to allow the firewall to forward out-of-order packets.<\/p>\n<pre class=\"nums:false lang:default decode:true\">set deviceconfig setting tcp bypass-exceed-oo-queue yes<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This is a follow up from my other blog post &#8211; as I have found another issue with the best practices provided by Palo Alto, I thought I&#8217;d consolidate them in a single post.<\/p>\n","protected":false},"author":32,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"categories":[1],"tags":[237,220,227],"class_list":["post-2164","post","type-post","status-publish","format-standard","hentry","category-tech","tag-best-practices","tag-palo-alto","tag-panos"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1trTO-yU","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/posts\/2164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/comments?post=2164"}],"version-history":[{"count":13,"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/posts\/2164\/revisions"}],"predecessor-version":[{"id":2468,"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/posts\/2164\/revisions\/2468"}],"wp:attachment":[{"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/media?parent=2164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/categories?post=2164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emtunc.org\/blog\/wp-json\/wp\/v2\/tags?post=2164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}