[tac_plus] Re: Issue with Cisco switch authentication against Microsoft Active Directory

Hailu Meng hailumeng at gmail.com
Mon Nov 23 20:49:07 UTC 2009


I think I need put my pam configuration here:

I followed this post
http://www.shrubbery.net/pipermail/tac_plus/2009-January/000332.html to
configure my pam module:

/etc/pam.d/tacacs
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so

/etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass
use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond
quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so



On Mon, Nov 23, 2009 at 2:33 PM, Hailu Meng <hailumeng at gmail.com> wrote:

> Hi John,
>
> You mean issue commands like tac_plus -C /etct/tac_plus.conf -L -p 49 -d 16
> -d 256 -g ? -d 16 -d 256 side by side? It didn't make any change. I got same
> log info. By the way, I also saw the log info in /var/log/message:
> Nov 23 14:24:25 NMS tac_plus[3676]: Reading config
> Nov 23 14:24:25 NMS tac_plus[3676]: Version F4.0.4.19 Initialized 1
> Nov 23 14:24:29 NMS tac_plus[3676]: connect from 10.1.69.89 [10.1.69.89]
> Nov 23 14:24:37 NMS tac_plus[3676]: login query for 'myuser' tty0 from
> 10.1.69.89 rejected
> Nov 23 14:24:37 NMS tac_plus[3676]: login failure: myuser 10.1.69.89
> (10.1.69.89) tty0
>
> Do we have option to see the log about PAM? I haven't found where it is. if
> we can check the log of PAM, then we could find something useful. Right now
> the log of tac_plus didn't tell too much about why login got failure.
>
> Lou
>
> On Mon, Nov 23, 2009 at 2:20 PM, john heasley <heas at shrubbery.net> wrote:
>
>> Mon, Nov 23, 2009 at 12:43:00PM -0600, Hailu Meng:
>> > Thanks John for helping me check this issue.
>> >
>> > I just run tac_plus -C /path/to/tac_plus.conf -L -p 49 -d256 -g to see
>> the
>>
>> try -d 16 -d 256.  which i think will log the pwd that pam received from
>> the device.  make its correct.  the logs below do appear to be a
>> reject/fail
>> returned from pam.
>>
>> > log in stdout and in log file. I can't see any suspicious log
>> information
>> > here. I paste the log below:
>> >
>> >
>> > Sat Nov 21 22:28:22 2009 [3393]: Waiting for packet
>> > Sat Nov 21 22:28:27 2009 [3393]: Read AUTHEN/CONT size=23
>> > Sat Nov 21 22:28:27 2009 [3393]: PACKET: key=mykey
>> > Sat Nov 21 22:28:27 2009 [3393]: version 192 (0xc0), type 1, seq no 5,
>> flags
>> > 0x1
>> > Sat Nov 21 22:28:27 2009 [3393]: session_id 3295176910 (0xc46868ce),
>> Data
>> > length
>> >  11 (0xb)
>> > Sat Nov 21 22:28:27 2009 [3393]: End header
>> > Sat Nov 21 22:28:27 2009 [3393]: type=AUTHEN/CONT
>> > Sat Nov 21 22:28:27 2009 [3393]: user_msg_len 6 (0x6), user_data_len 0
>> (0x0)
>> > Sat Nov 21 22:28:27 2009 [3393]: flags=0x0
>> > Sat Nov 21 22:28:27 2009 [3393]: User msg:
>> > Sat Nov 21 22:28:27 2009 [3393]: myusername
>> > Sat Nov 21 22:28:27 2009 [3393]: User data:
>> > Sat Nov 21 22:28:27 2009 [3393]: End packet
>> > Sat Nov 21 22:28:27 2009 [3393]: choose_authen chose default_fn
>> > Sat Nov 21 22:28:27 2009 [3393]: Calling authentication function
>> > Sat Nov 21 22:28:27 2009 [3393]: Writing AUTHEN/GETPASS size=28
>> > Sat Nov 21 22:28:27 2009 [3393]: PACKET: key=mykey
>> > Sat Nov 21 22:28:27 2009 [3393]: version 192 (0xc0), type 1, seq no 6,
>> flags
>> > 0x1
>> > Sat Nov 21 22:28:27 2009 [3393]: session_id 3295176910 (0xc46868ce),
>> Data
>> > length
>> >  16 (0x10)
>> > Sat Nov 21 22:28:27 2009 [3393]: End header
>> > Sat Nov 21 22:28:27 2009 [3393]: type=AUTHEN status=5 (AUTHEN/GETPASS)
>> > flags=0x1
>> > Sat Nov 21 22:28:27 2009 [3393]: msg_len=10, data_len=0
>> > Sat Nov 21 22:28:27 2009 [3393]: msg:
>> > Sat Nov 21 22:28:27 2009 [3393]: Password:
>> > Sat Nov 21 22:28:27 2009 [3393]: data:
>> > Sat Nov 21 22:28:27 2009 [3393]: End packet
>> > Sat Nov 21 22:28:27 2009 [3393]: Waiting for packet
>> > Sat Nov 21 22:28:34 2009 [3393]: Read AUTHEN/CONT size=30
>> > Sat Nov 21 22:28:34 2009 [3393]: PACKET: key=mykey
>>
>> > Sat Nov 21 22:28:34 2009 [3393]: version 192 (0xc0), type 1, seq no 7,
>> flags
>> > 0x1
>> > Sat Nov 21 22:28:34 2009 [3393]: session_id 3295176910 (0xc46868ce),
>> Data
>> > length
>> >  18 (0x12)
>> > Sat Nov 21 22:28:34 2009 [3393]: End header
>> > Sat Nov 21 22:28:34 2009 [3393]: type=AUTHEN/CONT
>> > Sat Nov 21 22:28:34 2009 [3393]: user_msg_len 13 (0xd), user_data_len 0
>> > (0x0)
>> > Sat Nov 21 22:28:34 2009 [3393]: flags=0x0
>> > Sat Nov 21 22:28:34 2009 [3393]: User msg:
>> > Sat Nov 21 22:28:34 2009 [3393]: mypassword
>> > Sat Nov 21 22:28:34 2009 [3393]: User data:
>> > Sat Nov 21 22:28:34 2009 [3393]: End packet
>> > Sat Nov 21 22:28:36 2009 [3393]: login query for 'myusername' tty0 from
>> > 10.1.69.89 r
>> > ejected
>> > Sat Nov 21 22:28:36 2009 [3393]: login failure: myusername 10.1.69.89
>> > (10.1.69.89) t
>> > ty0
>> > Sat Nov 21 22:28:36 2009 [3393]: Writing AUTHEN/FAIL size=18
>> > Sat Nov 21 22:28:36 2009 [3393]: PACKET: key=mykey
>> > Sat Nov 21 22:28:36 2009 [3393]: version 192 (0xc0), type 1, seq no 8,
>> flags
>> > 0x1
>> > Sat Nov 21 22:28:36 2009 [3393]: session_id 3295176910 (0xc46868ce),
>> Data
>> > length
>> >  6 (0x6)
>> > Sat Nov 21 22:28:36 2009 [3393]: End header
>> > Sat Nov 21 22:28:36 2009 [3393]: type=AUTHEN status=2 (AUTHEN/FAIL)
>> > flags=0x0
>> > Sat Nov 21 22:28:36 2009 [3393]: msg_len=0, data_len=0
>> > Sat Nov 21 22:28:36 2009 [3393]: msg:
>> > Sat Nov 21 22:28:36 2009 [3393]: data:
>> > Sat Nov 21 22:28:36 2009 [3393]: End packet
>> > Sat Nov 21 22:28:36 2009 [3393]: 10.1.69.89: disconnect
>> >
>> >
>> >
>> > On Mon, Nov 23, 2009 at 12:23 PM, john heasley <heas at shrubbery.net>
>> wrote:
>> >
>> > > Mon, Nov 23, 2009 at 12:12:58PM -0600, Hailu Meng:
>> > > > Hi Adam,
>> > > >
>> > > > If the ldapsearch -D "" -w "" runs successfully, what do we suppose
>> to
>> > > get
>> > > > from the output? I just got all of the user information in that
>> group.
>> > > Does
>> > > > that means my password and username got authenticated successfully
>> > > against
>> > > > AD?
>> > > >
>> > > > This thing drives me crazy. I need solve it through this week before
>> the
>> > > > holiday...
>> > >
>> > > i havent followed this thread, as i know nearly zero about ldap.  but,
>> > > have you enabled authentication debugging in the tacacas daemon and
>> > > checked the logs to determine what is coming back from pam?  it very
>> > > well may be that the ldap client is working just fine, but there is a
>> > > pam module bug or a bug in the tacplus daemon or that your device
>> > > simply doesnt like something about the replies.
>> > >
>> > > > Thanks a lot for the help.
>> > > >
>> > > > Lou
>> > > >
>> > > > On Fri, Nov 20, 2009 at 7:26 AM, Hailu Meng <hailumeng at gmail.com>
>> wrote:
>> > > >
>> > > > > Still no clue how to turn on the log. binding seems good. See my
>> > > findings
>> > > > > below. Thanks a lot.
>> > > > >
>> > > > > On Thu, Nov 19, 2009 at 9:26 PM, adam <prozaconstilts at gmail.com>
>> > > wrote:
>> > > > >
>> > > > >> Hailu Meng wrote:
>> > > > >>
>> > > > >>> Adam,
>> > > > >>>
>> > > > >>> I tried the su - "userid" in my tacacs+ server but I don't have
>> that
>> > > > >>> userid in CentOS. So the CentOS just don't want me log in. I
>> think
>> > > this will
>> > > > >>> not ask tacacs server to authenticate against AD.
>> > > > >>>
>> > > > >>
>> > > > >> You shouldn't need to have to define the user in CentOS, that's
>> the
>> > > point
>> > > > >> of using ldap for authentication. The user is defined in ldap,
>> not in
>> > > > >> CentOS. Now that I think about it, su - <user> probably wouldn't
>> work
>> > > > >> anyway, as AD doesn't by default have the data needed by a linux
>> box
>> > > to
>> > > > >> allow login...but see below for more options.
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>> Is there any other way to test ldap authentication against AD
>> with
>> > > the
>> > > > >>> userid in AD? I tried ldapsearch. It did find my user id without
>> > > problem.
>> > > > >>> But I haven't found any option to try with password and
>> authenticate
>> > > against
>> > > > >>> AD.
>> > > > >>>
>> > > > >>
>> > > > >> Try using -D:
>> > > > >>
>> > > > >> from `man ldapsearch`:
>> > > > >>
>> > > > >> -D binddn
>> > > > >>  Use the Distinguished Name binddn to bind to the LDAP directory.
>> > > > >>
>> > > > >> so -D cn=username,ou=my_ou,dc=my_dc should let you try to
>> authenticate
>> > > > >> using whatever user you want to define. Just check and double
>> check
>> > > you get
>> > > > >> the right path in that dn.
>> > > > >>
>> > > > >>
>> > > > >> I tried -D " cn=username,ou=my_ou,dc=my_dc " but it just returned
>> lots
>> > > of
>> > > > > users' information. It means successful?
>> > > > >
>> > > > >
>> > > > >>  Do you have ldap server setup or only the openldap library and
>> > > openldap
>> > > > >>> client? I don't understand why the log is not turned on. There
>> must
>> > > be some
>> > > > >>> debugging info in the log which can help solve this issue.
>> > > > >>>
>> > > > >>
>> > > > >> only the libs and client. You should not need the server. In the
>> > > > >> ldapsearch, you can use -d <integer> to get debugging info for
>> that
>> > > search.
>> > > > >> As before, higher number = more debug
>> > > > >>
>> > > > >>
>> > > > >>  If the user can authenticate, does ethereal capture some packets
>> > > about
>> > > > >>> password verification? Right now I only see the packets when
>> ldap
>> > > search for
>> > > > >>> my user id and gets results back from AD.
>> > > > >>>
>> > > > >>
>> > > > >> Ethereal should catch all data flowing between the client and
>> server.
>> > > If
>> > > > >> you can search out the user in your AD right now, then one of two
>> > > things is
>> > > > >> happening:
>> > > > >>
>> > > > >> 1. You are performing anonymous searches. In this case, no
>> username
>> > > and pw
>> > > > >> is provided, and your AD is happy to hand over info to anyone who
>> asks
>> > > for
>> > > > >> it. If this is the case, you will _not_ see authentication
>> > > information. The
>> > > > >> following MS KB article should probably help you determine on
>> your AD
>> > > if
>> > > > >> anonymous queries are allowed:
>> > > > >>
>> > > > >> http://support.microsoft.com/kb/320528
>> > > > >>
>> > > > >> It has exact instructions for how to get it going, but you can
>> follow
>> > > > >> along with it to check your current settings without making any
>> > > changes.
>> > > > >>
>> > > > >
>> > > > > I checked our setting. Permission type for normal user is "Read &
>> > > Execute".
>> > > > > I click edit to check the detail about permission. I think it only
>> > > allow the
>> > > > > user to read the attributes, permission something and can't modify
>> the
>> > > > > AD.There is "Everyone" setting is also set as "Read & Execute". By
>> the
>> > > way,
>> > > > > the AD is Win2003 R2.
>> > > > >
>> > > > >
>> > > > >>
>> > > > >> 2. Authentication is happening. It will be the _very_ first thing
>> the
>> > > > >> client and server perform, after basic connection establishment.
>> Look
>> > > for it
>> > > > >> at the very beginning of a dump.
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> Also, it's a bit overkill, but the following article is extremely
>> > > > >> informative about all the different ways you can plug linux into
>> AD
>> > > for
>> > > > >> authentication. It might offer some hints...
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>> Maybe I need dig into ldap.conf more. If you have any idea, let
>> me
>> > > know.
>> > > > >>>
>> > > > >>> Thank you very much.
>> > > > >>>
>> > > > >>> Lou
>> > > > >>>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >
>> > > > -------------- next part --------------
>> > > > An HTML attachment was scrubbed...
>> > > > URL:
>> > >
>> http://www.shrubbery.net/pipermail/tac_plus/attachments/20091123/bba3d7fb/attachment.html
>> > > > _______________________________________________
>> > > > tac_plus mailing list
>> > > > tac_plus at shrubbery.net
>> > > > http://www.shrubbery.net/mailman/listinfo.cgi/tac_plus
>> > >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.shrubbery.net/pipermail/tac_plus/attachments/20091123/9bc5af89/attachment.html 


More information about the tac_plus mailing list