Disable or Remove Unnecessary Accounts
For Solaris, the following userids are created during installation, and are required by the operating system. You should lock these accounts or assign an invalid shell such as /bin/false to prevent hackers from using them to log in to your system:
Make Sure Disabled User Accounts Are Given an Invalid Shell
Solaris will not log in for an account that is assigned an invalid shell. This is a good "defense in depth" strategy to prevent hackers from using default accounts to gain access to your host.
Assign the shell /bin/true or /bin/false as the shell for accounts that should never be allowed to log in. A better solution is to use a locally compiled version of the noshell (http://www.fish.com/titan/src1/noshell.c) program.
Closeout FTP Access to Disable User Accounts
Create the file /etc/ftpusers and add the following default Solaris accounts to the file.
Review User Accounts for Configuration Errors
- Verify that all who have accounts have a valid need to access the system.
- Verify that access to the root account is restricted.
- Make sure all accounts have an x in the password field in /etc/passwd
- Check /etc/shadow to make sure disabled accounts have either NP or *LK* in the password field.
- Make sure /etc/shadow is owned by root and the file permissions are rw-------.
- Check that no accounts other than root and smtp have UID of 0.
- Use the command logins -p to check for accounts that do not require a password to log in.
- Check /etc/group for the presence of a wheel group (group 0). If supported, the list of users for this group should not be null.
- Note that only those users shown in the user list for the wheel group will be allowed to su to root. All other users will be denied access, even if they enter the correct password.
- Run COPS or similar programs to verify that all default passwords have been changed.
In this 12-part tip Unix expert Gary Smith breaks down the process of building and maintaining a highly secure Web services architecture on the Solaris platform.
Table of contents:
Part 1: Isolate the Web services host server
Part 2: Install and configure a very basic operating system
Part 3: Force the use of su to gain root access
Part 4: Disable trusted host relationships and create a warning banner
Part 5: Configuring user accounts
Part 6: Disabling and removing unnecessary accounts
Part 7: Configure network access control
Part 8: Configure network services
Part 9: Install OpenSSH, disable NFS and reboot
Part 10: Set file permissions
Part 11: Test the configuration
Part 12: Conclusion
This was first published in October 2002