Implement security controls—server security, role-based access control, strong passwords, encryption, and penetration testing—to protect customer data.
Maintained in the open at github.com/Golden-Section-Tx/playbook · CC BY-SA 4.0
Security is a very crucial part of your product. Both inside your application and in between your infrastructure, you should have a robust set of security rules and a strict implementation. Network security consists of the policies and practices adopted to prevent and monitor unauthorized access, misuse, modification, or denial of a computer network and network-accessible resources.
The goal: Create a robust set of security rules and implementation processes to protect the security rules.
The following are aspects of the security process that need to be considered:
Golden Section recommends:
Role Based Access Control (RBAC): User Roles should be well-defined for your software to control who can access what resources.
Passwords: Passwords should be chosen so that they are hard for an attacker to guess and hard for an attacker to discover using any of the available automatic attack schemes. Requiring a strong password for each user who can access the system should be your first line of defense when dealing with security reinforcement.
Common requirements for a strong password:
Password rotation: Password rotation refers to the changing/resetting of a password(s). Limiting the lifespan of a password reduces the risk from and effectiveness of password-based attacks and exploits by condensing the window of time during which a stolen password may be valid.
Data Encryption / Transmission Encryption: Even Julius Caesar used encryption for his communications. The method was shifting the alphabet by three characters. Golden Section also recommends encryption. Data encryption in the cloud is the process of transforming or encoding data before it's moved to cloud storage. Typically cloud service providers offer encryption services --- ranging from an encrypted connection to limited encryption of sensitive data --- and provide encryption keys to decrypt the data as needed.
Penetration Test: A Penetration Test, also colloquially known as a pen test, pentest, or ethical hacking, is an authorized simulated cyberattack on a computer system, performed to evaluate the security of the system.
The process typically identifies the target systems and a particular goal, then reviews available information and undertakes various means to attain that goal. A penetration test target may be a white box (which provides background and system information) or black box (which provides only basic or no information except the company name).
A gray box penetration test is a combination of the two (where limited knowledge of the target is shared with the auditor). A penetration test can help determine whether a system is vulnerable to attack, whether the defenses were sufficient, and which defenses (if any) the test defeated.
There are a number of penetration test tools, including:
Security is a very crucial part of your product. Both inside your application and in between your infrastructure, you should have a robust set of security rules and a strict implementation. Network security consists of the policies and practices adopted to prevent and monitor unauthorized access, misuse, modification, or denial of a computer network and network-accessible resources.
Conducting an annual security assessment (alternatively, you can hire an "ethical hacking" group to do a penetration test -- see below)
Implement security controls—server security, role-based access control, strong passwords, encryption, and penetration testing—to protect customer data.
Role Based Access Control (RBAC) : User Roles should be well-defined for your software to control who can access what resources.
Data Encryption / Transmission Encryption : Even Julius Caesar used encryption for his communications. The method was shifting the alphabet by three characters. Golden Section also recommends encryption.