<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Data Protection - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Data Protection - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 21 Sep 2026 05:09:55 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/data-protection/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Build an Endpoint Data Loss Prevention Strategy for Your Development Team ]]>
                </title>
                <description>
                    <![CDATA[ A developer's laptop holds more sensitive data than most people realize: API keys, database credentials, staging environment secrets, and sometimes entire copies of production data pulled down "just f ]]>
                </description>
                <link>https://www.freecodecamp.org/news/build-an-endpoint-data-loss-prevention-strategy-for-your-dev-team/</link>
                <guid isPermaLink="false">6aa9b28d96b8eb1b8b1475f0</guid>
                
                    <category>
                        <![CDATA[ data loss prevention ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Data Protection ]]>
                    </category>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CybersecurityAwareness ]]>
                    </category>
                
                    <category>
                        <![CDATA[ sensitive data ]]>
                    </category>
                
                    <category>
                        <![CDATA[ endpoint security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ remote access ]]>
                    </category>
                
                    <category>
                        <![CDATA[ encryption ]]>
                    </category>
                
                    <category>
                        <![CDATA[ IT_Security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Alex Tray ]]>
                </dc:creator>
                <pubDate>Tue, 15 Sep 2026 21:03:09 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/uploads/covers/5e1e335a7a1d3fcc59028c64/4a1cf15f-7d3a-48d2-8fdd-b53ceb1dd0e7.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>A developer's laptop holds more sensitive data than most people realize: API keys, database credentials, staging environment secrets, and sometimes entire copies of production data pulled down "just for testing."</p>
<p>End-users are responsible for <a href="https://www.mimecast.com/content/endpoint-dlp-data-loss-prevention/">75%</a> of internal data-loss incidents, most of them accidental rather than malicious. For a dev team, that risk concentrates on the endpoint, the machine where code gets written, tested, and pushed.</p>
<p>Here's how to build a strategy that protects that machine without slowing your team down.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a href="#heading-how-to-build-an-endpoint-data-loss-prevention-strategy">How to Build an Endpoint Data Loss Prevention Strategy</a></p>
<ul>
<li><p><a href="#heading-step-1-map-where-sensitive-data-lives-in-the-endpoint">Step 1: Map Where Sensitive Data Lives in the Endpoint</a></p>
</li>
<li><p><a href="#heading-step-2-set-access-control-as-the-foundation">Step 2: Set Access Control as the Foundation</a></p>
</li>
<li><p><a href="#heading-step-3-harden-the-endpoint-os-layer">Step 3: Harden the Endpoint OS Layer</a></p>
</li>
<li><p><a href="#heading-step-4-lock-down-containers-and-local-environments">Step 4: Lock Down Containers and Local Environments</a></p>
</li>
<li><p><a href="#heading-step-5-catch-leaks-before-they-ship">Step 5: Catch Leaks Before They Ship</a></p>
</li>
<li><p><a href="#heading-step-6-extend-coverage-to-public-facing-surfaces">Step 6: Extend Coverage to Public-Facing Surfaces</a></p>
</li>
<li><p><a href="#heading-step-7-monitor-measure-and-keep-policies-honest">Step 7: Monitor, Measure, and Keep Policies Honest</a></p>
</li>
</ul>
</li>
<li><p><a href="#heading-build-security-into-how-your-team-already-works">Build Security Into How Your Team Already Works</a></p>
</li>
</ul>
<h2 id="heading-how-to-build-an-endpoint-data-loss-prevention-strategy">How to Build an Endpoint Data Loss Prevention Strategy</h2>
<img src="https://cdn.hashnode.com/uploads/covers/65e715387099ff28d36bf4ac/f3675a55-3f39-4c4f-bb60-8c036791842e.png" alt="f3675a55-3f39-4c4f-bb60-8c036791842e" style="display: block;" width="600" height="400" loading="lazy">

<h3 id="heading-step-1-map-where-sensitive-data-lives-in-the-endpoint">Step 1: Map Where Sensitive Data Lives in the Endpoint</h3>
<p>Start by finding out where secrets and sensitive data sit across your team's machines. Likely candidates are things like config files with hardcoded credentials, .env files that never made it to <code>.gitignore</code>, and cached database dumps from a debugging session six months ago that nobody remembered to delete.</p>
<p>Anything that qualifies as a backup, even an ad hoc one, should be treated as sensitive data in its own right. So if the <a href="https://www.nakivo.com/blog/how-to-enable-backup-encryption/">backup encryption</a> isn't in place, that copy is just as vulnerable as the original source of data.</p>
<p>Most teams are surprised by what turns up once they start looking. A short audit across a handful of laptops usually reveals the same handful of habits repeating across a whole team, since one developer's shortcut tends to spread once it works one time.</p>
<p>A simple spreadsheet tracking what kind of sensitive data lives where and on which machines gives the rest of this strategy something concrete to build on. Skip this step and every control that follows ends up guessing at what it's supposed to be protecting.</p>
<p>Try this first:</p>
<ol>
<li><p>Choose three to five developer machines to begin your initial audit.</p>
</li>
<li><p>Search typical locations for environment files, credentials, database dumps, and private keys.</p>
</li>
<li><p>Record the finding, file location, data type, owner, and note if the data is still needed.</p>
</li>
<li><p>Remove unnecessary copies and update credentials that might have been exposed.</p>
</li>
</ol>
<p>For a Linux machine, a basic first pass could look like:</p>
<pre><code class="language-shell">find ~ -type f \( -name ".env" -o -name "*.pem" -o -name "*.key" \) 2&gt;/dev/null
</code></pre>
<p>This approach won't uncover every secret, but it gives your team a solid starting inventory.</p>
<p>For example, if the audit finds ~/projects/client-api/.env containing a database password, you need to move the credential to a secret manager, delete the local file, and update the password.</p>
<h3 id="heading-step-2-set-access-control-as-the-foundation">Step 2: Set Access Control as the Foundation</h3>
<p>Every endpoint DLP strategy sits on top of a working access control system. If every developer can pull production credentials regardless of their role, no amount of monitoring downstream will fix that gap.</p>
<p><a href="https://www.freecodecamp.org/news/how-to-build-scalable-access-control-for-your-web-app/">Scalable access control</a> that's built around roles and attributes limits what a compromised laptop can expose in the first place. After all, a stolen set of credentials only matters as much as the permissions attached to them.</p>
<p>This is also the cheapest control on this whole list to get wrong, and one of the easiest to fix.</p>
<p>Reviewing who has access to what on a recurring schedule rather than once at onboarding will catch the slow creep of permissions that no one remembered to revoke after a project ended.</p>
<p><strong>A simple implementation process:</strong></p>
<ol>
<li><p>List production systems and sensitive resources.</p>
</li>
<li><p>Create roles such as developer, senior developer, DevOps, and administrator.</p>
</li>
<li><p>Document which resources each role actually needs.</p>
</li>
<li><p>Remove permissions that don't support someone's current work.</p>
</li>
<li><p>Review access whenever someone changes projects or leaves the team.</p>
</li>
</ol>
<p>The difference between too much access and appropriate access is easier to see side by side. Here's the same developer role, granted two different ways in Postgres.</p>
<p><strong>Too much access:</strong></p>
<pre><code class="language-markdown">-- One role, every database, every table, every operation 

