Software hardening helps lock down the security of each application used on a system to prevent vulnerabilities that may exist in the software. Often times these vulnerabilities, though they may exist and are either known about or not, security hardening could prevent those vulnerabilities from being used from stronger access control over what the application could do. This is usually known as MAC or Mandatory Access Control. Sometimes this process of application hardening could be referred to as a Software-level Firewall, however this is not really the correct term exactly. Firewalls, in the computer generally relate to networking hardening, while application-level hardening is known as software hardening.
There are several solutions to software level hardening, some better than others, some easier than others, and some practically are so technically oriented you almost need to specialize in just it to be be able to manage it properly.