<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>TACACS+ stuff</title>
	<atom:link href="http://tacacs.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://tacacs.org</link>
	<description>Casting Light on the Dark Art of TACACS+</description>
	<lastBuildDate>Mon, 06 Feb 2012 20:16:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Procurves</title>
		<link>http://tacacs.org/2012/02/06/procurves/</link>
		<comments>http://tacacs.org/2012/02/06/procurves/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 19:52:03 +0000</pubDate>
		<dc:creator>helpdeskdan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=190</guid>
		<description><![CDATA[I have only messed around (recently) with a few old Procurves, so I will not promise that the following is valid for all devices. Their tacacs implementation appears to be quite poor.  If you use exclusively Procurves, do not use do&#95;auth as procurves don&#8217;t properly support authorization.  

Some Procurves do not have the [...]]]></description>
			<content:encoded><![CDATA[<p>I have only messed around (recently) with a few old Procurves, so I will not promise that the following is valid for all devices. Their tacacs implementation appears to be quite poor.  If you use exclusively Procurves, do not use do&#95;auth as procurves don&#8217;t properly support authorization.  </p>

<p>Some Procurves do not have the “aaa authentication login privilege-mode “ command.  Hence, do&#95;auth is not even called.  If you have these, you will have to do all your security in tac&#95;plus.conf.  Beware, any security defined in your do&#95;auth.ini is void on these.  </p>

<p>Other (newer?) Procurves did call an after-authentication script, but did not work right.  In English, you can&#8217;t modify any pairs as you have to tell it to kludge a response as 0. Do&#95;auth will do this for you if you add the following to your Procurve group:
<code>
exit&#95;val = <br />
&nbsp;&nbsp;&nbsp;&nbsp;0 <br />
</code><br />
This is the wrong exit value, but will make everything work with “aaa authentication login privilege-mode “   (Again, which is flat out wrong – do not send that to Cisco/Brocade/Anybody else as it voids everything done in do&#95;auth)  You can&#8217;t modify the privilege level, but you can at least deny a person access to a switch.  If you have a mixed environment, I would highly suggest having a separate group exclusively for your Procurves.  One last thing, the -fix-crs-bug also fixes the Procurves and is mandatory as it doesn&#8217;t send $address.  </p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2012/02/06/procurves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable account on Brocade</title>
		<link>http://tacacs.org/2012/02/06/disable-account-on-brocade/</link>
		<comments>http://tacacs.org/2012/02/06/disable-account-on-brocade/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 19:33:12 +0000</pubDate>
		<dc:creator>helpdeskdan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=181</guid>
		<description><![CDATA[Brocade has a brocade-privlvl which I like.  It maps priv-lvl to brocade-privlvl, but the result is an account that has some privileges.  Here is an example of how to map brocade-privlvl = 5 which has no modification rights.  Unfortunately, it does require you to put in the IP&#8217;s of your gear.  [...]]]></description>
			<content:encoded><![CDATA[<p>Brocade has a brocade-privlvl which I like.  It maps priv-lvl to brocade-privlvl, but the result is an account that has some privileges.  Here is an example of how to map brocade-privlvl = 5 which has no modification rights.  Unfortunately, it does require you to put in the IP&#8217;s of your gear.  (Nexus and Cisco pairs were different enough to distinguish between them, but Brocade pairs mimic Cisco pairs)  It also requires v1.91 or greater.  </p>

<p>The following group would go before other groups and assumes you define a priv-vlv (of any number) in your tac&#95;plus config:
<code>
[brocade&#95;readonly]<br />
host<em>allow = <br />
&nbsp;&nbsp;&nbsp;&nbsp;.* <br />
device</em>permit = <br />
&nbsp;&nbsp;&nbsp;&nbsp;192.168.1.* <br />
command<em>permit = <br />
&nbsp;&nbsp;&nbsp;&nbsp;.* <br />
av</em>pairs = <br />
&nbsp;&nbsp;&nbsp;&nbsp;priv-lvl,brocade-privlvl=5 <br />
</code><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2012/02/06/disable-account-on-brocade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brute Force Protection</title>
		<link>http://tacacs.org/2012/02/06/brute-force-protection/</link>
		<comments>http://tacacs.org/2012/02/06/brute-force-protection/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 18:13:49 +0000</pubDate>
		<dc:creator>helpdeskdan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=166</guid>
		<description><![CDATA[Mark Ellzey Thomas has written a patch to tac_plus that prevents the brute force hacking of passwords.  It works quite well in all my tests.  

The following example would watch for 10 authentication failures within 60 seconds and, if triggered, disable user for 120 seconds.

auth-fail-lock 10 60 120

More info here:
https://github.com/ellzey/tac&#95;plus_AFL
]]></description>
			<content:encoded><![CDATA[<p>Mark Ellzey Thomas has written a patch to tac_plus that prevents the brute force hacking of passwords.  It works quite well in all my tests.  </p>

<p>The following example would watch for 10 authentication failures within 60 seconds and, if triggered, disable user for 120 seconds.
<code>
auth-fail-lock 10 60 120
</code>
More info here:
<a href="https://github.com/ellzey/tac_plus_AFL">https://github.com/ellzey/tac&#95;plus_AFL</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2012/02/06/brute-force-protection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco Nexus &#8211; HowTo *Updated*</title>
		<link>http://tacacs.org/2011/10/27/cisco-nexus/</link>
		<comments>http://tacacs.org/2011/10/27/cisco-nexus/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 21:04:07 +0000</pubDate>
		<dc:creator>helpdeskdan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=154</guid>
		<description><![CDATA[The nexus seems to asks for pap authentication.  I have no clue why, but adding a simple &#8220;pap = des -hash-&#8221; to your tac_plus makes it work.  (doesn&#8217;t seem to be necessary if you are setting a default authentication)  

Tacacs on Nexus is different.  However, you can still continue to use [...]]]></description>
			<content:encoded><![CDATA[<p>The nexus seems to asks for pap authentication.  I have no clue why, but adding a simple &#8220;pap = des -hash-&#8221; to your tac_plus makes it work.  (doesn&#8217;t seem to be necessary if you are setting a default authentication)  </p>

<p>Tacacs on Nexus is different.  However, you can still continue to use tacacs the way you always have.  Example configuration is as such:</p>

<p><code>
tacacs-server key -key-<br />
tacacs-server host -host-<br />
aaa group server tacacs+ private<br /> 
&nbsp;&nbsp;&nbsp;&nbsp;server -host, yes again-<br />
&nbsp;&nbsp;&nbsp;&nbsp;use-vrf management<br />
&nbsp;&nbsp;&nbsp;&nbsp;source-interface mgmt0<br />
aaa authentication login default group private<br /> 
aaa authorization config-commands default group private<br /> 
aaa authorization commands default group private<br />
aaa accounting default group private<br />
</code></p>

<p>Many of you may be wondering why I did not add a &#8220;local&#8221; on the end of the aaa authorization commands.  In short: It wouldn&#8217;t let me &#8211; Cisco says it&#8217;s a bug.  Hence, till that is fixed, I recommend you use roles instead of authorization or you&#8217;ll be locked out when the tacacs server is down.  To enable roles, simple take out the two authorization lines above.  You can read more on roles than I have to time explain on cisco&#8217;s website, and you can even create your own.  You can even create users that can only operate inside of their own vdc.  However, for my examples, we&#8217;ll just focus on how to use tac_plus and do&#95;auth. </p>

<p>Nexus and Cisco just don&#8217;t play well together.  Or, rather the Nexus plays OK, but the Cisco gets confused when it gets a Nexus role.  Without do&#95;auth, you are forced to do things like run two separate tac_plus servers.  However, with do&#95;auth, you can run a single server.  For instance, consider the following snippet:</p>

<p><code>
&nbsp;&nbsp;&nbsp;&nbsp;service = exec { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;priv-lvl = 15<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell:roles="\"network-admin\"" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;idletime = 3 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeout = 15 <br />
&nbsp;&nbsp;&nbsp;&nbsp;}   <br />
</code></p>

<p>The roles will confuse your switches, and you&#8217;ll end up having to use enable passwords.  However, add do&#95;auth as an after-authentication script, and do&#95;auth will strip the shell:roles from the Cisco.  Hence, it works like it should.  </p>

<p>I&#8217;ve improved the add/replacement of tac_pairs.  For example:</p>

<p><code>
av_pairs = <br />
&nbsp;&nbsp;&nbsp;&nbsp;priv-lvl=1<br />
&nbsp;&nbsp;&nbsp;&nbsp;shell:roles="network-operator" <br />
</code></p>

<p>Add this to a do&#95;auth group, and you&#8217;ve created a safe little read_only group to give helpdesk operators.  More information is available on key replacement – do&#95;auth.py | less.  </p>

<p>In short, <strong>you need do&#95;auth to make roles work correctly with other Cisco gear</strong>.  But, this is NOT to imply a shortcoming of tac&#95;plus &#8211; this kluge in do&#95;auth was written to fix vendor problems, NOT tac_plus problems. </p>

<p>Of course, these changes required changes to do&#95;auth.  </p>

<p>v1.91 <a href="http://pastie.org/3284098">http://pastie.org/3284098</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2011/10/27/cisco-nexus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>do_auth &#8211; av_pairs</title>
		<link>http://tacacs.org/2011/09/07/do_auth-av_pairs/</link>
		<comments>http://tacacs.org/2011/09/07/do_auth-av_pairs/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 03:25:14 +0000</pubDate>
		<dc:creator>helpdeskdan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=143</guid>
		<description><![CDATA[One of the long promised features has finally been added, the ability to modify av pairs.  Let&#8217;s say you have a group which you simply want a user to have disable access to.  Simply add this to the group:


av_pairs =
&#160;&#160;&#160;&#160;priv-lvl=1


This assumes you have priv-lvl in your tac&#95;plus.conf. (Like examples in other posts) Note, [...]]]></description>
			<content:encoded><![CDATA[<p>One of the long promised features has finally been added, the ability to modify av pairs.  Let&#8217;s say you have a group which you simply want a user to have disable access to.  Simply add this to the group:</p>

<p><code>
av_pairs =<br />
&nbsp;&nbsp;&nbsp;&nbsp;priv-lvl=1<br />
</code></p>

<p>This assumes you have priv-lvl in your tac&#95;plus.conf. (Like examples in other posts) Note, of course, you’ll also need to add a command&#95;deny for enable or they’ll just type ‘en’ if they have an enable password. Better yet, just don’t give them an enable password! </p>

<p>In addition, we can replace one pair with something completely different, like for a brocade device. priv-lvl,brocade-privlvl=5 will replace any priv-lvl with that brocade-privlv. Think of it as a find/replace function. <br />
Some devices do not like to have their tac&#95;pairs messed with. They don’t accept AUTHOR&#95;STATUS&#95;PASS&#95;REPL and I’ll spare the rest of the details for lack of time. These include the procurves and the Cisco WLC. Attempts to make these devices work have resulted in much “code sprawl” in do&#95;auth and are the reason that any service other than shell return 0 unless you explicitly modify a tac&#95;pair.  For these devices, you will have to do all your config in tac&#95;plus.conf. </p>

<p>One last thing, don’t use v1.6 – it had a bug. Also sorry if you’re comments don’t get approved, apparently I don’t have rights to do that. </p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2011/09/07/do_auth-av_pairs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Password Hash CGI</title>
		<link>http://tacacs.org/2011/08/26/password-hash-cgi/</link>
		<comments>http://tacacs.org/2011/08/26/password-hash-cgi/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 15:36:39 +0000</pubDate>
		<dc:creator>helpdeskdan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=136</guid>
		<description><![CDATA[I threw this cgi together quick so users could send me a SHA-512 hashed password generated from a webpage instead of command line.  (For use in tac_plus)  Suggestions welcome. 

http://pastie.org/2433995 
]]></description>
			<content:encoded><![CDATA[<p>I threw this cgi together quick so users could send me a SHA-512 hashed password generated from a webpage instead of command line.  (For use in tac_plus)  Suggestions welcome. </p>

<p><a href="http://pastie.org/2433995">http://pastie.org/2433995 </p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2011/08/26/password-hash-cgi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New do_auth (again)</title>
		<link>http://tacacs.org/2011/08/23/new-do_auth-again/</link>
		<comments>http://tacacs.org/2011/08/23/new-do_auth-again/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 03:54:29 +0000</pubDate>
		<dc:creator>helpdeskdan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=125</guid>
		<description><![CDATA[I finally got a chance to play with some tac pairs that weren&#8217;t exec=shell when I needed to put tacacs on the cisco wireless controller.  (See post below, it uses the concept of &#8220;roles&#8221; which can be looked up)  Had to make adjustments to make sure the keys set in tac_plus.conf worked.  [...]]]></description>
			<content:encoded><![CDATA[<p>I finally got a chance to play with some tac pairs that weren&#8217;t exec=shell when I needed to put tacacs on the cisco wireless controller.  (See post below, it uses the concept of &#8220;roles&#8221; which can be looked up)  Had to make adjustments to make sure the keys set in tac_plus.conf worked.  New code here:</p>

<p>V 1.6 &#8211; removed</p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2011/08/23/new-do_auth-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Misc TACACS+ questions</title>
		<link>http://tacacs.org/2011/07/06/misc-tacacs-questions/</link>
		<comments>http://tacacs.org/2011/07/06/misc-tacacs-questions/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 16:53:32 +0000</pubDate>
		<dc:creator>jpayne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=114</guid>
		<description><![CDATA[I&#8217;ve received a couple of comments posing questions, but they&#8217;ve been hiding out on the &#8220;About&#8221; page.   I&#8217;m going to move them to this post so others can see and answer.

This is hopefully where new questions can be posed.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve received a couple of comments posing questions, but they&#8217;ve been hiding out on the &#8220;About&#8221; page.   I&#8217;m going to move them to this post so others can see and answer.</p>

<p>This is hopefully where new questions can be posed.</p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2011/07/06/misc-tacacs-questions/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Brocade</title>
		<link>http://tacacs.org/2011/03/16/brocade/</link>
		<comments>http://tacacs.org/2011/03/16/brocade/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 20:51:46 +0000</pubDate>
		<dc:creator>helpdeskdan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Brocade]]></category>

		<guid isPermaLink="false">http://tacacs.org/?p=108</guid>
		<description><![CDATA[My first time putting tacacs on a Brocade.  Pretty similar to cisco, the tac pairs that cisco use seem to work just fine.  Worked great with do_auth.  Keep in mind, although they honor priv-15, they map it to 0, just to be different.  I used the following:

username admin password yerpasswordhere
ip tacacs [...]]]></description>
			<content:encoded><![CDATA[<p>My first time putting tacacs on a Brocade.  Pretty similar to cisco, the tac pairs that cisco use seem to work just fine.  Worked great with do_auth.  Keep in mind, although they honor priv-15, they map it to 0, just to be different.  I used the following:</p>

<p><code>username admin password yer<em>password</em>here<br />
ip tacacs source-interface loopback 1<br />
tacacs-server retransmit 2<br />
tacacs-server timeout 2<br />
tacacs-server host yer<em>host</em>here<br />
tacacs-server key yer<em>key</em>here<br />
enable super-user-password again<em>password</em>here<br />
aaa authentication login default tacacs+ enable<br />
aaa authentication login privilege-mode<br />
aaa authentication enable default tacacs+ enable<br />
aaa authorization commands 0 default  tacacs+ none<br />
aaa authorization exec default  tacacs+<br />
aaa accounting commands 0 default start-stop  tacacs+<br />
aaa accounting exec default start-stop  tacacs+<br />
enable aaa console</code></p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2011/03/16/brocade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Citrix Branch Receiver</title>
		<link>http://tacacs.org/2011/03/04/citrix-branch-receiver/</link>
		<comments>http://tacacs.org/2011/03/04/citrix-branch-receiver/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 00:21:11 +0000</pubDate>
		<dc:creator>jpayne</dc:creator>
				<category><![CDATA[Citrix]]></category>
		<category><![CDATA[Citrix Branch Receiver]]></category>

		<guid isPermaLink="false">http://tacacs.org/2011/03/04/citrix-branch-receiver/</guid>
		<description><![CDATA[John McManus has put together a nice walkthrough of authenticating Citrix Branch Receiver via Cisco TACACS+ over on My Etherealmind. Should be fairly straight forward to port to tac_plus with the information provided by John. 
]]></description>
			<content:encoded><![CDATA[<p>John McManus has put together a nice walkthrough of authenticating Citrix Branch Receiver via Cisco TACACS+ over on <a href="http://etherealmind.com/citrix-branch-repeater-authentication-with-cisco-tacacs/">My Etherealmind</a>. Should be fairly straight forward to port to tac_plus with the information provided by John. </p>
]]></content:encoded>
			<wfw:commentRss>http://tacacs.org/2011/03/04/citrix-branch-receiver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