GRANT ALL PRIVILEGES ON DATABASE prod_db TO dev_team; 

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO dev_team; 
</code></pre>
<p><strong>Appropriate access:</strong></p>
<pre><code class="language-markdown">-- Full access where the work actually happens 

GRANT CONNECT ON DATABASE staging_db TO dev_team; 

GRANT USAGE ON SCHEMA public TO dev_team; 

GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO dev_team;
</code></pre>
<pre><code class="language-markdown">-- No standing connection to production at all 

REVOKE ALL ON DATABASE prod_db FROM dev_team; 
</code></pre>
<p>The same idea maps cleanly onto a role table, which is usually the easier version to hand to a team:</p>
<table style="width:629px"><colgroup><col style="width:78px"><col style="width:158px"><col style="width:141px"><col style="width:126px"><col style="width:126px"></colgroup><tbody><tr><th><p>Role</p></th><td><p>Dev / staging DB&nbsp;</p></td><td><p>Production DB</p></td><td><p>Secret Manager&nbsp;</p></td><td><p>Cloud Console</p></td></tr><tr><td><p>Developer</p></td><td><p>Read + write</p></td><td><p>None</p></td><td><p>Read, own project only</p></td><td><p>None</p></td></tr><tr><td><p>Senior Developer</p></td><td><p>Read + write</p></td><td><p>Read-only, time-limited</p></td><td><p>Read, own team's projects</p></td><td><p>Read-only&nbsp;</p></td></tr><tr><td><p>DevOps</p></td><td><p>Read + write</p></td><td><p>Write, scoped to deploys</p></td><td><p>Read + write&nbsp;</p></td><td><p>Admin, scoped&nbsp;</p></td></tr><tr><td><p>Administrator</p></td><td><p>Read + write</p></td><td><p>Full</p></td><td><p>Full</p></td><td><p>Full</p></td></tr></tbody></table>

<p>For example, a developer should have read and write access to the development and staging databases since those environments are part of their regular work. They shouldn't have direct access to the production database. A DevOps team member may need controlled production access for deployment and troubleshooting, with that access limited to the tasks they're responsible for.</p>
<h3 id="heading-step-3-harden-the-endpoint-os-layer">Step 3: Harden the Endpoint OS Layer</h3>
<p>Most development machines run some flavor of Linux, whether directly or through WSL, and the operating system layer is where a lot of DLP controls end up getting enforced day to day: file permissions, disk encryption, and keeping user privileges properly separated.</p>
<p>Getting comfortable with <a href="https://www.freecodecamp.org/news/the-linux-commands-handbook/">core Linux commands</a> makes it a lot easier to audit what's running on a machine, lock file permissions down the right way, and catch something out of place before it turns into a real problem.</p>
<p>Disk encryption also deserves a mention here. Steal a laptop with an unencrypted drive, and everything on it just hands itself over, no password needed, the moment someone pulls the disk and mounts it somewhere else.</p>
<p>Turn on full-disk encryption, and that same stolen laptop becomes a much smaller headache.</p>
<p>For Linux developers, here are a few commands you can run during an endpoint review:</p>
<pre><code class="language-markdown">whoami 
</code></pre>
<pre><code class="language-markdown">sudo -l 
</code></pre>
<pre><code class="language-markdown">ls -la ~/.ssh 
</code></pre>
<pre><code class="language-markdown">df -h 
</code></pre>
<p>These commands can help identify the current user, available sudo privileges, SSH files, and disk usage.</p>
<p>File permissions are where this gets specific. A secret sitting in a world-readable file is available to every process and every account on that machine, which quietly cancels out the access control work from the previous step.</p>
<p>Check what the permissions actually are before changing anything:</p>
<pre><code class="language-markdown">ls -la ~/.ssh
</code></pre>
<pre><code class="language-markdown">find ~/projects -name ".env" -exec ls -l {} \;
</code></pre>
<p>Output worth acting on looks like this:</p>
<pre><code class="language-markdown">-rw-r--r--  1 dev  staff  1704  Mar 12 09:14 /home/dev/.ssh/id_ed25519
</code></pre>
<pre><code class="language-markdown">-rw-rw-r--  1 dev  staff   612  Mar 12 09:14 /home/dev/projects/client-api/.env
</code></pre>
<p>Those trailing <strong>r--</strong> bits mean group members and every other user on the box can read a private key and a set of credentials. Tighten them so only the owner can access:</p>
<pre><code class="language-markdown">chmod 700 ~/.ssh              # directory: owner only
</code></pre>
<pre><code class="language-markdown">chmod 600 ~/.ssh/id_ed25519   # private key: owner read/write
</code></pre>
<pre><code class="language-markdown">chmod 644 ~/.ssh/id_ed25519.pub
</code></pre>
<pre><code class="language-markdown">chmod 600 ~/projects/client-api/.env
</code></pre>
<p>To sweep a whole projects directory at once:</p>
<pre><code class="language-markdown">find ~/projects -name ".env" -exec chmod 600 {} \;
</code></pre>
<p>Then give the actual hardening sequence:</p>
<ol>
<li><p>Enable full-disk encryption.</p>
</li>
<li><p>Keep the OS and security updates current.</p>
</li>
<li><p>Remove unnecessary administrator privileges.</p>
</li>
<li><p>Review SSH keys and remove unused ones.</p>
</li>
<li><p>Enable screen locking.</p>
</li>
<li><p>Configure endpoint monitoring where appropriate.</p>
<p>For example, if a developer's laptop has an old SSH key belonging to a previous project, remove it and revoke the corresponding access rather than leaving it available indefinitely.</p>
</li>
</ol>
<p>Some teams sidestep this risk at the source by moving development onto a <a href="https://v2cloud.com/glossary/virtual-desktop-infrastructure-vdi-definition">virtual desktop infrastructure</a>, where sensitive data lives centrally rather than on the physical machine. But this just relocates the DLP burden rather than removing it, since the virtual environment itself now needs the same access controls and monitoring to <a href="http://www.freecodecamp.org/news/vm-data-protection-best-practices/">protect VMs from data loss.</a></p>
<h3 id="heading-step-4-lock-down-containers-and-local-environments">Step 4: Lock Down Containers and Local Environments</h3>
<p>Local development increasingly happens inside containers, and each one is a small self-contained environment that can end up holding secrets if developers aren't careful about what gets stored in it.</p>
<p>A <code>.env</code> file might get baked into an image or credentials might sit in a container's environment variables long after a project wraps up.</p>
<p>Learning to work properly with <a href="https://www.freecodecamp.org/news/the-docker-handbook/">Docker</a> includes understanding how to keep secrets out of images entirely, using secret managers or runtime injection instead of hardcoding anything into a Dockerfile.</p>
<p>Here's a Dockerfile that looks perfectly straightforward and leaks in two different ways:</p>
<pre><code class="language-markdown">FROM node:20
WORKDIR /app
# Problem 1: copies everything, including .env, *.pem, and .git history
COPY . .
# Problem 2: the value is written into an image layer, permanently
ENV DB_PASSWORD="prod-9f2a-4c11-secret"
RUN npm install
CMD ["node", "server.js"]
</code></pre>
<p>Deleting the file in a later layer doesn't help, because the earlier layer still contains it. Anyone who pulls the image can read both:</p>
<pre><code class="language-markdown">docker history --no-trunc my-app:latest | grep -i password

