The Era of Manual Security Audits is Over
If you are still manually editing /etc/ssh/sshd_config on every new server deployment, you are already behind the curve. In the current climate—post-Snowden and with the EU's data protection reform looming heavily on the horizon—security is no longer just a technical requirement. It is a legal survival strategy.
For those of us operating in Norway, the stakes are higher. The Datatilsynet (Data Protection Authority) is becoming increasingly aggressive regarding how personal data is handled. We aren't just protecting against script kiddies; we are protecting against negligence lawsuits and the loss of customer trust. The 'Safe Harbor' agreement with the US is under massive scrutiny, and relying on it is a gamble I'm not willing to take.
The solution isn't hiring more sysadmins to check boxes. The solution is Infrastructure as Code (IaC) combined with automated compliance scanning. Here is how we architect this for stability and auditability.
The Stack: Ansible + OpenSCAP
In 2015, we finally have tools that have matured enough for enterprise production. While Puppet has been the standard for years, Ansible has emerged as the pragmatic choice for those who want agentless architecture. It connects via SSH, does the job, and leaves.
However, configuration management is not the same as compliance scanning. For that, we turn to OpenSCAP (Security Content Automation Protocol). It allows us to scan a server against a specific profile (like PCI-DSS or STIG) and output a report showing exactly where we fail.
Step 1: The Baseline Scan
Let’s assume you are running a standard CentOS 7 instance (which you should be for production workloads due to the long support cycle). First, we need to see how 'naked' the server is.
yum install openscap-scanner scap-security-guide
# Run a scan against the PCI-DSS profile
oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_pci-dss \
--results /tmp/pci-dss-results.xml \
/usr/share/xml/scap/ssg/content/ssg-centos7-xccdf.xml
This command will likely return a sea of red 'FAIL' messages. That is good. It gives us a roadmap.
Step 2: Automating the Fix
Once we know the gaps, we don't fix them by hand. We write a playbook. This ensures that every single VPS in Norway we deploy is identical in its security posture.
Here is a snippet of an Ansible task to enforce a basic SSH hardening rule required by most compliance profiles (disabling root login):
- name: Secure SSHD - PermitRootLogin
lineinfile:
dest: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin no"
state: present
notify: restart sshd
By chaining these tasks, we move from a reactive state ('Did we patch that server?') to a proactive state ('The code says the server is patched').
Pro Tip: Don't blindly apply high-security profiles like STIG to a web server without testing. You will break Nginx or Apache. For example, strict SELinux policies often block necessary socket connections. Always run in `permissive` mode first, check the audit logs, and then switch to `enforcing`.
The Physical Layer: Why Location Matters
You can have the most hardened OS configuration in the world, but if your physical hardware resides in a jurisdiction that allows warrantless data seizures, your software compliance is meaningless. This is the 'Patriot Act' problem.
For Norwegian businesses, data sovereignty is the ultimate risk mitigation. Hosting on US-controlled public clouds means your data is subject to US law, regardless of where the datacenter is physically located. This is a nuanced legal trap that many CTOs overlook until legal counsel steps in.
The CoolVDS Architecture Difference
This is why we built our infrastructure the way we did. CoolVDS utilizes KVM (Kernel-based Virtual Machine) virtualization. Unlike OpenVZ or LXC containers—where you share a kernel with the host and potentially other neighbors—KVM provides true hardware virtualization. This isolation is critical for compliance.
Furthermore, our hardware is physically located in Oslo. We connect directly to the Norwegian Internet Exchange (NIX). This offers two distinct advantages:
- Latency: You get sub-millisecond response times to Norwegian users.
- Jurisdiction: Your data remains under Norwegian law and the oversight of Datatilsynet.
The Bottom Line on TCO
Automating compliance reduces the Total Cost of Ownership. It takes a few days to write the Ansible playbooks and configure OpenSCAP. But it saves weeks of panic during an audit. It prevents the reputation-shattering cost of a data breach.
Don't build your infrastructure on hope. Build it on verifiable code and sovereign hardware.
Ready to secure your stack? Deploy a KVM-based, compliance-ready instance on CoolVDS today. We offer native NVMe storage for when encryption overhead demands higher I/O throughput.