School of Medicine

Wayne State University School of Medicine






 
WSU Medical School Information Systems Department Unix Security Information
Home of Computing Resources Department
Network Security Checklist for Unix Workstations

This document provides a checklist along with implementation guidelines for securing Unix workstations. It is based on the recommendations provided to Unix users at Yale University

Precompiled Unix Software discussed here can be found at:
MSIS strongly recommends the CIS Benchmarking Tool and YASSP for Solaris users. The CIS Benchmarking tool includes more detailed (step-by-step) implementation guidelines than those summarized below and YASSP automatically implements many of the steps outlined in this document and significantly simplifies secure system administration.

1) Maintain System Security

2) Limit Access

3) Network Services

4) Resource Sharing


Implementation Guidelines

1) Maintain System Security

2) Limit Access

echo "Authorized uses only. All activity may be monitored and reported." >> /etc/motd
echo "Authorized uses only. All activity may be monitored and reported." >> /etc/issue
echo "Authorized uses only. All activity may be monitored and reported." >> /etc/default/telnetd
echo "Authorized uses only. All activity may be monitored and reported." >> /etc/default/ftpd

3) Network Services

Most Unix systems have a large number of network services enabled, allowing remote individuals (anyone in the world) to connect to the system and gain various levels of access. Any of these services can contain a vulnerability that is just waiting to be discovered and exploited (see the Vulnerabilities page). Therefore, to prevent unauthorized access, great care must be taken to minimize the number of network services running on the machine and restrict access to services that are running on the system. Also, many of the network services that come with Unix are not secure (e.g. Telnet, FTP, rsh) and should be replaced with secure alternatives such as SSH.

ftp: enables an FTP server that introduces a variety of insecurities and is the cause of many intrusions. Disable this and use SSH instead to transfer files between systems.

telnet, shell, login, exec: allows users from other systems to log into and run commands on your machine. This is useful, but the more useful something is, the more likely it is that someone will find a way to exploit it. Disable these services and, if you do need to allow remote logins, use SSH instead.

comsat: a daemon which is used to notify users of newly arrived email. There are alternate means of doing the same thing, and there are occasional rumors of security problems with comsat. Unless you have some overwhelming need for this, turn it off.

talk: allows users to communicate by typing at each others’ terminals. If you need to use this feature, restrict access to the service using TCPwrappers and IPFilter/IPChains.

uucp: Nobody uses uucp anymore - disable this. While you are at it, you may as well turn off execute permission on the uucp-related shell commands.

tftp: FTP without any security. This should be needed only if your system will be used for booting workstations. If this is the case, you must invoke the daemon with the -s flag, as in:

    tftp dgram udp wait root in.tftpd -s /tftpboot

If you don't, tftp can be used to retrieve any file from your system, anonymously. Also make all the files in the bootfile directory read-only. Finally, restrict access to the service using TCPwrappers and IPFilter/IPChains.

finger: this gives out information on who is logged­in, or people's phone numbers and offices. Unfortunately this information can be used by a potential intruder to find accounts to attack. You may wish to disable this, run a custom finger daemon, or restrict access to it using TCPwrappers and IPFilter/IPChains.

systat, netstat: these services give out information about your system. The comments for finger apply to these.

time: Gives out the system time to any remote host that asks for it. Probably safe but can be disabled without impacting the system.

echo, discard, daytime, chargen: these are used for testing, and are generally safe, though there have been reports of TCP packets with forged IP source addresses being used to trick a system into sending echo packets to itself, causing a packet storm on the local ethernet segment. Disable them and only turn them on while testing.

rexd - this is the Remote Procedure Call mechanism. It has minimal authentication, so disable it and use SSH instead.

walld: allows people to send messages to all logged in users. Useful, but easily abused. Disable this service or restrict access to it using TCPwrappers and IPFilter/IPChains.

ttdbserverd (tooltalk): used by some convenient desktop elements but not important from a system operation standpoint. Some versions of this service contain serious remote exploits and should be disabled (dsabling this service causes virtually no operational degradation).

rpc.cmsd (calendar manager): used to share calendar information over the network but not important from a system operation standpoint. Some versions of this service contain serious remote exploits and should be disabled.

others: Other services such as sadmind (once found to be vulnerabale to remote root exploit) and kerberos can be disabled without impacting the system.

4) Shared Resources

Shared resources, notably exported file systems, should be limited in terms of access and control. The following suggest guidelines for sharing resources on Unix systems using NFS or Samba.

Back to top of page