Summary
No matter what service your server runs, there are certain basic hardening techniques you should apply. In this chapter, we focused specifically on hardening steps that apply to any server. In particular, we discussed hardening superuser access with sudo and the importance of remote logging. Also, given that almost every server these days uses SSH for remote administration, we covered a number of techniques to harden that service, from general hardening of SSH server configurations like disabling root logins to the use of SSH keys instead of password authentication. Finally, we discussed some advanced server-hardening techniques including adding two-factor authentication to SSH logins, server disk encryption, and alternatives to NTP.