Strong Distributed Authentication Architecture for UNIX Ashwin Ganti

Total Page:16

File Type:pdf, Size:1020Kb

Strong Distributed Authentication Architecture for UNIX Ashwin Ganti University of Illinois at Chicago Strong Distributed Authentication Architecture for UNIX by Ashwin Ganti A PROJECT SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE MASTER OF SCIENCE in COMPUTER SCIENCE Approved, MASTERS PROJECT COMMITTEE Jon Solworth, Adviser Associate Professor of Computer Science V.N. Venkatakrishnan Assistant Professor of Computer Science Chicago, Illinois December, 2007 This project is dedicated to my family. Acknowledgments I would like to thank my adviser Jon Solworth for his invaluable guidance throughout the course of the research for this project and for having been most patient and supportive of me during the entire duration of my time in graduate school. Ashwin 2 Contents 1 Introduction 7 2 Overview of the Frameworks used 9 2.1 PAM........................................ 10 2.2 Name Service Module . 11 2.3 IPSec . 12 3 System Design 12 3.1 Statics . 12 3.1.1 Modules of the system . 12 3.1.2 Relation between the Modules . 13 3.1.3 SayAnything Certificates Used . 13 3.1.4 Relation between certificates . 15 3.2 Dynamics - Logical Flow . 17 4 System Internals 18 4.1 pam sayAnything . 18 4.2 nss sayAnything . 18 4.2.1 getpwuid (uid t uid) . 19 4.2.2 getpwnam (char* name) . 20 4.2.3 setpwent (void) . 20 4.2.4 getpwent (void) . 20 4.2.5 endpwent (void) . 21 4.3 sayAnything Agent . 21 4.3.1 Overview . 22 4.3.2 Logical Flow . 22 4.4 Certificate Server . 24 3 4.4.1 Add Certificate . 24 4.4.2 Get Certificate . 24 5 System Administration 25 5.1 pam sayAnything . 25 5.1.1 Overview . 25 5.1.2 Configuration . 26 5.2 nss sayAnything . 27 5.2.1 Overview . 27 5.2.2 Configuration . 30 5.3 IPSEC . 30 5.3.1 Components that need to be setup . 31 5.3.2 Steps to setup ipsec on two test machines host1 and host2 ..... 31 5.3.3 The hosts have a static ip . 32 5.3.4 Road-warrior scenario . 36 6 Conclusion 39 A Appendix 41 A.1 PAM........................................ 41 A.1.1 Framework Layer API’s . 41 A.2 Name Service Module . 42 A.2.1 NSS Module Nomenclature . 42 A.2.2 NSS Module Interface . 42 A.3 Feedback . 43 4 Summary I have designed and implemented a Strong Distributed Authentication Architecture for Linux as part of this Master’s Project. This document begins by giving an introduction to the current authentication mechanisms, the security issues faced with them and the motivation for implementing a new mechanism for distributed authentication. I then describe the design of the system, the modules that are part of it, how they are related to each other and the logical flow of the entire authentication process once a user types the name and password in the login screen. The report also covers the system internals that are specific to the implementation intended to be useful for the developers of applications that use this architecture. It finally ends with a section that intends to serve as a reference for the system administrators explaining the configuration details of the system. 5 Abstract The Distributed Authentication Architecture described in this report is a novel way for authentication of users using Public Key Infrastructure. It uses sayAnything certifi- cates and cryptography (through IPSec) for the flow of the authentication information in the network. Host authentication is done through IPSec. The issue of a user logging into a client terminal (which may not be trusted) is considered as a context to explain the effectiveness of this authentication mechanism. As part of a login to the terminal, the user’s private key is obtained which is used to create new authentication tokens. The user is not required to type passwords for accessing every network service after the login. The authentication happens implicitly for each network service request within the system and is controlled by the kernel thus providing better security. Misuse of the authentication token that has been created at the client side by an attacker (if the client is compromised) is limited by reducing its lifetime (to the order of some hours). To prevent off-line attacks, this scheme only provides the password encrypted private-key to someone who has the password. If this assumption is violated the server might leak the encrypted private-key, but the attacker still needs to crack the password in an off-line attack. The keys are distributed as part of sayAnything certificates and are sent in the network over IPSec thereby providing confidentiality, integrity and non-repudiation (because of public key cryptography). 6 1 Introduction Authentication is any process by which a system verifies that someone is who they claim to be. This section gives an overview of the current authentication mechanisms in UNIX. In earlier UNIX systems passwords were usually stored in the /etc/passwd (in a hashed form) which also keeps track of user information (such as the home directory and default shell). When a user types in a user name and password at login, a cryptographic hash of the password is generated and is compared with the existing hash in the file for that user. If the hashes match, then the system authenticates the user and the login scripts are executed. The problem with this approach is that the /etc/passwd file is world readable and anyone having access to the machine could retrieve the hashed passwords from the file. To address this vulnerability, the hashed passwords were stored in a separate file called /etc/shadow which is readable only by root. This might have solved the issue of the password hash being readable by an attacker but there were some problems that still remained: • Applications heavily depended on these files leading to less extensible code. • This approach did not scale well to distributed systems due to the availability of data being static and lack of inherent support from the operating system for running applications in a truly distributed way. • The password-based authentication over the network was subject to dictionary based attacks. • If a new authentication mechanism is introduced, it requires all the applications (like login, su etc.) that use the authentication information to be rewritten to support it. In order to address these issues Pluggable Authentication Modules and Naming Services were introduced to provide more effective ways to authenticate users. Pluggable Authentication Modules (PAM) [6] provide a generic framework enabling uniform authentication of user applications. PAM enables user applications to perform authentication without actually knowing the implementation details of the underlying authentication mechanisms. It is usually done through a password-based authentica- tion mechanism, but also supports a challenge-response interaction. An application can dynamically link a PAM module that implements a particular authentication scheme (ex: Kerberos). The advantage of PAM is that any change that occurs in the au- thentication mechanism does not require the applications to be retrofitted to support it. Naming services (NIS) store the information in central place which enables users ma- chines and applications to communicate across the network. The information can include user names, passwords, access permissions etc. Storing this information at a central place makes administration much easier. 7 When a user types in a name and password on the login screen, the appropriate PAM module configured for the specific authentication scheme performs the authentication. Information about the user like default shell and home directory can be obtained with the help of calls (like getpwnam()) to the Naming Service Module. PAM and NIS have been leveraged by many authentication infrastructures, the most popular and widely used among them being Kerberos. Kerberos [4] is a network authentication protocol that allows users communicating over an insecure network to securely prove their identity to each other. When a user logs in, the user name is sent to the authentication server along with the name of the service that user wants to access (say the remote file system needs to be mounted and the user is authenticated for the file server). The authentication server constructs a ticket containing a session key that is randomly generated and encrypts the ticket with the secret key of the server that the user is trying to connect to (file server). This ticket is sent to the client. If the user typed in the correct password then the client can decrypt the session key, present the ticket to the file server and use the shared session key for further communication. The ticket generally is provided only for a small duration. Once it expires the user needs to type in the password again to get a fresh ticket. In practice, there is a separate ticket-granting server (TGS) whose job typically is to grant tickets for other services. The first service requested by the user is now the TGS which then grants tickets for other additional services. The authentication server and the ticket granting server are together called the Key Distri- bution center (KDC). The client or the server shares a secret key known only to itself and the KDC. The drawbacks of Kerberos are: • It uses symmetric cryptography to encrypt the tickets. This has an inherent drawback of the key distribution and the problem of trust between the parties sharing the secret key. • Single Point of failure : The effectiveness of the authentication scheme of Kerberos is contingent on the integrity of the KDC. Since KDC is the central place where all the keys are stored, compromise of the KDC would render the entire authentication mechanism useless. • Non Repudiation is not possible as they are no certificates being used. The current work is an attempt to achieve stronger authentication when compared to the mechanisms existing today.
Recommended publications
  • Pluggable Authentication Modules
    Who this book is written for This book is for experienced system administrators and developers working with multiple Linux/UNIX servers or with both UNIX and Pluggable Authentication Windows servers. It assumes a good level of admin knowledge, and that developers are competent in C development on UNIX-based systems. Pluggable Authentication Modules PAM (Pluggable Authentication Modules) is a modular and flexible authentication management layer that sits between Linux applications and the native underlying authentication system. The PAM framework is widely used by most Linux distributions for authentication purposes. Modules Originating from Solaris 2.6 ten years ago, PAM is used today by most proprietary and free UNIX operating systems including GNU/Linux, FreeBSD, and Solaris, following both the design concept and the practical details. PAM is thus a unifying technology for authentication mechanisms in UNIX. This book provides a practical approach to UNIX/Linux authentication. The design principles are thoroughly explained, then illustrated through the examination of popular modules. It is intended as a one-stop introduction and reference to PAM. What you will learn from this book From Technologies to Solutions • Install, compile, and configure Linux-PAM on your system • Download and compile third-party modules • Understand the PAM framework and how it works • Learn to work with PAM’s management groups and control fl ags • Test and debug your PAM confi guration Pluggable Authentication Modules • Install and configure the pamtester utility
    [Show full text]
  • IT Acronyms.Docx
    List of computing and IT abbreviations /.—Slashdot 1GL—First-Generation Programming Language 1NF—First Normal Form 10B2—10BASE-2 10B5—10BASE-5 10B-F—10BASE-F 10B-FB—10BASE-FB 10B-FL—10BASE-FL 10B-FP—10BASE-FP 10B-T—10BASE-T 100B-FX—100BASE-FX 100B-T—100BASE-T 100B-TX—100BASE-TX 100BVG—100BASE-VG 286—Intel 80286 processor 2B1Q—2 Binary 1 Quaternary 2GL—Second-Generation Programming Language 2NF—Second Normal Form 3GL—Third-Generation Programming Language 3NF—Third Normal Form 386—Intel 80386 processor 1 486—Intel 80486 processor 4B5BLF—4 Byte 5 Byte Local Fiber 4GL—Fourth-Generation Programming Language 4NF—Fourth Normal Form 5GL—Fifth-Generation Programming Language 5NF—Fifth Normal Form 6NF—Sixth Normal Form 8B10BLF—8 Byte 10 Byte Local Fiber A AAT—Average Access Time AA—Anti-Aliasing AAA—Authentication Authorization, Accounting AABB—Axis Aligned Bounding Box AAC—Advanced Audio Coding AAL—ATM Adaptation Layer AALC—ATM Adaptation Layer Connection AARP—AppleTalk Address Resolution Protocol ABCL—Actor-Based Concurrent Language ABI—Application Binary Interface ABM—Asynchronous Balanced Mode ABR—Area Border Router ABR—Auto Baud-Rate detection ABR—Available Bitrate 2 ABR—Average Bitrate AC—Acoustic Coupler AC—Alternating Current ACD—Automatic Call Distributor ACE—Advanced Computing Environment ACF NCP—Advanced Communications Function—Network Control Program ACID—Atomicity Consistency Isolation Durability ACK—ACKnowledgement ACK—Amsterdam Compiler Kit ACL—Access Control List ACL—Active Current
    [Show full text]
  • Implementing Infiniband on IBM System P
    Front cover Implementing InfiniBand on IBM System p Understanding and exploiting InfiniBand HPC and commercial solution explored AIX 5L V5.3 and SLES 9 implementation Dino Quintero Norbert Conrad Rob Desjarlais Marc-Eric Kahle Jung-Hoon Kim Hoang-Nam Nguyen Tony Pirraglia Fernando Pizzano Robert Simon Shi Lei Yao Octavian Lascu ibm.com/redbooks International Technical Support Organization Implementing InfiniBand on IBM System p September 2007 SG24-7351-00 Note: Before using this information and the product it supports, read the information in “Notices” on page ix. First Edition (September 2007) This edition applies to Version 5, Release 3, Modification 4, APAR IY84006 of AIX 5L, of SUSE LINUX Enterprise Server 9 for POWER Service Pack 3, SLES 9 SP3 and Release 6, Version 1.0 and APAR MB01795 of the Hardware Management Console (HMC). © Copyright International Business Machines Corporation 2007. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . ix Trademarks . x Preface . xi The team that wrote this book . xi Become a published author . xiv Comments welcome. xv Part 1. InfiniBand architecture. 1 Chapter 1. Introduction. 3 1.1 Introduction to InfiniBand. 4 Chapter 2. Introduction to InfiniBand technology . 7 2.1 A technical introduction to InfiniBand . 9 2.2 Markets . 10 2.3 Application clustering . 11 2.4 I/O architectures: fabric versus bus. 12 2.4.1 Shared bus architecture . 13 2.4.2 New interconnects compliment InfiniBand . 13 2.4.3 Bandwidth out of the box. 14 2.5 InfiniBand technical overview .
    [Show full text]
  • Oracle Solaris Administration Naming and Directory Services
    Oracle® Solaris Administration: Naming and Directory Services Part No: 821–1455–11 December 2011 Copyright © 2002, 2011, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract,and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
    [Show full text]
  • Computer System Administration. Topic 3. Active Directory Integration Mechanisms: PAM + NSS (Sssd)
    Computer System Design and Administration Topic 3. Active directory integration mechanisms: PAM + NSS (SSSd) José Ángel Herrero Velasco Department of Computer and Electrical Engineering This work is published under a License: Creative Commons BY-NC-SA 4.0 Computer System Design and Administration Topic 3. Active directory integration mechanisms: PAM + NSS (SSSd) Secure information service: Puzzle Information server LDAP clients Active Directory client Open OpenLDAP LDAP model LDAP DB SSL SSL service ” SSL Main SSH server sign-on ISC ISC ISC Third-party service DHCP DNS NTP client services Secondary Single Single Open “ LDAP DB service SSH client LDAP SSL SSL Replicated José Ángel Herrero Velasco Computer System Design and Administration Topic 3. Active directory integration mechanisms: PAM + NSS (SSSd) Target: The Single Sing-On mechanisms • Implementaon and development of a secure and centralized system for the management of account and computa*onal informaon in an enterprise (corporave) environment, using LDAP protocol. – Single Sing-On INTEGRATION mechanisms: • LDAP ac?ve directory Open DB LDAP LDAP • Centralized idenficaon and authencaon aware versions of C-library rou)nes – Identy NSS. SSSd (all in one). – Authen?cate PAM. José Ángel Herrero Velasco Computer System Design and Administration Topic 3. Active directory integration mechanisms: PAM + NSS (SSSd) PAM: Definition & features • P.A.M: Pluggable Authen+ca+on Modules: – Ini)ally developed by Sun Microsystems (Oracle) from 1995 (RFC 86.0). • Definion: – It’s a suite of shared libraries that: • Enables integrang mul+ple authen*caon schemas into an API which is used by applicaons: – PAM-aware applica?ons, through this API, are able to select the authencaon mechanism(s) that it uses: » Currently, by default.
    [Show full text]
  • IBM Security Directory Server: Troubleshooting Guide Operation Times out
    IBM Security Directory Server Version 6.3.1 Troubleshooting Guide GC27-2752-01 IBM Security Directory Server Version 6.3.1 Troubleshooting Guide GC27-2752-01 Note Before using this information and the product it supports, read the general information under “Notices” on page 147. Edition notice Note: This edition applies to version 6.3.1 of IBM Security Directory Server licensed program (product number 5724-J39 ) and to all subsequent releases and modifications until otherwise indicated in new editions. Contents Figures ..............vii Installation with the installation wizard ....28 Uninstallation with the installation wizard . 32 Tables ...............ix Chapter 5. Migration issues ......33 About this publication ........xi Migration log files ............33 Kerberos service name...........33 Access to publications and terminology .....xi Database instance or database in configuration file Accessibility ..............xii but no longer on system ..........33 Technical training ............xiii Format of backed-up schema files is incorrect . 34 Support information ...........xiii ibm-slapdPlugin entry in configuration file changed 34 Statement of Good Security Practices .....xiii Considerations for migration ........34 Chapter 1. Introduction to problem Chapter 6. Instance creation and determination and troubleshooting . 1 configuration issues .........37 Directory server overview ..........1 Instance creation overview and common errors . 37 Built-in troubleshooting features ........1 Instance creation overview ........37 Tools for troubleshooting a directory server instance 1 Cannot create another instance because of invalid Error Message Reference ..........2 IP address ..............38 Information about troubleshooting .......2 idssethost command does not recognize second IP address ..............38 Chapter 2. Utilities for logging .....5 Two directory instances use the same port number...............39 Chapter 3. Other diagnostic tools .
    [Show full text]
  • One Identity Authentication Services Administration Guide
    One Identity Authentication Services 4.2.2 Administration Guide Copyright 2019 One Identity LLC. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under a software license or nondisclosure agreement. This software may be used or copied only in accordance with the terms of the applicable agreement. No part of this guide may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording for any purpose other than the purchaser’s personal use without the written permission of One Identity LLC . The information in this document is provided in connection with One Identity products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of One Identity LLC products. EXCEPT AS SET FORTH IN THE TERMS AND CONDITIONS AS SPECIFIED IN THE LICENSE AGREEMENT FOR THIS PRODUCT, ONE IDENTITY ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON- INFRINGEMENT. IN NO EVENT SHALL ONE IDENTITY BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ONE IDENTITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. One Identity makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice.
    [Show full text]
  • Security with LDAP
    Security with LDAP Andrew Findlay Skills 1st Ltd www.skills-1st.co.uk February 2002 [email protected] Security with LDAP ● Applications of LDAP ● White Pages ● NIS (Network Information System) ● Authentication ● Lots of hype ● How much of it works? [email protected] Network Information Service ● Many in service: ● YP/NIS ● DNS / Hesiod ● WINS ● LDAP ● Maps: ● passwd, group ● automount, services, protocols ● Map from a key to a value ● Give reliable answers [email protected] Authentication Service ● Get password hash from NIS, check locally ● Authentication protocol ● RADIUS ● TACACS+ ● Kerberos ● POP ● LDAP ● Avoid exposing password in cleartext ● Protect authentication data from rogue clients [email protected] LDAP structure: the tree dc=org dc=example ou=People ou=Group ou=rpc ou=mounts [email protected] LDAP structure: person entry dn: uid=andrew,ou=People,dc=example,dc=org uid: andrew cn: Andrew Findlay objectClass: top objectClass: account objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash uidNumber: 500 gidNumber: 500 homeDirectory: /home/andrew gecos: Andrew Findlay userPassword: {crypt}$1$HkYw.fgh$... [email protected] Test environment ● Red Hat 7.1 on laptop ● OpenLDAP 2.0.18 ● PADL migration tools ● Client OS mostly in VMware virtual machines ● Red Hat 7.2 ● FreeBSD 4.4 ● SuSE 7.0 ● Mandrake 8.1 ● Solaris 8 ● Aim to centralise all user management data [email protected] Name Service Switch ● NSS in Linux and
    [Show full text]
  • Installing and Administering NFS Services
    Installing and Administering NFS Services HP 9000 Networking Manufacturing Part Number: B1031-90048 E0601 U.S.A. © Copyright 2001 Hewlett-Packard Company. Legal Notices The information in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be held liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance, or use of this material. Warranty. A copy of the specific warranty terms applicable to your Hewlett- Packard product and replacement parts can be obtained from your local Sales and Service Office. Restricted Rights Legend. Use, duplication or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 for DOD agencies, and subparagraphs (c) (1) and (c) (2) of the Commercial Computer Software Restricted Rights clause at FAR 52.227-19 for other agencies. Hewlett-Packard Co. 19420 Homestead Road Cupertino, CA 95014 USA Use of this manual and CD(s) supplied for this pack is restricted to this product only. Additional copies of the programs may be made for security and back-up purposes only. Resale of the programs in their present form or with alterations, is expressly prohibited. Copyright Notices ©copyright 1983-2000 Hewlett-Packard Company, all rights reserved. Reproduction, adaptation, or translation of this document without prior written permission is prohibited, except as allowed under the copyright laws.
    [Show full text]
  • System Operations IT-ST-FDO
    System Operations IT-ST-FDO Index: - Bash pag. 2 - Common Operations pag. 3 - EOS pag. 13 - Filesystem Operations pag. 16 - CASTOR pag. 23 - Interventions pag. 28 - How to implement the SSO on EOSCOCKPIT Machine pag. 34 - XrdFed pag. 38 - Rundeck pag. 40 - Gitlab pag. 41 - SAMBA pag. 45 Please remind that commands and procedures could be no longer updated. Please verify them before any use. Bash: Shell command line --> “command” “options” “arguments”. - scp [source] [dest] --> scp log.cron root@lxbst2277:/etc/file.conf --> Secure copy to other machines. - cp [options]... Source Dest --> Copy Source to Dest or Directory. - lp [options]...[file...] --> Send files to a printer. - cd [Options] [Directory] --> Change Directory - change the current working directory to a specific folder. - pwd [-LP] --> Print Working Directory. - ls [Options]... [File]... --> List information about files. - ll = ls -l [file] --> List directory contents using long list format. - cat [Options] [File]... --> Concatenate and print (display) the content of files. - grep [options] PATTERN [FILE...] --> Search file(s) for specific text. - sort [options] [file...] --> Sort text files. Sort, merge, or compare all lines from files given. - cut [OPTION]... [FILE]... --> Divide a file into several parts (columns). - tr [options]... SET1 [SET2] --> Translate, squeeze, and/or delete characters. - mv [options]... Source... Directory --> Move or rename files or directories. - source filename [arguments] --> Read and execute commands from the filename argument in the current shell context. - mkdir [Options] folder... --> Create new folder(s), if they do not already exist. - xrdcp [options] source destination --> Copies one or more files from one location to another. - df [option]... [file]... --> Disk Free - display free disk space.
    [Show full text]
  • Winbind Guide
    Unified Logons between Windows NT and UNIX using Winbind Tim Potter ([email protected]) Andrew Tridgell ([email protected]) October 16, 2000 Abstract Integration of UNIX and Microsoft Windows NT through a unified lo- gon has been considered a \holy grail" in heterogeneous computing envi- ronments for a long time. We present winbind, a component of the Samba suite of programs as a solution to the unified logon problem. Winbind uses a UNIX implementation of Microsoft RPC calls, Pluggable Authentication Modules, and the Name Service Switch to allow Windows NT domain users to appear and operate as UNIX users on a UNIX machine. This paper de- scribes the winbind system, explaining the functionality it provides, how it is configured and how it works internally. 1 Introduction It is well known that UNIX and Microsoft Windows NT have different models for representing user and group information and use different technologies for implementing them. This fact has made it difficult to integrate the two systems in a satisfactory manner. One common solution in use today has been to create identically named user accounts on both the UNIX and Windows systems and use the Samba suite of programs to provide file and print services between the two. This solution is far from perfect however, as adding and deleting users on both sets of machines becomes a chore and two sets of passwords are required both of which which can lead to synchronization problems between the UNIX and Windows systems and confusion for users. We divide the unified logon problem for UNIX machines into three smaller problems: Obtaining Windows NT user and group information • Authenticating Windows NT users • Password changing for Windows NT users • 1 Ideally, a prospective solution to the unified logon problem would satisfy all the above components without duplication of information on the UNIX machines and without creating additional tasks for the system administrator when maintaining users and groups on either system.
    [Show full text]
  • The Netbsd Operating System
    The NetBSD Operating System A Guide Federico Lupi The NetBSD Operating System: A Guide by Federico Lupi Copyright © 1999, 2000, 2001, 2002 by Federico Lupi Copyright © 2003 by The NetBSD Foundation License Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Federico Lupi for the NetBSD Project. 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    [Show full text]