docker run --rm -it --entrypoint sh my-app:latest -c "cat .env"
</code></pre>
<p>The corrected version starts with a .dockerignore, which keeps the sensitive files out of the build context entirely:</p>
<pre><code class="language-markdown"># .dockerignore

.env

.env.*

*.pem

*.key

.git

node_modules
</code></pre>
<p>Then copy only what the application needs and leave credentials out of the image:</p>
<pre><code class="language-markdown">FROM node:20

WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
# Copy application code only, not the whole directory
COPY src ./src
CMD ["node", "src/server.js"]
</code></pre>
<p>Supply the credential at runtime instead:</p>
<pre><code class="language-markdown">docker run -e DB_PASSWORD="$DB_PASSWORD" my-app:latest
</code></pre>
<p><strong>Practical check:</strong> Before pushing an image, scan it for .env files, private keys, credentials, and other sensitive data.</p>
<h3 id="heading-step-5-catch-leaks-before-they-ship">Step 5: Catch Leaks Before They Ship</h3>
<p>If you catch a leak early, it might cost you less loss.</p>
<p>Wire automated secret scanning into a <a href="https://www.freecodecamp.org/news/learn-continuous-integration-delivery-and-deployment/">CI/CD pipeline</a>, and a hardcoded API key gets flagged before it ever reaches a public repository.</p>
<p>Gitleaks and TruffleHog both handle this well by running right in the pipeline and failing the build as soon as a potential credential is detected in a commit.</p>
<p>Tuning the alerting properly takes some patience, but skipping that step tends to backfire. A scanner that keeps crying wolf with false positives encourages a team to click past every warning without even reading it. So, it's worth spending the setup time getting the rules to fit your codebase properly.</p>
<p>For example, a GitHub Actions workflow can run Gitleaks before code reaches production:</p>
<pre><code class="language-markdown">name: Secret Scan

on:

  pull_request:

  push:

jobs:

  gitleaks:

    runs-on: ubuntu-latest

    steps:

      - uses: actions/checkout@v4

        with:
          fetch-depth: 0

      - uses: gitleaks/gitleaks-action@v2
</code></pre>
<p>With this setup, the repository gets scanned whenever developers push code or open a pull request. If Gitleaks detects a potential credential, the workflow can stop before the change moves further through the deployment process.</p>
<p>A caught secret shows up in the workflow log looking roughly like this:</p>
<pre><code class="language-markdown">Finding:     AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI...
Secret:      wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
RuleID:      aws-access-token
Entropy:     4.31
File:        services/billing/.env.staging
Line:        12
Commit:      8f2a1c9dbe4477a1c0f9e2b3a5d7c8e1f0a2b3c4
Author:      dev@example.com
INF 14 commits scanned.
WRN leaks found: 1
Error: Process completed with exit code 1.
</code></pre>
<p>The non-zero exit code is what actually blocks the merge. The file name, line number, and commit hash tell whoever picks it up exactly where to look.</p>
<p>Tuning the alerting properly takes some patience, but skipping that step tends to backfire. Again, you don't want constant false positives causing your team to click past every warning without looking at it. So take the time to get the rules to fit your codebase.</p>
<p>That tuning happens in a <strong>.gitleaks.toml</strong> at the repository root, where you exempt the paths that legitimately contain fake credentials:</p>
<pre><code class="language-markdown">[extend]
useDefault = true

