Skip to content

Building a Company Security Culture

Security is not just a technical problem - it’s an organizational one. Most breaches involve some combination of misconfigured systems, untrained users, inadequate policies, or poor incident response. This note covers the human and process side of security: how organizations assess risk, protect data, train users, respond to incidents, and manage BYOD devices.


Security involves identifying what you’re protecting, who might attack it, and how - then prioritising controls based on likelihood and impact.

Threat model questions:
1. What are our high-value assets? (user data, IP, payment info, credentials)
2. Who are likely threat actors? (opportunistic bots, insiders, targeted APTs)
3. What are the attack vectors? (email, web, physical, supply chain)
4. What's the impact of compromise? (financial, reputational, legal)
5. What controls reduce that risk? (technical + procedural + physical)

Risk = Likelihood × Impact - focus controls where both are high.

Vulnerability scanners enumerate services, check configurations, and match findings against known CVE databases (NVD, vendor advisories).

ScannerTypeBest for
NessusCommercialEnterprise-scale, compliance reports
OpenVASOpen sourceSelf-hosted; full-featured; credentialed scans
QualysSaaSContinuous cloud scanning
NiktoWeb-focusedQuick web server config checks
nmap + scriptsNetworkService discovery + NSE vuln scripts
Terminal window
# Quick network scan with nmap vulnerability scripts
nmap -sV --script vuln 192.168.1.0/24
# Nmap service version detection on a single host
nmap -sV -p 22,80,443,3306,5432 target.example.com
# OpenVAS command-line scan (after setup)
gvm-cli socket --gmp-username admin --gmp-password pass \
--xml "<create_task><name>Full Scan</name>...config/target IDs...</create_task>"

Penetration testing goes beyond scanning - it’s active exploitation to verify that defences actually hold.

PhaseWhat happens
ReconnaissancePassive (OSINT) + active (port scans) info gathering
Scanning/enumerationService versions, share names, usernames, DNS records
ExploitationAttempt to exploit found vulnerabilities
Post-exploitationLateral movement, privilege escalation, data access
ReportingFindings, severity ratings, remediation steps

Types of engagements:

  • Black box - tester has no prior knowledge (simulates external attacker)
  • Grey box - tester has some info (e.g., one set of credentials) - most common
  • White box - full knowledge of systems (most thorough; used for deep audits)
  • Purple team - attackers and defenders collaborate to improve detection
Terminal window
# Metasploit quickstart for authorised testing
msfconsole
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <your_ip>
set LPORT 4444
run
# Run with --legal-check equivalent: ALWAYS have written authorisation before testing

Classify data before establishing controls - controls must match the sensitivity of what’s being protected.

ClassificationExamplesTypical controls
PublicMarketing materials, press releasesNo restrictions
InternalEmployee directory, internal docsAuthenticated access only
ConfidentialBusiness strategy, contracts, source codeNeed-to-know + encryption at rest
RestrictedCustomer PII, payment card data (PCI), health records (HIPAA)Strict ACLs + encryption + audit logging + legal compliance
RegulationData typeKey requirement
HIPAAProtected Health Information (PHI)Strict access controls, audit trails, breach notification within 60 days
PCI DSSPayment card data (PANs, CVVs)No storage of CVV; encrypt PANs; quarterly scans; annual pen test
GDPREU personal dataConsent + right to erasure + data minimisation + breach notification in 72h
FISMAFederal IT data (US gov)Data must remain on US soil; mandatory security programs
CCPACalifornia residents’ personal dataRight to know, delete, opt-out of sale
Terminal window
# Search for PCI data patterns in files (grep for card-like patterns)
grep -rE '[0-9]{4}[- ]?[0-9]{4}[- ]?[0-9]{4}[- ]?[0-9]{4}' /var/data/ 2>/dev/null
# Check for SSN-like patterns
grep -rE '[0-9]{3}-[0-9]{2}-[0-9]{4}' /var/data/ 2>/dev/null

Users and processes should have access only to what they need - no more.

