Minimum Viable Security, Part 1: What to Fix Before Your Product Goes Live

A developer-first guide to reducing risk with simple interventions that actually work.


Let’s be honest — everyone says cybersecurity matters. You’ve got frameworks like NIST and CIS, developer checklists like OWASP, and a million tools out there promising to keep you safe. But in the real world? Teams are scrambling to meet deadlines, and no one has the luxury to stop and roll out a full security program before the next release goes live.

That’s the reality this article is written for.

These ideas aren’t meant to be perfect or exhaustive. They’re not “the full NIST implementation” or a grand strategy deck. They’re just small, practical things you can start doing right now — while the bigger security pieces are still falling into place. Think of them as quick wins that still map back to core NIST functions, especially in the Detect and Protect categories, even if we’re not quoting the framework every step of the way.

Most importantly, this is about changing the way teams feel about security. Developers don’t want more policy docs or yet another awareness session. What they do want is stuff they can actually use — simple, fast, hands-on steps that make their code and their product safer without killing their momentum.

For this discussion, let’s assume we’re dealing with a typical web application, with both the web server and database server deployed on a public cloud.



Step 1: Quick Scan of Your Application Server

Run a quick scan of your application server using an online VAPT tool like pentest-tools.com . Their free plan is more than enough to catch the obvious stuff. You’re not aiming for full coverage — just a clean, actionable baseline. Run the scan, look at what it flags, and fix the critical and high-severity issues first. These are usually the low-hanging fruit that give you the biggest return for the least effort.

When you share the report with your team, don’t bury it in NIST acronyms or compliance jargon. Make it real — tie each issue to a known breach or incident. If the scan shows passwords in URLs, bring up how that led to data leaks in the past. If there’s an outdated server component, reference Equifax or Capital One. And share these scans regularly. Daily, if possible. That keeps the signal loud and clear: this stuff matters.

And if something breaks because of a fix? Let it break. Just like the famous Toyota production line, where everything stops if even one bolt is out of place — that’s the point. Break early. Break visibly. Breaking early means you find dependencies and risks before your users do. It’s a vital part of moving fast but safely.



Step #2: Scan for Open Ports on the App Server

Next, let’s check what doors are open on your application server — literally. Use a simple port scanner (PenTestTools has one built in) to see which ports are exposed to the outside world.

For most web applications, port 443 (HTTPS) is the only one that should be open. Everything else — SSH, FTP, old test ports — should be blocked or filtered. If you see anything beyond 443, that’s a red flag. Lock it down.

And here too, follow the Toyota mindset: shut it down even if something breaks. It’s better to discover a dependency now than to find out later that an open port became your attacker’s entry point. Let it break. Then fix it properly.

Step #3: Lock Down the Database Server

Now that your app server is in a reasonable shape, it’s time to look at your database. Here’s the golden rule: your DB server should never be exposed to the public internet. It should only accept connections from your application server — ideally via a private subnet, security group, or internal firewall rule.

To check this, again use a port scanner from an external network and make sure the usual suspects (3306 for MySQL, 5432 for PostgreSQL, etc.) are not reachable. If they are, close them immediately — even if it breaks something.

🛑 If your DB is exposed to the public net, it’s not “if” it’ll be attacked — it’s “when.”

Treat it like the back-end vault it is. Lock it behind layers of protection, and make sure only the app server has a key.



Conclusion

The activities covered here align closely with the NIST Cybersecurity Framework’s Detect function, focusing on identifying potential security issues through network exposure and service visibility. This ensures that even at this foundational stage, we are operating within a well-established security model rather than ad hoc checks.

So far, we’ve covered the foundational 60–70% of the attack surface — focusing on network exposure and visible services. Key areas such as authentication, authorization, and database security remain to be explored.

In upcoming articles, we will continue this structured approach by introducing simple, quick-to-implement tools that fit seamlessly into development workflows. The goal is to build a strong security culture while making meaningful progress.

Security is a journey, and by breaking it down into manageable, actionable steps, we set ourselves up to get things done right and move steadily in the right direction.

Side Note on Tools

For this assessment, we used PenTestTools, a free online platform that offers straightforward scanning and decent reporting capabilities, making it accessible and efficient for quick security checks. Alternatively, similar results could have been achieved using open-source tools like Wapiti for web vulnerability scanning or Nmap for network port scanning, depending on preference and environment.

These tools are not just about finding issues; they’re about building a culture of security awareness and proactive risk management within development teams. By integrating these checks into the daily workflow, we can shift the mindset from reactive to proactive, ensuring that security becomes an integral part of the development process.

Stay tuned for more practical steps in our Minimum Viable Security series, where we’ll continue to explore how to build a robust security posture without slowing down development.



Related References



Hungry for more hands‑on guides on coding, security, and open‑source? Join our newsletter community—new insights delivered every week. Sign up below 👇