[[rules]]
id = "aws-access-token"
  [rules.allowlist]
  paths = [
    '''tests/fixtures/.*''',
    '''docs/examples/.*'''
  ]
  regexes = [
    '''AKIAIOSFODNN7EXAMPLE'''
  ]
</code></pre>
<p>Keep the allowlist narrow. Exempting a whole directory because one file in it kept tripping the scanner is how real credentials start slipping through.</p>
<p>For example, a developer accidentally commits an API key to a pull request. Gitleaks flags it during the workflow, the pull request can't proceed, and the team removes the key and rotates the credential before merging the code.</p>
<h3 id="heading-step-6-extend-coverage-to-public-facing-surfaces">Step 6: Extend Coverage to Public-Facing Surfaces</h3>
<p>Most endpoint DLP strategies focus on laptops and dev machines, but public websites need the same scrutiny, even when they're maintained outside the engineering team.</p>
<p>You might have a poorly configured contact form, a staging subdomain someone forgot was still live, and an admin panel nobody locked down properly. An ⁠API security testing platform can test exposed APIs for vulnerabilities and business logic flaws before they put sensitive data at risk. Any one of those can leak data just as easily as a careless commit ever could.</p>
<p>Part of the problem is that web design and security often get treated as separate jobs handled by separate people. Sites built with hosting, maintenance, and security combined into the process from the start hold up far better than ones where those pieces get tacked on after something goes wrong.</p>
<p>This kind of ongoing oversight matters for a public-facing site the same way endpoint monitoring matters for a developer's machine. Unattended surfaces are where problems tend to build up slowly, unnoticed, until something forces a closer look.</p>
<p>If your dev team owns the marketing site too, treat it as a part of the same DLP scope, handled with the same routine attention as everything else, rather than something someone gets to whenever there's some spare time.</p>
<p>A simple monthly check can catch these issues before they become forgotten infrastructure. Start by listing every active domain and subdomain, then check whether each one still needs to be publicly accessible.</p>
<p>Here's how that usually plays out in practice. A team ships a customer portal rewrite and spins up <strong>staging-v2.example.com</strong> to demo it to stakeholders. The launch goes fine. Nobody deletes the staging environment, and it keeps running on a copy of the production database that was loaded for the demo.</p>
<p>Eight months later, a routine subdomain sweep turns it up:</p>
<pre><code class="language-markdown"># Every subdomain still resolving
dig +short staging-v2.example.com
203.0.113.47
</code></pre>
<pre><code class="language-markdown"># Is it publicly reachable, and does it need auth?
curl -s -o /dev/null -w "%{http_code}\n" https://staging-v2.example.com/api/v1/customers
200
</code></pre>
<p>A 200 with no credentials attached is the problem. Pulling the first record confirms it:</p>
<pre><code class="language-markdown">curl -s https://staging-v2.example.com/api/v1/customers | head -c 200
[{"id":4471,"email":"real.customer@example.com","phone":"+1-555-0142",
"plan":"enterprise","last_invoice":"2025-11-03"}]
</code></pre>
<p>That's production customer data sitting on an unauthenticated endpoint, indexed by anyone scanning certificate transparency logs for subdomains. The fix has an order to it:</p>
<ol>
<li><p>Take the environment offline immediately, before anything else.</p>
</li>
<li><p>Check access logs to see if anyone else found it first.</p>
</li>
<li><p>Decide whether the environment is still needed. If not, delete it and remove the DNS record.</p>
</li>
<li><p>If it's needed, put it behind authentication or an IP allowlist and replace the database with generated test data.</p>
</li>
<li><p>Add every subdomain to the monthly inventory so the next one doesn't sit unnoticed for eight months.</p>
</li>
</ol>
<p>Keep the same review for public forms, admin panels, cloud storage, and unused API endpoints. The goal is to make every internet-facing surface something the team knows about and actively maintains.</p>
<h3 id="heading-step-7-monitor-measure-and-keep-policies-honest">Step 7: Monitor, Measure, and Keep Policies Honest</h3>
<p>A DLP strategy without measurement isn't a good strategy. Teams need visibility into where data exposure is showing up in practice, the same way marketing teams have started tracking brand visibility across AI platforms.</p>
<p>For insurance, Similarweb’s <a href="https://aisearch.similarweb.com/aeo/">AEO platform</a> built for that purpose tracks where and how a brand gets mentioned across AI-generated answers, catching patterns nobody would ever spot by checking one prompt at a time by hand.</p>
<p>Security monitoring for endpoints runs on that same idea. Without a dashboard showing where secrets are exposed or which machines have drifted out of compliance, a team spends its energy cleaning up after incidents instead of catching them early.</p>
<p>The same principle applies to backups: an untested backup is merely an assumption. Regularly <a href="https://www.freecodecamp.org/news/disaster-recovery-testing/">testing your disaster recovery plan</a> ensures that your data backup strategy works properly when issues arise.</p>
<p>That principle doesn't stop at the laptop, either. Most companies store sensitive data across Microsoft 365 (mailboxes, SharePoint sites, OneDrive folders, or Teams channels) and it's usually the dev or IT team's job to make sure that data is actually protected, not just retained.</p>
<p>Microsoft's native retention covers accidental deletion within a short window. It isn't built to recover from ransomware or a compromised account that goes unnoticed for weeks. Teams relying on that retention alone, without an <a href="https://www.nakivo.com/microsoft-office-365-backup">independent backup for Microsoft 365</a> data, are making the same unverified assumption this article already warns against with local backups.</p>
<p>Policy matters here just as much as any of the tooling does.</p>
<p>A policy only works if the people bound by it actually believe in it, and that part is harder to measure than tooling compliance. This is where an <a href="https://confiscore.com/">anonymous employee confidence tool</a> earns its place, showing whether a team genuinely trusts a security rule or is just quietly routing around it.</p>
<p>Security policies have a similar challenge. Vague one-size-fits-all rules dropped on a team without context can be difficult for developers to follow in practice. Give a team a policy nobody understands and eventually they'll build a workaround for it, regardless of how well-meaning it was when someone wrote it.</p>
<p>Rules that are specific and come with a clear explanation tend to hold up better than a generic PDF buried three folders deep in onboarding.</p>
<p>A security dashboard simplifies the review process. Track the number of secrets detected, endpoints outside required controls, permission changes, and resolution times for each issue.</p>
<p>For a team of twenty developers, that dashboard doesn't need to be more complicated than this:</p>
<table style="min-width:207px"><colgroup><col style="min-width:25px"><col style="min-width:25px"><col style="width:107px"><col style="min-width:25px"><col style="min-width:25px"></colgroup><tbody><tr><th><p>Metric</p></th><td><p>Last month&nbsp;</p></td><td><p>This month&nbsp;</p></td><th><p>Target</p></th><th><p>Direction</p></th></tr><tr><td><p>Secrets caught in CI</p></td><td><p>6</p></td><td><p>2</p></td><td><p>0</p></td><td><p>Improving</p></td></tr><tr><td><p>Secrets found in merged code</p></td><td><p>1</p></td><td><p>0</p></td><td><p>0</p></td><td><p>Improving</p></td></tr><tr><td><p>Endpoints with full-disk encryption</p></td><td><p>17 / 20</p></td><td><p>20 / 20&nbsp;</p></td><td><p>100%</p></td><td><p>Met</p></td></tr><tr><td><p>Machines missing security updates (30+ days)</p></td><td><p>4</p></td><td><p>5</p></td><td><p>0</p></td><td><p>Worsening</p></td></tr><tr><td><p>Standing production DB access</p></td><td><p>9 users&nbsp;</p></td><td><p>3 users&nbsp;</p></td><td><p>0</p></td><td><p>Met</p></td></tr><tr><td><p>Unreviewed subdomains</p></td><td><p>11</p></td><td><p>0</p></td><td><p>0</p></td><td><p>Met</p></td></tr><tr><td><p>Median time to rotate an exposed credential</p></td><td><p>3 days&nbsp;</p></td><td><p>6 hours</p></td><td><p>Under 24 hours&nbsp;</p></td><td><p>Improving&nbsp;</p></td></tr></tbody></table>