Terminal window
# Review which users have sudo access on Linux
grep -E '^[^#]' /etc/sudoers /etc/sudoers.d/* 2>/dev/null
getent group sudo wheel
# Audit which users have login shells (should be minimal)
awk -F: '$NF !~ /nologin|false/ { print $1, $NF }' /etc/passwd
# Audit files owned by a specific user
find / -user alice -type f 2>/dev/null
# Find world-writable files (overly permissive)
find /etc /var /usr -type f -perm -o+w 2>/dev/null

A good data access policy defines:

  • Who can request access (role + justification required)
  • What exactly is requested (specific datasets, not broad access)
  • Why (linked to specific task or project)
  • When access expires (time-boxed; no permanent access to sensitive data)
  • How access is provisioned and revoked (automated via IAM where possible)

When devices are decommissioned or data is no longer needed, secure destruction prevents recovery.

Device being reused internally or sold?
→ Use software wiping (NIST 800-88 compliant)
Device going to unknown parties or out of your control?
→ Physical destruction (shredding, degaussing)
High-sensitivity data (classified, regulated)?
→ Physical destruction + certificate of destruction
Large volumes, no staff/capacity?
→ Outsource to certified vendor (NAID AAA certified)
MethodHow it worksData recoverable?Device reusable?
Standard formatErases the filesystem path - not the data✅ Yes (easily)Yes
Overwriting / wipingOverwrites all sectors with zeros (or random data)Unlikely (with 1+ pass)Yes
Low-level formatSector-by-sector zero-fillVery unlikelyYes
DegaussingStrong magnetic field destroys magnetic mediaNoNo (renders drive inoperable)
ShreddingIndustrial shredder reduces to fragmentsNoNo
DrillingHoles through plattersPartial (undamaged areas)No
IncinerationComplete thermal destructionNoNo
Terminal window
# Secure wipe entire disk with shred (Linux) - NIST 800-88 compatible
# WARNING: completely destroys all data - cannot be undone
shred -v -n 3 -z /dev/sdX # 3 random passes + final zero pass
# NIST 800-88 compliant wipe with nwipe
nwipe --method=gutmann /dev/sdX # 35-pass Gutmann method
nwipe --method=dod_e /dev/sdX # DOD 5220.22-M 7-pass (common standard)
# Verify disk is zeroed after wipe
dd if=/dev/sdX bs=512 count=1 | xxd | head # should show all zeros

Technical controls fail when users route around them. The goal of security culture is making the secure path the easy path - so users don’t have to choose between convenience and security.

Key failure patterns:

  • Password complexity rules so onerous that users write passwords on sticky notes
  • No clear channel to report suspicious activity → users don’t report
  • Security training as a checkbox → users don’t internalise lessons
  • “Security is IT’s job” attitude → users feel no ownership
ElementWhy it works
Short, scenario-based modulesContextual learning sticks better than abstract rules
Simulated phishing exercisesHands-on recognition practice; immediate feedback
Clear reporting channelsLow-friction path to report concerns → more reports
Recognising/rewarding good behaviourPositive reinforcement builds habits
Justifying policies”Why” makes policies feel reasonable, not arbitrary
Regular refreshersThreat landscape evolves; people forget
Terminal window
# GoPhish - open-source phishing simulation platform
# Install and run
wget https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip
unzip gophish-v0.12.1-linux-64bit.zip
./gophish # Admin UI at https://localhost:3333
# Configure:
# - Sending profiles (use internal relay or test domain)
# - Landing pages (capture form submissions - no real data stored)
# - Email templates (simulate realistic phishing)
# - User groups (import from CSV/LDAP)

Measure: click rate, credential submission rate, report rate. Trend should be: ↓ click/submit, ↑ report.

Reducing friction for users reduces security risk:

Problem Solution
─────────────────────────────────────────────────
Many passwords to remember → Password manager (Bitwarden, 1Password)
Sharing files with partners → Company-approved file sharing (not personal email)
Remote work security → VPN + endpoint management
Phishing detection → Browser warning systems + Safe Links (M365)
Strong 2FA → TOTP app or hardware key (not SMS)

1. PREPARATION Define IR team, playbooks, communication procedures
Ensure logging, monitoring, and alerting are in place
2. DETECTION IDS/IPS alert, SIEM correlation rule fires, employee report,
external notification (threat intel feed, vendor, regulator)
3. ANALYSIS Determine: Is this a real incident? What systems affected?
What data is involved? What is the attack chain?
4. CONTAINMENT Short-term: isolate affected systems to stop spread
Long-term: implement temporary fixes while preparing remediation
5. ERADICATION Remove malware, close the entry point/vulnerability,
reset compromised credentials
6. RECOVERY Restore systems from known-good backups, verify clean state,
monitor closely for signs of re-infection
7. POST-INCIDENT Document in detail, conduct post-mortem,
update playbooks and controls
Incident typeContainment approach
Malware infectionNetwork isolate the host; preserve disk image before cleaning
Compromised credentialsImmediately revoke/reset; check for lateral movement
Data exfiltrationBlock exfil destination IPs; audit what was accessed
RansomwareIsolate immediately; do not pay without legal/executive approval
Insider threatRevoke access, preserve evidence with HR/Legal involvement
Web application attackBlock attacking IP, disable vulnerable endpoint, patch
Terminal window
# Isolate a Linux host at the network level (emergency containment)
# Block all traffic except from incident response workstation (10.0.0.100)
iptables -I INPUT ! -s 10.0.0.100 -j DROP
iptables -I OUTPUT ! -d 10.0.0.100 -j DROP
# Collect volatile forensic data BEFORE shutdown (order of volatility)
# 1. Running processes
ps auxf > /tmp/ir_processes.txt
# 2. Network connections
ss -tulpan > /tmp/ir_netconn.txt
netstat -nltp >> /tmp/ir_netconn.txt
# 3. Open files
lsof > /tmp/ir_openfiles.txt
# 4. Memory (requires avml or LiME kernel module)
# avml /tmp/memory.lime
# 5. Disk image
dd if=/dev/sda of=/mnt/ir-share/disk.img bs=4M status=progress
# Compute hash for evidence integrity
sha256sum /mnt/ir-share/disk.img > /mnt/ir-share/disk.img.sha256

Every piece of forensic evidence must have documented provenance:

For each item of evidence, document:
- What: description, make/model/serial, file hashes
- Who: who collected it, who has handled it (every transfer documented)
- When: date/time of collection and every transfer
- Where: where was it found, where is it stored
- How: collection method (disk image, physical seizure, log export)

Chain of custody breaks = evidence potentially inadmissible in court or HR proceedings.

If an incident involves regulated data, breach notification timelines apply:

RegulationNotification toDeadline
GDPRSupervisory authority72 hours of becoming aware
HIPAAHHS + affected individuals60 days of discovery
PCI DSSCard brands + acquiring bankImmediately upon discovery
State breach lawsAffected residentsVaries (30–90 days typically)

BYOD saves costs but transfers device control from IT to the employee. IT can no longer guarantee:

  • Timely OS patching
  • Absence of personal malware or jailbreaking
  • Separation of corporate and personal data
  • Control over what apps are installed
ThreatHow it manifests
Lost/stolen deviceCorporate data on personal device; no remote wipe capability
Jailbroken/rooted deviceBypass OS security controls; any app can access any data
Personal malwareMalware installed via personal app store infects corporate data
Insecure Wi-FiMITM on open hotspot; corporate traffic intercepted
Data leakageEmployee copies corporate data to personal cloud (iCloud, Dropbox personal)
Data portabilityEmployee leaves, takes company data on personal device

MDM (Mobile Device Management) is the enforcement mechanism for BYOD policies:

MDM Capabilities:
Enrolment: Device registers with MDM server (Intune, Jamf, MobileIron)
Profiles: Push Wi-Fi/VPN configs, email settings, certificates
Policies: Enforce screen lock PIN, min OS version, encryption
Apps: Push required apps; restrict certain apps; containerise work apps
Remote wipe: Selective wipe (corporate data only) or Full wipe
Compliance: Block non-compliant devices from accessing corporate resources
Terminal window
# Microsoft Intune (via Graph API) - check device compliance
az rest --method get \
--url "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?filter=complianceState eq 'noncompliant'" \
--headers "Authorization=Bearer $TOKEN"
# List non-compliant devices and trigger wipe
# (Done via Intune portal or Graph API wipeDevice action)

Key policy elements:

PolicyRequirement
Minimum OS versionDevices below threshold blocked from corporate access
Screen lockRequired; PIN/biometric; max 5 min timeout
EncryptionFull-device encryption required
MDM enrolmentRequired before accessing corporate email/VPN
Jailbreak/root detectionJailbroken devices auto-blocked
Acceptable useCorporate data not copied to personal cloud storage
Exit procedureCorporate data wiped on termination/resignation

Security Infrastructure Design - Reference

Section titled “Security Infrastructure Design - Reference”

A concise reference for the key decisions when designing security infrastructure for a small-to-medium organisation:

AreaMinimum viableBetter
AuthenticationStrong passwords + MFA (TOTP)LDAP/AD + RADIUS + MFA; hardware keys for admins
External webHTTPS (TLS 1.2+), WAFHTTPS + WAF + DDoS protection + CSP headers
Internal webHTTPS + auth requiredHTTPS + SSO + VLAN isolation
Remote accessVPN (WireGuard/OpenVPN)VPN + MFA + certificate auth + network segmentation
FirewallImplicit deny + allow-listStateful + IDS/IPS + application awareness
Wi-FiWPA2-PSK (long passphrase)802.1X / EAP-TLS with client certs
EndpointAV + disk encryption (BitLocker/FileVault)AV + EDR + disk encryption + binary allowlisting + MDM
MonitoringCentralised syslogSIEM with correlation rules + alerting
Incident responseWritten IR plan + designated contactIR plan + retainer + tabletop exercises + documented runbooks