I'm just getting back to this from the out of band LSARC
        review that suggested the case was more appropriate for
        PSARC.

> [2] Dante server uses Solaris PAM for authentication which requires the 
> privileged user to be 'root'. Hence, the privileged user (i.e. root) 
> will have all the privileges even when not all of them are required. 
> This is not the current recommended practice, but is this acceptable at 
> all?

        A lot of the discussion has centered around here.  I suppose
        the project team could just not support username/password
        authentication.  If I read the Socks 5 RFC correctly,
        username/password is a "should."  I don't know if that would be
        acceptable to the customer base or not.

        That said, one of the exported interfaces for all PAM applications
        is the service name.  Perhaps I missed it in the exported interfaces.
        Stability should likely be no lower than Uncommitted.  The service
        name is important and needs to be documented on the socksd man
        page so admins can configure pam.conf accordingly.  Since the
        protocol is explicitly username followed by password, the service's
        PAM stack should be specified.  You also probably want to specify
        the account stack.  I'd expect to see this in the sockd(1m) man
        page.  It may wish to also say something about pam_servicename
        in sockd.conf(4) and how that all applies.
        Furthermore, a project could create a PAM service module just
        to handle socks username/password authentication (and account
        management) that didn't need to be tied to the hosts passwd(4) and
        shadow(4) databases -- that may require no privilege.
        To do authentication and account management as appears in
        sockd:auth_pam.c should only require euid 0, privs = none, or
        euid = uid != 0, privs = file_dac_read.
        
        IMO, the PAM code in auth_pam.c exhibits confusion.  I don't
        believe inet_ntoa() is a valid PAM_RHOST value.  The project team
        should take Joep up on his offer to help, or any of the other folk
        on pam-core at sun.com.

        I believe the real (PAM) security issue is exposing the system users
        accounts to the internet.  Safe programming (and running uid != 0,
        privs - file_dac_read) can ensure that whatever inputs are stuffed
        over the protocol do not meet with privilege escalation.  However
        this does leave the system open to username and password probing
        attacks that are likely not audited.

        The project team may wish considering adding Solaris Audit calls
        to mitigate this exposure.

        A couple nits:
>       /usr/man/man4/sockd.conf.5
>       /usr/man/man4/socks.conf.5

        These should be sockd.conf.4 and socks.conf.5

>     4.7. Admin/Config Impact:
>    
>       The package will also provide template of configuration files
>       for both server and client. The templates for these configureation
>       files are attached.
> 
>       /etc/sockd.conf
>       /etc/socks.conf
        
        These samples don't seem to be in the case directory, or mail log.
        My download doesn't seem contain sample files either.

Gary..

Reply via email to