In: Computer Science
Question 2. Pick three security failures of Linux system and explain how you would address them.
1. Open Network Ports
2. Insecure and Badly Configured Programs
The use of insecure programs (such as PHP, FTP, rsh, NFS, and portmap) in other than carefully controlled situations and failure to configure other programs properly continues to be a major security sin.
Most sysadmins know that POP and IMAP (unless wrapped in SSL), telnet, and FTP4 send passwords and data in the clear (unencrypted). They know that PHP, NFS, and portmap have a history of security problems, as well as design defects in their authentication.
Many system break-ins relating to Linux and Unix Web servers happen via insecure CGIs.
Implement rings of security in CGIs.
Try to design your application so that even if it finds a CGI vulnerability, the system is protected from major damage. One solution is to have CGIs just be front ends for a solidly written server running on a different machine. The more hurdles a hacker must jump to reach the goal, the more likely it is that he or she will stumble.
3. Weak password
A variation is to use ssh public keys to allow an account on one system to ssh into another system without supplying any password. At the very least, pick a moderately hard-to-crack password for your ssh keys. If you must have an automatic program use ssh without a password to ssh into another system, then create either a separate nonroot account on the target system or an alternate account with UID 0 but a login "shell" that does just what is needed, such as doing a backup.