Endpoint management
Device management
At Fluid Attacks, in order to protect our clients’ data, we administer our devices with a Mobile Device Management (MDM) tool.
This tool enables the following:
- Comprehensive visibility into macOS security tools, device compliance, overall fleet risk, and unified logging
- Applying hardening configurations by installing pre-configured security profiles
- Blocking malware, locking down command and control traffic, restricting removable media, and filtering malicious websites and content
- Real-time detection of phishing, malicious activity and threats through behavioral analytics and customizable threat hunting
- Swift investigation of issues and automation of remediation workflows
Each user account is associated with a device, and access to these is also monitored and controlled (see the article about device (re)enrollment ).
The profiles are set up with different configurations following our criteria.

Self-service
The Self-Service function allows users to manage their own enterprise app store. This gives them the ability to install apps, update software and maintain their own device without a help desk ticket. All Self-Service-hosted applications are analyzed and approved/denied by our IT Manager and CTO. This applies to any additional application request.
Inventory management
The MDM tool automatically collects data from our IT assets, such as:
- Hardware:
- Device type/model/name
- Serial number
- Unique Device Identifier (UDID)
- Battery level
- Software:
- OS version
- Applications installed and versions
- Storage capacity
- Security:
- Encryption status
- System configurations
- Software restrictions
- Jailbreak detection
- Management:
- Managed status
- Supervised status
- IP address
- Enrollment method
Requirements for laptops
Device policy
Since we use different configuration profiles for our laptops for users and admins, such profiles are configured with different policies:
Authorization
How the devices can be accessed only by their intended users and how permissions over said device are managed. We comply with the following criteria:
- Laptops’ passwords and data are visible only to their users. The use of KeyChain is mandatory for all users for security purposes; to protect passwords saved in KeyChain, it automatically locks when the computer is locked or suspended.
- Only administrators have access to administration data. Admin users’ permissions are limited to their tasks, meaning there are no root users or root accounts enabled.
- Automatic login is disabled to prevent data leaks; a password is required for system configuration and to access data.
- A minimum set of requirements must be followed for passwords: a minimum set of 16 characters including at least two non alphanumeric, not to have two consecutive nor three sequential characters, at least one number and one alphabetic, not to be the same as the previous 50 passwords.
- Passwords have an age limit established, and a history of passwords is saved for future password checking.
Requirements: 300Â , 185Â , 375Â , 096Â , 033Â , 341Â , 095Â , 257Â , 186Â , 229Â , 227Â , 380Â , 310Â , 133Â , 130Â , 129Â , 141Â , and 369Â .
Updates
Keep devices and apps updated with their latest and secure versions.
Users
Control how login is made on the device and local accounts are created improving the security:
- The guest account allows users access to the system without having to create an account or password. Guest users are unable to make setting changes, cannot remotely log in to the system, and all created files, caches, and passwords are deleted upon logging out.
- The login window prompts a user for his/her credentials, verifies their authorization level and then allows or denies the user access to the system.
- The presence of the Guest home folder can cause automated audits to fail when looking for compliant settings within all User folders as well. Rather than ignoring the folders’ continued existence, it is best removed.
Requirements: 142Â , 264Â , 265Â , 266Â , and 319Â .
Preferences
What the user can accomplish with manual configurations on the devices, restrict access to unnecessary system configurations to devices depending on their use for the different roles.
Requirements: 265Â , 261Â , 266Â , 177Â , 045Â , 046Â , 339Â , 185Â , 273Â , 141Â , and 173Â .
Networking
How we handle insecure protocols and services, which can compromise the data stored on the devices:
HTTP Apache server and NFSD is part of the operating system and can be easily turned on to share files and provide remote connectivity to an end-user computer. Web sharing should only be done through hardened web servers and appropriate cloud services.
Requirements:: 265Â and 266Â .
Auditing
How we handle logs and monitor our devices for auditing purposes:
- The audit system writes important operational and security information
that can be both useful for an attacker and a place for an attacker
to attempt to obfuscate unwanted changes that were recorded.
As part of defense-in-depth,
the
/etc/security/audit_controlconfiguration and the files in/var/auditshould be owned only by root with group wheel with read-only rights and no other access allowed. ACLs should not be used for these files. - The socketfilter firewall is what is used when the firewall is turned on in the Security PreferencePane. In order to appropriately monitor what access is allowed and denied logging must be enabled.
Requirements: 080Â , 377Â , 378Â , 079Â , and 075Â .
Removable devices
All removable devices can be limited and controlled, including external disks, disk images, DVD-RAM, USB storage devices, and removable disc media, such as CDs, CD-ROMs, DVDs and recordable discs.
The status of the control can be mountable and not mountable. Our current policy is completely restrictive, none of these devices can be mounted.
Requirements: 265Â , 266Â , and 273Â .
Requirements for mobile devices
Our collaboration systems also provide security requirements that mobile devices must comply with before enrolling in the organization’s systems. This is especially useful as personal mobile devices are common targets for malicious hackers.
Some of the requirements are the following:
- Having a separate work profile to isolate the information from the rest of the phone
- Establishing a strong passphrase
- Setting biometric authentication in case the device supports it
Fluid Attacks staff access and agree to the Endpoint Secure Management Policy through Vanta .
References
- SOC2®-CC6_2. Logical and physical access controlsÂ
- MITRE ATT&CK®-M1043. Credential access protectionÂ
- SANS 25-14. Improper AuthenticationÂ
- POPIA-3A_23. Access to personal informationÂ
- PDPO-S1_4. Security of personal dataÂ
- CMMC-IA_L1-3_5_2. AuthenticationÂ
- HITRUST CSF-10_c. Control of internal processingÂ
- OWASP MASVS-V8_10. Resilience requirements - Device bindingÂ
- OWASP ASVS-4_3_1. Other access control considerationsÂ
Requirements
- 033. Restrict administrative accessÂ
- 045. Remove metadata when sharing filesÂ
- 046. Manage the integrity of critical filesÂ
- 075. Record exceptional events in logsÂ
- 079. Record exact occurrence time of eventsÂ
- 080. Prevent log modificationÂ
- 095. Define users with privilegeÂ
- 096. Set user’s required privilegesÂ
- 129. Validate previous passwordsÂ
- 130. Limit password lifespanÂ
- 133. Password with at least 20 charactersÂ
- 141. Force re-authenticationÂ
- 142. Change system default credentialsÂ
- 173. Discard unsafe inputsÂ
- 177. Avoid caching and temporary filesÂ
- 185. Encrypt sensitive informationÂ
- 186. Use the principle of less privilegeÂ
- 205. Configure PINÂ
- 213. Allow geographic locationÂ
- 227. Display access notificationÂ
- 229. Request access credentialsÂ
- 231. Implement a biometric verification componentÂ
- 257. Access based on user credentialsÂ
- 261. Avoid exposing sensitive informationÂ
- 264. Request authenticationÂ
- 265. Restrict access to critical processesÂ
- 266. Disable insecure functionalitiesÂ
- 273. Define a fixed security suiteÂ
- 300. Mask sensitive dataÂ
- 310. Request user consentÂ
- 319. Make authentication options equally secureÂ
- 326. Detect rooted devicesÂ
- 329. Keep client-side storage without sensitive dataÂ
- 339. Avoid storing sensitive files in the web rootÂ
- 341. Use the principle of deny by defaultÂ
- 369. Set a maximum lifetime in sessionsÂ
- 373. Use certificate pinningÂ
- 375. Remove sensitive data from client-side applicationsÂ
- 377. Store logs based on valid regulationÂ
- 378. Use of log management systemÂ
- 380. Define a password management toolÂ