<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Packetslave Industries</title>
	
	<link>http://www.packetslave.com</link>
	<description>This is my blog.  There are many like it, but this one is mine.</description>
	<lastBuildDate>Tue, 20 Jul 2010 19:04:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PacketslaveIndustries" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="packetslaveindustries" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FPacketslaveIndustries" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPacketslaveIndustries" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/PacketslaveIndustries" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FPacketslaveIndustries" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FPacketslaveIndustries" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><item>
		<title>Opsview Slaves and “Host key verification failed”</title>
		<link>http://www.packetslave.com/2010/07/20/opsview-slaves-and-host-key-verification-failed/</link>
		<comments>http://www.packetslave.com/2010/07/20/opsview-slaves-and-host-key-verification-failed/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 19:03:44 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opsview]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=221</guid>
		<description><![CDATA[This is mostly for my own benefit. When setting up a new Opsview slave server, make sure ~nagios/.ssh/known_hosts has an entry for the FQDN of the slave, not just the short name. Otherwise you&#8217;ll spend an hour beating your head against the wall trying to figure out why ssh slavehost date works, but send2slaves -t [...]]]></description>
			<content:encoded><![CDATA[<p>This is mostly for my own benefit.  When setting up a new Opsview slave server, make sure <code>~nagios/.ssh/known_hosts</code> has an entry for the FQDN of the slave, not just the short name.  </p>
<p>Otherwise you&#8217;ll spend an hour beating your head against the wall trying to figure out why <code>ssh slavehost date</code> works, but <code>send2slaves -t slavehost</code> doesn&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2010/07/20/opsview-slaves-and-host-key-verification-failed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IOS 12.4T: Management-Plane Protection</title>
		<link>http://www.packetslave.com/2010/07/06/ios-12-4t-management-plane-protection/</link>
		<comments>http://www.packetslave.com/2010/07/06/ios-12-4t-management-plane-protection/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 17:39:55 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[CCIE Security]]></category>
		<category><![CDATA[Cisco]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=216</guid>
		<description><![CDATA[While working through a CCIE Security practice lab, I came across a task that read (in essence): &#8220;Only allow SSH and SNMP access to the router through interface Gig0/1.  Do not use an interface or VTY ACL to accomplish this.&#8221;   A search through the IOS configuration guides and command references was unhelpful, including the [...]]]></description>
			<content:encoded><![CDATA[<p>While working through a CCIE Security practice lab, I came across a task that read (in essence): &#8220;Only allow SSH and SNMP access to the router through interface Gig0/1.  Do not use an interface or VTY ACL to accomplish this.&#8221;   A search through the IOS configuration guides and command references was unhelpful, including the last-resort tactic of &#8220;go to the Master Index and use Ctrl-F to search for likely keywords.&#8221;  Finally, I resorted to asking on GroupStudy.  Within minutes, the answer came back:  <strong>use management-plane protection</strong>.  What on earth is that?  To quote Cisco:</p>
<blockquote><p>The Management Plane Protection (MPP) feature in Cisco IOS software provides the capability to restrict the interfaces on which network management packets are allowed to enter a device. The MPP feature allows a network operator to designate one or more router interfaces as management interfaces. Device management traffic is permitted to enter a device only through these management interfaces. After MPP is enabled, no interfaces except designated management interfaces will accept network management traffic destined to the device.</p>
<p>http://www.cisco.com/en/US/docs/ios/12_4t/12_4t11/htsecmpp.html</p></blockquote>
<p>This feature was added in 12.4(6)T but <strong>only</strong> seems to be documented under Feature Guides, <strong>not</strong> in the main IOS command reference or configuration guides.  Gee, thanks Cisco!</p>
<p>A configuration example (based on the practice lab task above):</p>
<pre style="padding-left: 30px;">control-plane host
  management-interface GigabitEthernet0/1 allow ssh snmp
end</pre>
<p>When this configuration is applied to the router (assuming SSH has been previously configured), remote SSH and SNMP connections to the router will <strong>only</strong> be accepted when entering through Gi0/1.  This is based on the <strong>interface</strong>, not on the IP address.  SSH and SNMP connections to Gi0/1&#8242;s IP address entering through other interfaces will fail.  In addition, other management traffic (telnet, etc.) entering through Gi0/1 will also fail.  The complete list of what IOS considers management traffic is:</p>
<ul>
<li>SSH v1 and v2</li>
<li>telnet</li>
<li>HTTP / HTTPS</li>
<li>FTP</li>
<li>SNMP (all version)</li>
<li>TFTP</li>
<li>BEEP (Blocks Extensible Exchange Protocol)</li>
</ul>
<p>Note that other traffic destined for the router (such as routing protocols and ARP) are not affected, nor is traffic routed through the management interface.  This is different from the management-interface functionality on an ASA, where the designated port can only be used for management traffic.</p>
<p>In summary, it is quite annoying that Cisco doesn&#8217;t seem to have actually documented this feature properly, since it has the potential to be a very useful tool in the network administrator&#8217;s toolbox.  Depending on the network design, enabling MPP makes it less likely that a management protocol becomes accessible on an interface connected to a hostile network, while simplifying interface ACLs needed to properly secure the device.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2010/07/06/ios-12-4t-management-plane-protection/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cisco ACE:  Basic HTTP Load Balancing</title>
		<link>http://www.packetslave.com/2010/01/24/cisco-ace-basic-http-load-balancing/</link>
		<comments>http://www.packetslave.com/2010/01/24/cisco-ace-basic-http-load-balancing/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 02:37:53 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[Cisco ACE]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=187</guid>
		<description><![CDATA[The ACE (Application Control Engine) is Cisco&#8217;s replacement for the CSS and CSM load balancers in their data center product line.  It comes in both a module (or &#8220;blade&#8221;) for the Catalyst 6500 switch and as a standalone appliance.  This post will cover the basics of configuring an ACE to load-balance a farm of HTTP [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.cisco.com/en/US/products/ps5719/Products_Sub_Category_Home.html">ACE</a> (Application Control Engine) is Cisco&#8217;s replacement for the CSS and CSM load balancers in their data center product line.  It comes in both a <a href="http://www.cisco.com/en/US/products/ps6906/index.html">module</a> (or &#8220;blade&#8221;) for the Catalyst 6500 switch and as a <a href="http://www.cisco.com/en/US/products/ps8361/index.html">standalone appliance</a>.  This post will cover the basics of configuring an ACE to load-balance a farm of HTTP servers.  Subsequent posts will cover advanced features such as session persistence, health checks, and more.</p>
<h3>Assumptions</h3>
<ol>
<li>The ACE has been configured (possibly using the setup wizard) with interface and trunking options.</li>
<li>You are deploying the ACE in &#8220;routed mode&#8221;, e.g. the ACE is the default gateway for the backend servers and the VIPs live on a different network on the &#8220;outside&#8221; interface.</li>
<li>You have three web servers, WEB1, WEB2, and WEB3 all listening on port 80.</li>
</ol>
<h3>Configuration</h3>
<p>Unlike a router, the ACE is a &#8220;deny by default&#8221; device.  You must explicitly permit any traffic entering the ACE from the network.  Thus, we need an access list (ACL) to allow traffic to our HTTP virtual IP (VIP).</p>
<pre>access-list VLAN1 extended permit tcp any host 1.1.1.100 eq www
</pre>
<p>Next, we need to define our backend servers.  The &#8220;inservice&#8221; keyword is the ACE equivalent of the &#8220;no shutdown&#8221; command for an interface.  If you forget it, things won&#8217;t work.</p>
<pre>rserver host WWW1
  ip address 2.2.2.101
  inservice

rserver host WWW2
  ip address 2.2.2.102
  inservice

rserver host WWW3
  ip address 2.2.2.103
  inservice</pre>
<p>Now we need to define a health check, so that the ACE can determine if each backend server is functional and should receive traffic.  We&#8217;ll use a very basic HTTP service check at this point.  We configure the probe to check each server every 10 seconds and accept the default behavior of marking a server as &#8220;failed&#8221; if it fails 3 checks.  Also by default, the ACE will use an HTTP GET request for the root or &#8220;/&#8221; URL.  That&#8217;s fine for this example.  Finally, we tell the ACE that a server must respond for at least 60 seconds before it is marked as &#8220;back up&#8221; after a failure.</p>
<p>An important note:  the HTTP probe <strong>must</strong> have an expected status code or range of codes defined.  If you omit this statement, your backend servers will never come up!</p>
<pre>probe http HTTP_PROBE
  interval 10
  passdetect interval 60
  expect status 200
</pre>
<p>Now that we have our backend servers defined, as well as a probe to check their status, we can join them together into a server farm.  Again, don&#8217;t forget to &#8220;inservice&#8221; each rserver, or it won&#8217;t come up.</p>
<pre>serverfarm host HTTP_FARM
  probe HTTP_PROBE
  rserver WWW1
    inservice
  rserver WWW2
    inservice
  rserver WWW3
    inservice</pre>
<p>We need to tell the ACE about the virtual IP (VIP) on which we want it to listen.  This is done with a class-map.</p>
<pre>class-map match-all HTTP_VIP
  2 match virtual-address 1.1.1.100 tcp eq www</pre>
<p>Next, we need to define our load-balancing policy, to tell the ACE what to do with traffic once it hits the VIP.  In this case, we just direct it to the server farm defined above.</p>
<pre>policy-map type loadbalance http first-match HTTP_POLICY
  class class-default
    serverfarm HTTP_FARM</pre>
<p>The last piece we need is something to tie the policy to the VIP.  We do this with a policy-map of type &#8220;multi-match&#8221;.  For convenience, we configure the VIP to respond to ICMP echo request (pings) as long as at least one backend server is up.</p>
<pre>policy-map multi-match VIPs
  class HTTP_VIP
    loadbalance vip inservice
    loadbalance policy HTTP_POLICY
    loadbalance vip icmp-reply active</pre>
<p>Finally, we need to apply our policy to the &#8220;outside&#8221; interface of the ACE, bringing up our VIP.  We also need to apply the ACL we created above to allow the HTTP requests inbound.</p>
<pre>interface vlan 1
  description Public Network
  ip address 1.1.1.1 255.255.255.0
  access-group input VLAN1
  service-policy input VIPs
  no shutdown
</pre>
<p>That&#8217;s the end!  You can grab the full configuration <a href="/wp-content/uploads/2010/01/ace-basic-http.txt">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2010/01/24/cisco-ace-basic-http-load-balancing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>BGP Route Manipulation</title>
		<link>http://www.packetslave.com/2009/12/21/bgp-route-manipulation/</link>
		<comments>http://www.packetslave.com/2009/12/21/bgp-route-manipulation/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 04:03:43 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=179</guid>
		<description><![CDATA[At $DAYJOB, one of our sites has two WAN circuits from the same provider. Both learn our full global routing table via BGP, and both inbound and outbound traffic are load-balanced using BGP multi-path. In some cases, however, we want specific traffic to always prefer one path over the other (mostly for latency reasons). We [...]]]></description>
			<content:encoded><![CDATA[<p>At $DAYJOB, one of our sites has two WAN circuits from the same provider.  Both learn our full global routing table via BGP, and both inbound and outbound traffic are load-balanced using BGP multi-path.  In some cases, however, we want specific traffic to always prefer one path over the other (mostly for latency reasons).  We could use static routes, but we also want traffic to fail over to the other link in the case of an outage.</p>
<p>In this example, we want to manipulate the routing as follows:</p>
<ul>
<li>Traffic between the 192.168.1.0/24 local network and 10.0.1.0/24 remote network should prefer PATH #1</li>
<li>Traffic between the 192.168.2.0/24 local network and 10.0.2.0/24 remote network should prefer PATH #2</li>
</ul>
<p>Note: for the purpose of this example we will assume that the specified local and remote networks <em>only</em> talk to each other.  We don&#8217;t need to consider traffic between 192.168.1.0/24 and other remote networks, for example.  </p>
<pre>
router bgp 65000
  network 192.168.1.0 mask 255.255.255.0
  network 192.168.2.0 mask 255.255.255.0
  !
  neighbor 1.1.1.1 remote-as 65534
  neighbor 1.1.1.1 send-community
  neighbor 1.1.1.1 route-map PATH1-LEARN in
  neighbor 1.1.1.1 route-map PATH1-ADVERTISE out
  !
  neighbor 2.2.2.2 remote-as 65534
  neighbor 2.2.2.2 send-community
  neighbor 2.2.2.2 route-map PATH2-LEARN in
  neighbor 2.2.2.2 route-map PATH2-ADVERTISE out
!
</pre>
<p>First we need to define our ACLs to specify which traffic prefers which path</p>
<pre>
ip access-list standard PREFER-PATH1-LOCAL
  permit 192.168.1.0 0.0.0.255
!
ip access-list standard PREFER-PATH1-REMOTE
  permit 10.0.1.0 0.0.0.255
!
ip access-list standard PREFER-PATH2-LOCAL
  permit 192.168.2.0 0.0.0.255
!
ip access-list standard PREFER-PATH2-REMOTE
  permit 10.0.2.0 0.0.0.255
!
</pre>
<p>As we learn routes, we raise the local preference on routes coming from the preferred path, so they are chosen over the same routes learned on the other path with a default of 100.</p>
<p>The permit 999 ensures all routes are still learned from both peers, even if they&#8217;re not being manipulated.</p>
<pre>
route-map PATH1-LEARN permit 10
  match ip address PREFER-PATH1-REMOTE
  set local-preference 110
!
route-map PATH1-LEARN permit 999
!
route-map PATH2-LEARN permit 10
  match ip address PREFER-PATH2-REMOTE
  set local-preference 110
!
route-map PATH2-LEARN permit 999
!
</pre>
<p>For incoming traffic, we need to influence the ISP&#8217;s  routing decisions.  There are several ways of doing this, including the MED.  In our case, we&#8217;ll use the ISP&#8217;s pre-defined community values to force them to set a local preference on certain routes.</p>
<p>Again, the permit 999 rules ensure that we’re still sending all our routes to both peers, even if they don’t get tagged.</p>
<pre>
route-map PATH1-ADVERTISE permit 10
  match ip address PREFER-PATH1-LOCAL
  set community 65534:110
!
route-map PATH1-ADVERTISE permit 999
!
route-map PATH2-ADVERTISE permit 15
  match ip address PREFER-PATH2-LOCAL
  set community 65534:110
!
route-map PATH2-ADVERTISE permit 999
!
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2009/12/21/bgp-route-manipulation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASA URL filtering with MPF</title>
		<link>http://www.packetslave.com/2009/10/21/asa-url-filtering-with-mpf/</link>
		<comments>http://www.packetslave.com/2009/10/21/asa-url-filtering-with-mpf/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 17:36:03 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[CCIE Security]]></category>
		<category><![CDATA[filtering]]></category>
		<category><![CDATA[MPF]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=177</guid>
		<description><![CDATA[Problem:  &#8220;I want to block facebook.com and myspace.com but I don&#8217;t have a Websense server.&#8221; regex domlist1 "facebook.com" regex domlist2 "myspace.com" ! class-map type regex match-any DomainBlockList match regex domlist1 match regex domlist2 ! class-map type inspect http match-all BlockDomainsClass match request header host regex class DomainBlockList ! policy-map type inspect http http_inspection_policy class BlockDomainsClass [...]]]></description>
			<content:encoded><![CDATA[<p>Problem:  &#8220;I want to block facebook.com and myspace.com but I don&#8217;t have a Websense server.&#8221;</p>
<pre>regex domlist1 "facebook.com"
regex domlist2 "myspace.com"
!
class-map type regex match-any DomainBlockList
  match regex domlist1
  match regex domlist2
!
class-map type inspect http match-all BlockDomainsClass
  match request header host regex class DomainBlockList
!
policy-map type inspect http http_inspection_policy
  class BlockDomainsClass
  reset log
!
policy-map global_policy
  class inspection_default
  inspect http http_inspection_policy
!
service-policy global_policy global
wr mem</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2009/10/21/asa-url-filtering-with-mpf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BGP Through an ASA with Authentication</title>
		<link>http://www.packetslave.com/2009/07/12/bgp-through-an-asa-with-authentication/</link>
		<comments>http://www.packetslave.com/2009/07/12/bgp-through-an-asa-with-authentication/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 19:34:04 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[BGP]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[CCIE Security]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=173</guid>
		<description><![CDATA[By default, the ASA will strip TCP option 19 causing MD5 authentication for BGP to fail.  In addition, the ASA randomizes the TCP sequence numbers, which also breaks things.  To fix this: tcp-map BGP_FIX tcp-options range 19 19 allow ! access-list BGP permit tcp any any eq 179 ! class BGP match access-list BGP !! [...]]]></description>
			<content:encoded><![CDATA[<p>By default, the ASA will strip TCP option 19 causing MD5 authentication for BGP to fail.  In addition, the ASA randomizes the TCP sequence numbers, which also breaks things.  To fix this:</p>
<pre>tcp-map BGP_FIX
  tcp-options range 19 19 allow
!
access-list BGP permit tcp any any eq 179
!
class BGP
  match access-list BGP
  !! could also use match protocol tcp eq bgp
!
policy-map global_policy
  class BGP
    set connection advanced-options BGP_FIX
    set connection random-sequence-number disable
!</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2009/07/12/bgp-through-an-asa-with-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASA Authentication Proxy with ACS</title>
		<link>http://www.packetslave.com/2009/07/12/asa-authentication-proxy-with-acs/</link>
		<comments>http://www.packetslave.com/2009/07/12/asa-authentication-proxy-with-acs/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 16:45:45 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[AAA]]></category>
		<category><![CDATA[ASA]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[CCIE Security]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=171</guid>
		<description><![CDATA[Goal:  all outbound telnet and HTTP connections passing through the ASA must first be authenticated against an ACS server using the TACACS+ protocol. aaa-server ACS_SERVER protocol tacacs+ aaa-server ACS_SERVER (inside) host 1.2.3.4 key myACSkey ! access-list outbound_auth permit tcp any any eq 23 access-list outbound_auth permit tcp any any eq 80 ! aaa authentication match [...]]]></description>
			<content:encoded><![CDATA[<p>Goal:  all outbound telnet and HTTP connections passing through the ASA must first be authenticated against an ACS server using the TACACS+ protocol.</p>
<pre>aaa-server ACS_SERVER protocol tacacs+
aaa-server ACS_SERVER (inside) host 1.2.3.4
    key myACSkey
!
access-list outbound_auth permit tcp any any eq 23
access-list outbound_auth permit tcp any any eq 80
!
aaa authentication match outbound_auth inside ACS_SERVER</pre>
<p>There are additional options to configure HTTP vs. HTTPS and redirection vs. basic HTTP authentication.  The documentation is a bit confusing, so I will be labbing this up shortly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2009/07/12/asa-authentication-proxy-with-acs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASA Enhanced Service Object Groups</title>
		<link>http://www.packetslave.com/2009/07/11/asa-enhanced-service-object-groups/</link>
		<comments>http://www.packetslave.com/2009/07/11/asa-enhanced-service-object-groups/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 22:02:07 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[ASA]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[CCIE Security]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=168</guid>
		<description><![CDATA[The ASA introduced the concept of object groups in version 7.0.  You could group a list of IP addresses, protocols, services, or ICMP types into one logical entity and refer to it by name in your access lists.  In the 7.x releases, however, a service object group could only contain entries for a single protocol [...]]]></description>
			<content:encoded><![CDATA[<p>The ASA introduced the concept of <a title="ASA 7.0 Configuration Guide" href="http://www.cisco.com/en/US/docs/security/asa/asa70/configuration/guide/traffic.html#wp1053224">object groups</a> in version 7.0.  You could group a list of IP addresses, protocols, services, or ICMP types into one logical entity and refer to it by name in your access lists.  In the 7.x releases, however, a service object group could only contain entries for a single protocol (TCP, UDP, or both TCP/UDP).  This forced admins to either use a separate object group for TCP and UDP ports (requiring two ACE entries), or to match more ports than necessary (by using the tcp-udp type).</p>
<p>The 8.0 release of the ASA software solves this problem by introducing an enhanced Service object group that allows a mix of multiple protocols within the same group.  Unfortunately, the 8.0 and 8.2 ASA configuration guides don&#8217;t appear to cover this new type of service group or show an example.</p>
<pre>object-group network DMZ_NET
  network-object 1.2.3.0 255.255.255.0
!
object-group service DMZ_SERVICES
  service-object tcp eq 80
  service-object udp eq 53
  service-object tcp eq 53
  service-object icmp
!
access-list DMZ extended permit object-group DMZ_SERVICES any object-group DMZ_NET</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2009/07/11/asa-enhanced-service-object-groups/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Restarting CCIE Security</title>
		<link>http://www.packetslave.com/2009/07/06/restarting-ccie-security/</link>
		<comments>http://www.packetslave.com/2009/07/06/restarting-ccie-security/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 01:47:38 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[CCIE]]></category>
		<category><![CDATA[CCIE Security]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=165</guid>
		<description><![CDATA[Now that the major CCIE training vendors have released updates covering the new CCIE Security 3.0 blueprint topics, I&#8217;ve decided to restart my preparations for the exam. My current goal is to sit the lab exam on October 1 in RTP. I&#8217;ll be using a mix of both IPexpert and InternetworkExpert materials for my preparation.  [...]]]></description>
			<content:encoded><![CDATA[<p>Now that the major CCIE training vendors have released updates covering the new CCIE Security 3.0 blueprint topics, I&#8217;ve decided to restart my preparations for the exam.  My current goal is to sit the lab exam on October 1 in RTP.</p>
<p>I&#8217;ll be using a mix of both IPexpert and InternetworkExpert materials for my preparation.  Both vendors&#8217; new technology-focused lab releases look terrific.  Hopefully, by the time I work through them they&#8217;ll have some updated 8-hour full mock labs available.</p>
<p>For the most part, I&#8217;ll be relying on Dynamips for lab work, since now that the VPN 3000 is no longer in the lab everything except for the switches can be simulated.  I&#8217;ll have to rent some rack time to review the switch-based security stuff from R&amp;S, but for the most part I&#8217;m not worried there.</p>
<ul></ul>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2009/07/06/restarting-ccie-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes to Self:  IPexpert Security Lab A</title>
		<link>http://www.packetslave.com/2009/02/09/notes-to-self-ipexpert-security-lab-a/</link>
		<comments>http://www.packetslave.com/2009/02/09/notes-to-self-ipexpert-security-lab-a/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 14:11:48 +0000</pubDate>
		<dc:creator>blanders</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.packetslave.com/?p=161</guid>
		<description><![CDATA[These are mostly notes for my own benefit as I work through various labs. In this case, I only worked on specific sections of lab A, as I was a bit short on time. Section 1: Layer 2 configuration - when creating an SVI for a given VLAN, always make sure the VLAN itself exists [...]]]></description>
			<content:encoded><![CDATA[<p>These are mostly notes for my own benefit as I work through various labs.  In this case, I only worked on specific sections of lab A, as I was a bit short on time.</p>
<h3>Section 1:  Layer 2 configuration</h3>
<p>- when creating an SVI for a given VLAN, always make sure the VLAN itself exists on all switches in the transit path for that VLAN.</p>
<p>- if the lab specifies restricting &#8220;management access&#8221;, don&#8217;t forget to check if the HTTP server is enabled and add a similar access class to it as to the VTY&#8217;s.</p>
<p>- Filtering traffic by ethertype</p>
<pre>mac access-list extended F0_15
  deny   any any 0x1234 0x0
  permit any any
!
int fa0/15
  mac access-group F0_15 in
!</pre>
<p>- VLAN filtering by MAC address</p>
<pre>mac access-list extended VL123
  permit host 0000.1234.4321 host 0000.4321.1234
!
vlan access-map VL123 10
  action forward
  match mac address VL123
vlan access-map VL123 999
  action drop
!
vlan filter VL123 vlan-list 123</pre>
<p>No real problems with this section other than interpretation on the VLAN filtering.  In a lab, I&#8217;d ask the proctor if they meant traffic from this *range* of MAC addresses or just between the two.</p>
<h3>Section 2:  Pix / ASA Configuration</h3>
<p>- When originating a default route and running RIP on both inside &amp; outside, use a route-map with &#8216;match interface&#8217; to control which side we send the default route to.</p>
<p>- don&#8217;t be so quick to assume an answer.  Configured HTTP/HTTPS and missed that the question said a &#8220;Web/SMTP/DNS&#8221; server so left out a bunch of the ACL.</p>
<p>- when configuring AAA through a firewall, don&#8217;t forget to set the source int on the remote device if required.</p>
<p>- remember that a transparent firewall will not pass anything inbound by default (except ARP) without an access-list.  Just like a routed firewall.</p>
<p>- a transparent firewall must have a management IP address configured or it will not pass any traffic, even if that traffic would otherwise be allowed.</p>
<p>- always check for required single/multiple changes, since it needs a reboot of the device and wastes time.</p>
<p>- basic process for setting up contexts</p>
<pre>admin-context FOO
context FOO
  config-url disk0:/FOO.txt
!
context BAR
  config-url disk0:/BAR.txt
  allocate-interface eth0/0
  allocate-interface eth0/1
!</pre>
<p>- when configuring local authentication on the ASA, don&#8217;t forget to explicitly enable it, for ssh/telnet</p>
<pre>hostname ASA1
domain-name ipexpert.com
crypto key generate rsa general-keys
ssh 1.2.3.0 255.255.255.0 inside
username cisco password cisco
aaa authentication ssh console LOCAL</pre>
<h3>Section 3:  IDS Configuration</h3>
<p>- I need to spend time learning the IDS command line.  I&#8217;m fairly solid through IDM but not through the CLI.</p>
<p>- IOS IPS basic config</p>
<pre>ip ips name FOO
ip ips notify log
logging host 1.2.3.4
logging on
int se0/1/0
ip ips FOO in
!</pre>
<h3>Section 7:  VPN Configuration</h3>
<p>- when configuring L2L VPN&#8217;s on the VPN3000 through the GUI, be careful when configuring the interesting traffic.  The mask is specified as a *wildcard* mask, e.g. 0.0.0.255, not a subnet mask.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.packetslave.com/2009/02/09/notes-to-self-ipexpert-security-lab-a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