<p>Two things stand out immediately in a table like that, and neither would be obvious from an incident report.</p>
<ol>
<li><p>Secrets are getting caught in CI instead of after merge, which means step 5 is doing its job.</p>
</li>
<li><p>Patching is going backwards, which means something in the update process isn't working and another reminder email is unlikely to fix it.</p>
</li>
</ol>
<p>For example, if you see that a secret scanner detected an AWS credential in a pull request, stop the merge, revoke or rotate the credential, remove it from the repository, and check for its presence elsewhere. Investigate why the credential was accessible to the developer and update the workflow to prevent recurrence.</p>
<p>Make sure to monitor these metrics regularly instead of waiting for an incident. If the same violations continue, consider implementing clearer policies, improved tools, or a streamlined development process rather than issuing additional warnings.</p>
<img src="https://cdn.hashnode.com/uploads/covers/65e715387099ff28d36bf4ac/6164df73-1f9b-440d-af32-606538d1c389.png" alt="Data loss prevention diagram showing five steps (discover and classify, monitor and inspect, enforce policy, report and log, and refine and tune)" style="display: block;" width="600" height="400" loading="lazy">

<h2 id="heading-build-security-into-how-your-team-already-works">Build Security Into How Your Team Already Works</h2>
<p>A strong DLP strategy doesn't mean slowing engineers down with endless approval steps or locking every laptop into a rigid corporate image, and it shouldn't come at the cost of customer experience either, since the whole point of shipping fast is to serve users well without exposing their data in the process.</p>
<p>The strongest endpoint DLP strategies just run in the background, mostly invisible day to day: access control keeping blast radius small, CI/CD checks catching mistakes before they ship, and monitoring pointing a team toward its real gaps instead of leaving everyone to guess.</p>
<p>Start with access control and CI/CD, since those two catch common mistakes with minimal <a href="https://codedesign.ai/glossary/frictionless-ux">friction</a>, and build outward once that foundation is solid.</p>
<p>Picking up suitable tools, including the best <a href="https://infomsp.com/top-10-backup-software/">backup software</a>, behind each of these steps makes the whole thing far easier to build and keep running over time.</p>
<p>Anyone looking to strengthen those foundations, whether that's Linux fundamentals, containerization, or CI/CD pipelines, will find free and practical guides covering precisely this kind of work over at <a href="https://www.freecodecamp.org">freeCodeCamp</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ VM Data Protection Best Practices: How to Mitigate Risk in a Virtual Environment ]]>
                </title>
                <description>
                    <![CDATA[ Vast amounts of data flow through virtualized environments these days. And that data needs to be protected. So making sure that your virtual machines are secured, along with their associated data, is key for maintaining operational continuity and saf... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/vm-data-protection-best-practices/</link>
                <guid isPermaLink="false">66bf49af410af52542e93140</guid>
                
                    <category>
                        <![CDATA[ Data security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ virtualization ]]>
                    </category>
                
                    <category>
                        <![CDATA[ virtual machine ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Data Protection ]]>
                    </category>
                
                    <category>
                        <![CDATA[ risk management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ proxmox ]]>
                    </category>
                
                    <category>
                        <![CDATA[ vmware ]]>
                    </category>
                
                    <category>
                        <![CDATA[ risk mitigation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Risk Assessment ]]>
                    </category>
                
                    <category>
                        <![CDATA[ vm ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Alex Tray ]]>
                </dc:creator>
                <pubDate>Fri, 16 Aug 2024 12:44:31 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1723559872911/f9953e98-7948-47a0-a054-62028df854b9.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Vast amounts of data flow through virtualized environments these days. And that data needs to be protected. So making sure that your virtual machines are secured, along with their associated data, is key for maintaining operational continuity and safeguarding against cyber threats.</p>
<p>In this guide, you'll learn about VM-specific risks for data and workloads. I'll also provide some recommendations that can help you mitigate them. Implementing these data protection best practices can help you ensure production continuity, data availability, and regulatory compliance for your organization.</p>
<p><strong>Table of Contents</strong></p>
<dl>
<ul>
  <li><a href="#heading-two-of-the-main-players-vmware-and-proxmox">Two of the Main Players: VMWare and Proxmox</a></li>
  <li><a href="#heading-understanding-the-risks-of-virtual-environments">Understanding the Risks of Virtual Environments</a></li>
  <li>
    <a href="#heading-specific-risks-associated-with-virtual-environments">Specific Risks Associated with Virtual Environments</a>
    <ul>
      <li><a href="#heading-hypervisor-security-vulnerabilities">Hypervisor security vulnerabilities</a></li>
      <li><a href="#heading-vm-sprawl">VM sprawl</a></li>
      <li><a href="#heading-insecure-vm-configurations">Insecure VM configurations</a></li>
      <li><a href="#heading-snapshot-and-clone-risks">Snapshot and clone risks</a></li>
    </ul>
  </li>
  <li>
    <a href="#heading-vm-data-protection-and-secure-virtualization-best-practices">VM Data Protection and Secure Virtualization Best Practices</a>
    <ul>
      <li><a href="#heading-secure-the-virtualized-environment">Secure the Virtualized Environment</a></li>
      <li><a href="#heading-backup-and-recovery-strategies">Backup and Recovery Strategies</a></li>
      <li><a href="#heading-monitoring-and-auditing">Monitoring and Auditing</a></li>
    </ul>
  </li>
  <li>
    <a href="#heading-advanced-protection-techniques">Advanced Protection Techniques</a>
    <ul>
      <li><a href="#heading-encryption">Encryption</a></li>
      <li><a href="#heading-intrusion-detection-and-prevention-systems-idps">Intrusion Detection and Prevention Systems (IDPS)</a></li>
      <li><a href="#heading-application-and-network-security">Application and Network Security</a></li>
    </ul>
  </li></ul></dl>

<h2 id="heading-two-of-the-main-players-vmware-and-proxmox">Two of the Main Players: VMWare and Proxmox</h2>
<p>Both VMware and Proxmox offer robust solutions for virtualization, but they come with their own set of challenges and risks that can impact VM data protection.</p>
<p>VMware is the market leader in virtualization <a target="_blank" href="https://www.6sense.com/tech/virtualization/vmware-market-share#:~:text=VMware%20has%20market%20share%20of,ESXi%20with%205.99%25%20market%20share.">with almost 50% of the market share</a>, which is both a boon and a bane.</p>
<p>On the one hand, VMware has a high-end, efficient portfolio of solutions to build IT environments of any complexity and size. On the other, such popularity means that malicious actors know what they can target during cyberattacks, posing challenges in virtualization security for VMware users.</p>
<p>Proxmox, a prominent alternative to VMware, also offers robust virtualization solutions. While Proxmox may have a smaller market share compared to VMware, it provides a comprehensive set of tools for managing virtual environments. It can also be a good choice for those looking for open-source solutions with flexibility and cost-efficiency.</p>
<p>Over three-quarters of organizations that have 50+ workers <a target="_blank" href="https://smartprofile.io/analytics-papers/vmware-far-largest-server-virtualisation-market/">use server virtualization</a>. So it's hard to overestimate the importance of the data that's circulating in their virtualized workloads.</p>
<p>The workloads themselves can be mission-critical and cause global disruption and downtime in case of failures. The data can also be crucial to run efficient services and generate revenue or be subject to compliance requirements.</p>
<h2 id="heading-understanding-the-risks-of-virtual-environments">Understanding the Risks of Virtual Environments</h2>
<p>Before we proceed with VM security best practices, let’s go over some general security issues associated with virtual environments.</p>
<ul>
<li><p><strong>Data breaches</strong> are a regular issue that most IT protection systems experience. A lone hacker or an organized cybercriminal group can intrude into corporate environments to steal data. Their targets are typically clients' personal data, credit card info, credentials, and intellectual property.</p>
</li>
<li><p><strong>Insider threats</strong> are usually the most underrated yet <a target="_blank" href="https://www.ekransystem.com/en/blog/insider-threat-statistics-facts-and-figures">exceptionally dangerous issue</a>. Malicious insiders sneakily strike from the inside of an organization’s security perimeter and may have advanced access privileges. This can lead to a global IT disaster, and preventing it is a high-level challenge.</p>
</li>
<li><p><strong>Malware and ransomware attacks</strong> are an ever-evolving threat for organizations of all sizes and types.</p>
</li>
<li><p><strong>System vulnerabilities and exploits.</strong> The supply chains of today’s IT services can be complicated and consist of multiple synchronized solutions. Every solution involved in service provisioning is a potential source of vulnerabilities that malicious actors can exploit upon discovery.</p>
</li>
</ul>
<h2 id="heading-specific-risks-associated-with-virtual-environments">Specific Risks Associated with Virtual Environments</h2>
<p>Understanding the risks of virtualization – particularly with VMware, one of the most popular virtualization platforms for enterprises, and Proxmox, which has seen increasing adoption in recent times – will help you and your team build an effective data protection system in your virtualized environments.</p>
<p>The unique threats associated with these platforms dictate how you should secure your virtual machines, servers, networks, and other virtualized nodes.</p>
<p>Key factors that can weaken virtualized infrastructure security include:</p>
<h3 id="heading-hypervisor-security-vulnerabilities"><strong>Hypervisor security vulnerabilities</strong></h3>
<ul>
<li><p><strong>VMware</strong>: Because of its extensive use in enterprises, attackers frequently target VMware. Major issues can arise due to the integration and complexity of VMware's hypervisor. The "<a target="_blank" href="https://www.nakivo.com/blog/vmware-esxi-ransomware/?utm_source=Freecodecamp&amp;utm_medium=guest_post&amp;utm_campaign=free_trial">ESXiArgs</a>" ransomware strain takes advantage of VMware vulnerabilities to infiltrate computers before the distribution of updates.</p>
</li>
<li><p><strong>Proxmox</strong>: While this open-source technology does have the potential for hypervisor vulnerabilities, the community can also provide security improvements such as timely patches, vulnerability reports, and enhancements to security protocols. Insufficiently managed upgrades or third-party modules can put Proxmox users at risk of security vulnerabilities.</p>
</li>
</ul>
<h3 id="heading-vm-sprawl"><strong>VM sprawl</strong></h3>
<ul>
<li><p><strong>VMWare:</strong> The ease of deploying VMs in VMware can lead to VM sprawl, where numerous virtual machines are created but not adequately managed. IT teams can create a virtual machine, for example, to test a new feature in an isolated environment before releasing it in production. If not deleted after completing the task, the new virtual machine can remain in an environment without attention, maintenance, or security updates.</p>
</li>
<li><p><strong>Proxmox</strong>: Proxmox's flexibility in managing virtual environments causes VM sprawl, which is more likely to affect smaller teams lacking strong monitoring. Its straightforward interface and streamlined deployment processes help to make creating and managing many virtual machines (VMs) a delight. While this helps with development and testing quickly, it can also cause an influx of virtual machines (VMs) to be launched without proper management or preparation.</p>
</li>
</ul>
<h4 id="heading-insecure-vm-configurations"><strong>Insecure VM configurations</strong></h4>
<ul>
<li><p><strong>VMware</strong>: A VMWare virtual machine itself is a complex environment with multiple configurations and dependencies. Misconfiguration of VMware's resources, operating systems, or applications can lead to additional virtual desktop security risks.</p>
</li>
<li><p><strong>Proxmox</strong>: Users of Proxmox might also face security pitfalls due to misconfigured VMs, especially when utilizing custom templates or third-party integrations. Insufficient security settings can expose services and open ports, enabling unauthorized access.</p>
</li>
</ul>
<h4 id="heading-snapshot-and-clone-risks"><strong>Snapshot and clone risks</strong></h4>
<ul>
<li>Inappropriate VM snapshot retention and maintenance policies in both Proxmox and VMware environments can cause storage overload. Creating too many VM clones can eventually lead to RAM and CPU deficiencies. Insufficiency of hardware resources then causes performance degradation and disk failures, resulting in downtime and data loss.</li>
</ul>
<h2 id="heading-vm-data-protection-and-secure-virtualization-best-practices">VM Data Protection and Secure Virtualization Best Practices</h2>
<p>Data loss in virtualized environments, such as VMWare or Proxmox, can lead to fines, financial losses, and reputational damage for an organization.</p>
<p>Below are some recommendations on how to improve VM data security for virtual nodes, clusters, and infrastructures. The tips cover both virtualization-specific risks and those common to IT security, providing valuable insights for managing data protection effectively in both VMware and Proxmox environments.</p>
<h3 id="heading-secure-the-virtualized-environment">Secure the Virtualized Environment</h3>
<p>For starters, you can strengthen your environment with regular VM security practices. Consider implementing the following:</p>
<h4 id="heading-strong-access-controls-and-authentication-mechanisms"><strong>Strong access controls and authentication mechanisms.</strong></h4>
<p>Role-based access control (RBAC) is an efficient security measure that ensures users have only the access and privileges required to fulfill job duties. With roles set for every employee, their accounts become less dangerous under unauthorized access in case of, for example, compromised credentials.</p>
<p>This can help you either completely counter a security breach attempt or at least significantly mitigate the consequences of a protection failure. Two-factor authentication (2FA) added on top of that purposely complicates the login process, making regular passwords insufficient to hack and exploit an account.</p>
<h4 id="heading-regular-updates-and-patch-management"><strong>Regular updates and patch management</strong></h4>
<p>Set up regular update checks for solutions included in your supply chain. Installing updates and especially security patches on time means that your system closes known vulnerabilities. This reinforces the security perimeter and can protect your environment from random breaches and brute-force attacks, supporting secure virtualization.</p>
<h4 id="heading-network-segmentation-and-isolation"><strong>Network segmentation and isolation</strong></h4>
<p>Combined with external protection reinforcement, segmenting your network using virtual routers, firewalls and switches can be efficient in isolating critical workloads and data from major threats.</p>
<p>A complex internal environment poses an additional challenge for hackers preparing their attacks. Also, if a network scan shows that the infrastructure is ramified and segmented, some bad actors may even conclude that an attack is not worth the effort.</p>
<h3 id="heading-backup-and-recovery-strategies">Backup and Recovery Strategies</h3>
<p>Backups are essential in building an efficient VM data protection system. When all else fails, a backup can help you restore critical data and workloads with little to no downtime.</p>
<p>An efficient VM backup and recovery system includes:</p>
<p><strong>Regular and automated VM backups.</strong> To ensure minimal downtime, you need a backup with a “fresh” recovery point recorded. Given the complexity of even the smallest corporate virtualized environments, only automation and scheduling backups can ensure their regularity.</p>
<p><strong>Offsite and cloud-based backup solutions.</strong> In addition to onsite backups, consider sending data copies to offsite and cloud repositories. This helps you avoid a single point of failure and keep up with the 3-2-1 backup rule.</p>
<p>In case your main infrastructure is down due to a disruption, offsite backups in two different destinations can remain recoverable and accessible.</p>
<p><strong>Disaster recovery planning and testing.</strong> Virtualized environments can include hundreds and thousands of virtual machines, servers and clusters to provide stable and efficient services.</p>
<p>To minimize downtime after global failures, you need to <a target="_blank" href="https://www.nakivo.com/blog/components-disaster-recovery-plan-checklist/">plan disaster recovery</a> (DR) sequences and test them regularly. Set up a scheduled testing workflow to ensure checks.</p>
<p>Also, you might want to conduct disaster recovery testing sessions every time you introduce changes into your main virtualized environment.</p>
<p>Advanced <a target="_blank" href="https://www.cybersecurity-insiders.com/proxmox-backup-by-nakivo-powerful-vm-data-protection/">VM data protection</a> solutions for secure virtualization, such as <a target="_blank" href="https://www.nakivo.com/proxmox-backup/">NAKIVO Backup &amp; Replication</a>, provide the set of features and functions required to implement the above-mentioned VM backup recommendations.</p>
<p>As a regular user of the NAKIVO solution, specifically for protecting virtualized environments, I’ve experienced firsthand the benefits of its robust features. I highly recommend taking advantage of the <a target="_blank" href="https://www.nakivo.com/resources/download/trial-download/?utm_source=Freecodecamp&amp;utm_medium=guest_post&amp;utm_campaign=free_trial">free version</a> of this solution, which is available until the end of 2024.</p>
<h3 id="heading-monitoring-and-auditing">Monitoring and Auditing</h3>
<p>One of the most efficient VM data protection best practices for virtualized environments is to monitor resource usage, VM health, and behavior. This includes the following:</p>
<p><strong>Continuous monitoring of virtualized environments.</strong> Sufficient hardware resources are crucial for production continuity in virtualized environments. You may want to keep track of infrastructures in general and mission-critical VMs in particular. Thus, you can know the current resource consumption and predict scaling needs and budgets to support system stability as your organization grows.</p>
<p><strong>Audit trails and logging.</strong> Audit trails and logging help you get a sequential record of specific activities and data within systems and their components. This includes failed and successful logins, MAC addresses and IPs of involved devices, access locations, data transactions as well as VM and policy changes.</p>
<p><strong>Anomaly detection and response.</strong> With monitoring and logging established and functioning, you can detect anomalies in the behavior of users and VMs, and resource consumption changes within system nodes. With such behavioral data, you can timely react to potential security threats.</p>
<h2 id="heading-advanced-protection-techniques">Advanced Protection Techniques</h2>
<p>Advanced threat protection tips for virtual machines describe techniques related to encryption, intrusion detection and prevention systems, and additional security of applications and networks. Let’s review every technique in detail.</p>
<h3 id="heading-encryption">Encryption</h3>
<p>In a modern IT landscape where any user is able to download and use traffic interception tools, unencrypted data is most likely public data. To enhance your VM data protection for secure virtualization, you can ensure:</p>
<ul>
<li><p><strong>Encrypting data at rest and in transit.</strong> Encrypt data during transmission (in flight) and throughout retention (at rest). Such all-round data encryption enables you to enhance protection from unauthorized access in most situations.</p>
</li>
<li><p><strong>Implementing secure key management.</strong> For additional security, consider setting up an encryption key management system. This includes regular generation, secure exchange, storage and use, timely destruction and replacement of encryption keys.</p>
</li>
</ul>
<h3 id="heading-intrusion-detection-and-prevention-systems-idps">Intrusion Detection and Prevention Systems (IDPS)</h3>
<p>Intrusion detection and prevention systems are designed to scan and monitor networks and automatically take action to counter possible breaches.</p>
<ul>
<li><p><strong>Integrating IDPS with VMs.</strong> IDPS integration is about revealing the key nodes of your virtual environment and installing program “sensors” that track the situation around them. You can then count on software automation to take the first actions to counter possible intrusions as they occur.</p>
</li>
<li><p><strong>Real-time threat detection and response.</strong> Consider developing specialized workflows for responding to intrusions after the IDPS detects them and stops the most obvious malicious activities. Keep in mind that modern cyberattacks can involve a multi-layered series of smaller hits to distract and deceive the defenders.</p>
</li>
</ul>
<h3 id="heading-application-and-network-security">Application and Network Security</h3>
<p>In addition to supply chain control, network segmentation, and isolation, you can make your VM data protection system more reliable with additional app and network security enhancements. For instance, consider the following steps:</p>
<ul>
<li><p><strong>Hardening VM applications.</strong> As apps can become weak links in your protection chain, consider hardening their protection. For example, remove unnecessary components and disable unwanted services that such applications might run. Also, you can set reliable passwords, regular code reviews and role-based access controls within apps.</p>
</li>
<li><p><strong>Implementing firewall and VPN solutions.</strong> These are additional VM data protection best practices that specifically harden networks. External and internal firewalls can prevent unauthorized access to system elements, while VPN connections ensure secure access for authorized users.</p>
</li>
</ul>
<h2 id="heading-future-trends-in-vm-data-protection">Future Trends in VM Data Protection</h2>
<p>The future of secure virtualization mainly depends on the evolution of relevant threats. The popularity of virtualization solutions, such as VMWare and Proxmox, defines the close attention that hackers pay to VM vulnerabilities and specifics.</p>
<p>Malicious actors also shape their ransomware, interception, and intrusion tools to become more dangerous to virtualized IT infrastructure. Sophisticated malware enables deeply customized attacks that exploit the VM security weaknesses of the organization’s infrastructure.</p>
<p>The improvement of AI algorithms can bring additional challenges to the field, making malware spread faster, becoming less detectable, and targeting priority nodes with efficient strikes.</p>
<p>However, the same idea works for VM security best practices. AI-driven cyber defense solutions can help detect and counter specific threats in VM environments with significantly better performance and efficiency.</p>
<p>Advanced VM threat detection based on behavioral analysis throughout the entire infrastructure can help reveal malware earlier. Prevention tools independently reacting to potentially dangerous changes in an environment can enable quick response and counter cyberattacks right after they begin.</p>
<p>Lastly, AI can learn how to enhance protection flexibility and introduce defensive changes in an environment depending on how a cyberattack develops. The boosted speed and variety of <a target="_blank" href="https://www.hostpapa.com/blog/web-hosting/what-small-businesses-need-to-know-about-cybersecurity/">cybersecurity</a> moves then promote virtualized security (and data protection as a whole) to notably higher effectiveness levels.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Thorough VM security is crucial for any organization that's using virtualized IT environments. Consider implementing strong access controls, patch management, network segmentation, monitoring, auditing and app security to counter key threats and mitigate their outcomes.</p>
<p>You might also want to build an advanced <a target="_blank" href="https://www.nakivo.com/blog/proxmox-backup/">Proxmox replication</a> or <a target="_blank" href="https://www.nakivo.com/blog/vmware-backup/">VMware backup</a> system to have a swift data recovery option in case of a breach or system failure.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
