Policy Owner: Managing Director
Effective Date: 2023-05-01
Purpose
To limit access to information and information processing systems, networks, and facilities to authorized parties in accordance with business objectives.
Scope
All CloudCard information systems that process, store, or transmit confidential data as defined in the CloudCard Data Management Policy. This policy applies to all employees of CloudCard and to all external parties with access to CloudCard networks and system resources.
Policy
Access to information computing resources is limited to personnel with a business requirement for such access. Access rights shall be granted or revoked in accordance with this Access Control Policy.
Business Requirements of Access Control
Access Control Policy
CloudCard shall determine the type and level of access granted to individual users based on the “principle of least privilege.” This principle states that users are only granted the level of access absolutely required to perform their job functions, and is dictated by CloudCard’s business and security requirements. Permissions and access rights not expressly granted shall be, by default, prohibited.
CloudCard’s primary method of assigning and maintaining consistent access controls and access rights shall be through the implementation of Role-Based Access Control (RBAC). Wherever feasible, rights and restrictions shall be allocated to groups. Individual user accounts may be granted additional permissions as needed with approval from the system owner or authorized party.
All privileged access to production infrastructure shall use Multi-Factor Authentication (MFA).
Access to Networks and Network Services
The following security standards shall govern access to CloudCard networks and network services:
Technical access to CloudCard networks must be formally documented including the standard role or approver, grantor, and date
Only authorized CloudCard employees and third-parties working off a signed contract or statement of work, with a business need, shall be granted access to the CloudCard production networks and resources
CloudCard guests may be granted access to guest networks after registering with office staff without a documented request
Remote connections to production systems and networks must be encrypted
Customer Access Management
When configuring cross-account access using AWS IAM roles, you must use a value you generate for the external ID, instead of one provided by the customer, to ensure the integrity of the cross account role configuration. A partner-generated external ID ensures that malicious parties cannot impersonate a customer's configuration and enforces uniqueness and format consistency across all customers.
The external IDs used must be unique across all customers. Re-using external IDs for different customers does not solve the confused deputy problem and runs the risk of customer A being able to view data of customer B by using the role ARN of customer B along with the external ID of customer B.
Customers must not be able to set or influence external IDs. When the external ID is editable, it is possible for one customer to impersonate the configuration of another.
User Access Management
CloudCard requires that all personnel have a unique user identifier for system access, and that user credentials and passwords are not shared between multiple personnel. Users with multiple levels of access (e.g. administrators) should be given separate accounts for normal system use and for administrative functions wherever feasible. Root, service, and administrator accounts may use a password management system to share passwords for business continuity purposes only. Administrators shall only use shared administrative accounts when needed for a business purpose that cannot be satisfied with user-specific administrative accounts.
If a password is compromised or suspected of compromise the incident should be escalated to Principal Engineer immediately and the password must be changed.
User Registration and Deregistration
Only authorized administrators shall be permitted to create new user IDs, and may only do so upon receipt of a documented request from authorized parties. User provisioning requests must include approval from data owners or CloudCard management authorized to grant system access. Prior to account creation, administrators should verify that the account does not violate any CloudCard security or system access control policies such as segregation of duties, fraud prevention measures, or access rights restrictions.
User IDs shall be promptly disabled or removed when users leave the organization or contract work ends in accordance with SLAs. User IDs shall not be re-used.
User Access Provisioning
New employees and/or contractors are not to be granted access to any CloudCard production systems until after they have completed all HR on-boarding tasks, which may include but is not limited to background check, non-disclosure agreement, and acknowledgement of CloudCard’s Information Security Policy.
Access should be restricted to only what is necessary to perform job duties
No access may be granted earlier than official employee start date
Access requests and rights modifications shall be documented in an access request ticket or email. No permissions shall be granted without approval from the system or data owner or management
Records of all permission and privilege changes shall be maintained for no less than one year
Management of Privileged Access
Granting of administrative rights shall be strictly controlled, and requires approval from the asset owner.
User Access Reviews
Administrators shall perform access rights reviews of user, administrator, and service accounts on a quarterly basis to verify that user access is limited to systems that are required for their job function. Access reviews shall be documented.
Access reviews may include group membership as well as evaluations of any specific or exception-based permission. Access rights shall also be reviewed as part of any job role change, including promotion, demotion, or transfer within the company.
Removal & Adjustment of Access Rights
The access rights of all users shall be promptly removed upon termination of their employment or contract, or when rights are no longer needed due to a change in job function or role. The maximum allowable time period for access termination is 24 business hours.
Access Provisioning, Deprovisioning, and Change Procedure
At the completion of the onboarding process, the Managing Director will send an email to the Principal Engineer listing the accounts which need to be created for the employee.
Additional access, beyond that approved by the Managing Director at time of onboarding, must be requested and approved by the owner of the corresponding system (in most cases, the Managing Director).
When a user’s job role changes or their employment or contract is terminated, the Managing Director should send an email indicating this change and requesting that all access be revoked, or the specific systems which should continue to be allowed for the user.
Separation of Duties
CloudCard is a small organization with a very small number of employees, so traditional separation of duties by person is counteractive to the effectiveness of our group. To mitigate the risk of unauthorized or unintentional modification or misuse of CloudCard assets by privileged users, we instead separate duties by requiring system-enforced peer or manager review where feasible, and monitoring, logging, or audit tracking of changes or privileged actions where it is not feasible or possible to require approval.
User Responsibility for the Management of Secret Authentication Information
Control and management of individual user passwords is the responsibility of all CloudCard personnel and third-party users. Users shall protect secret authentication information in accordance with the Information Security Policy.
Password Policy
Where feasible, passwords for confidential systems shall be configured for at least:
16 or more characters, including one uppercase letter, one lowercase letter, a special character, and a number
Systems shall be configured to remember and prohibit reuse of passwords for last 16 passwords used.
Passwords shall be set to lock out after 6 failed attempts
Passwords shall expire after 90 days
Initial passwords must be set to a unique value and changed after first log in
For manual password resets, a user’s identity must be verified prior to changing passwords
Do not limit the permitted characters that can be used
Do not limit the length of the password to anything below 64 characters
Do not use secret questions (place of birth, etc) as a sole password reset requirement
Require email verification of a password change request
Require the current password in addition to the new password during password change
Verify newly created passwords against common passwords lists or leaked passwords databases
Check existing user passwords for compromise regularly
Store passwords in a hashed and salted format using a memory-hard or CPU-hard one-way hash function
Enforce appropriate account lockout and brute-force protection on account access
System and Application Access
Information Access Restriction
Applications must restrict access to program functions and information to authorized users and support personnel in accordance with the defined access control policy. The level and type of restrictions applied by each application should be based on the individual application requirements, as identified by the data owner. The application-specific access control policy must also conform to CloudCard policies regarding access controls and data management.
Prior to implementation, evaluation criteria are to be applied to application software to determine the necessary access controls and data policies. Assessment criteria include, but are not limited to:
Sensitivity and classification of data.
Risk to the organization of unauthorized access or disclosure of data
The ability to, and granularity of, control(s) on user access rights to the application and data stored within the application
Restrictions on data outputs, including filtering sensitive information, controlling output, and restricting information access to authorized personnel
Controls over access rights between the evaluated application and other applications and systems
Programmatic restrictions on user access to application functions and privileged instructions
Logging and auditing functionality for system functions and information access
Data retention and aging features
All unnecessary default accounts must be removed or disabled before making a system available on the network. Specifically, vendor default passwords and credentials must be changed on all CloudCard systems, devices, and infrastructure prior to deployment. This applies to ALL default passwords, including but not limited to those used by operating systems, software that provides security services, application and system accounts, and Simple Network Management Protocol (SNMP) community strings where feasible.
Secure Log-on Procedures
Secure log-on controls shall be designed and selected in accordance with the sensitivity of data and the risk of unauthorized access based on the totality of the security and access control architecture.
Password Management System
All Employees should use 1Password to manage any password associated with their CloudCard employment. Any passwords that have a legitimate business need to be shared between people should be shared through 1Password.
All storage and transmission of passwords is to be protected using appropriate cryptographic protections, either through hashing or encryption.
The Principal Engineer will update this section of the policy if a different password management tool is to be used, and will ensure that the password management tool implements and continues to implement strong cryptographic protections, effective security controls to prevent other parties (including the vendor of the password management tool) from decrypting the passwords, and two factor authentication.
Use of Privileged Utility Programs
Use of utility programs, system files, or other software that might be capable of overriding system and application controls or altering system configurations must be restricted to the minimum personnel required. Systems are to maintain logs of all use of system utilities or alteration of system configurations. Extraneous system utilities or other privileged programs are to be removed or disabled as part of the system build and configuration process.
Management approval is required prior to the installation or use of any ad hoc or third-party system utilities.
Access to Program Source Code
Access to program source code and associated items, including designs, specifications, verification plans, and validation plans shall be strictly controlled in order to prevent the introduction of unauthorized functionality into software, avoid unintentional changes, and protect CloudCard intellectual property.
All access to source code shall be based on business need and must be logged for review and audit.
Exceptions
Requests for an exception to this Policy must be submitted to the Managing Director for approval.
Violations & Enforcement
Any known violations of this policy should be reported to the Managing Director. Violations of this policy can result in immediate withdrawal or suspension of system and network privileges and/or disciplinary action in accordance with company procedures up to and including termination of employment.
Version | Date | Description | Author | Approved by |
1.0 | 2023-03-21 | First Version | Ryan Heathcote | Luke Rettstatt |
APPENDIX A – Access Management Procedure
APPENDIX B – Access Matrix
Application | Employee | Engineer | Sales | Managing Director | Principal Engineer |
---|---|---|---|---|---|
Google Workspace | X | ||||
X | |||||
HelpScout | X | ||||
Vanta | X | X | |||
Bitbucket | X | X | |||
AWS | X | X | |||
Papertrail | X | X | |||
CloudCard App Instances | X | ||||
RDS | X | X | |||
Confluence | X | ||||
Trello | X | ||||
Calendly | X | ||||
Zoom | X |