Build in security from the start. Adding security later almost never works. There are too many holes to plug, and as a practical matter security is nearly impossible to add to a fundamentally insecure system. In order to make such a design integrable, it must be simple and capable of being applied uniformly. The system must be acceptable to the users.
All security systems are a compromise between security and usability.
The more features a system has, the more likely opportunities there are for exploitation. Furthermore, if a security feature is too onerous to the users, they will just invent ways to circumvent them. These circumventions are then available for the attackers. An unacceptable security system is automatically attacked from within. The idea of protection domains originated with Multics and is a key one for understanding computer security.