Skip to Content
OpenVAPTAlpha
Pre-release. Academic, non-commercial, source-available code built by AI Cybersecurity Engineers. Free for your own use, 100% at your own risk. This website collects no data. Read MoreRead Less
Pre-release. OpenVAPT has no Stable release yet. Every build is an Alpha, Beta or Release Candidate: it may be incomplete or wrong, so use it only on test machines, 100% at your own risk. See Release Channels
Academic, non-commercial, source-available code built by AI Cybersecurity Engineers. These are AI systems, not people or registered engineers. Free for your own personal or business use, on your own machines, 100% at your own risk. Not for sale. Not for providing services. This website collects no data. Read the Acknowledgements
Pre-release. OpenVAPT has no Stable release yet. Every build is an Alpha, Beta or Release Candidate: it may be incomplete or wrong, so use it only on test machines, 100% at your own risk. See Release Channels
Academic, non-commercial, source-available code built by AI Cybersecurity Engineers. These are AI systems, not people or registered engineers. Free for your own personal or business use, on your own machines, 100% at your own risk. Not for sale. Not for providing services. This website collects no data. Read the Acknowledgements
P3PractitionerAbout 20 minutes

Network Exposure and Firewalls

What a server exposes to the network, and why databases and cleartext services should not be reachable. How a host firewall acts as a safety net.

Read First: F1, F3

You Will Be Able To

  • Explain the difference between binding to 127.0.0.1 and to 0.0.0.0.
  • Explain why exposed databases and caches cause mass breaches.
  • Explain default-deny firewall policy.

Listening Services and Attack Surface

Every listening port is part of the attack surface. A service bound to 127.0.0.1 or ::1 is reachable only from the machine itself. One bound to 0.0.0.0, :: or a public address is reachable from the network unless a firewall blocks it. OpenVAPT reads this from the kernel's own socket tables instead of port scanning.

Databases, Caches and Cleartext Protocols

Redis, MongoDB, Elasticsearch and Memcached exposed to the internet, often without authentication, have caused many large data breaches and ransom wipes. Telnet, FTP, rsh and plain POP3, IMAP or LDAP send passwords unencrypted.

Host Firewalls

A default-deny host firewall allows only the ports you intend, such as SSH and HTTPS, and drops everything else. It protects you when a service is installed or misconfigured by mistake. Always allow SSH before enabling a firewall on a remote server.

In Summary

Every listening port is attack surface. Bind services to loopback where you can. A default deny firewall closes the rest. Cleartext services belong behind TLS or off the network.

Apply It

These OpenVAPT checks put this module into practice. Open one to see its detection logic and source code.

CheckTitleSeverity
NET-DB-001Database or Cache Service Exposed to the NetworkHigh
NET-DB-002Redis Authentication and Network BindingCritical
NET-DB-003MongoDB Authorization and Network BindingCritical
NET-DB-004PostgreSQL Trust and Broad Client AccessCritical
NET-DB-005MySQL or MariaDB Unsafe Network OptionsHigh
NET-DB-006Memcached UDP or Broad Listen AddressHigh
NET-DB-007Elasticsearch Security and Network BindingCritical
NET-DB-008Unsafe NFS Export OptionsHigh
NET-DB-009Unsafe Samba Guest or SMB1 ConfigurationHigh
NET-DB-010BIND Open RecursionHigh
NET-DB-011BIND Zone Transfers Allowed to AnyHigh
NET-DB-012Postfix Open Relay ControlsHigh
NET-DB-013Mail Cleartext Authentication AllowedMedium
NET-DB-014MySQL Symbolic Links Allowed for TablesMedium
NET-DB-015MySQL secure_file_priv Not RestrictedMedium
NET-DB-016MySQL Does Not Require Encrypted Client ConnectionsMedium
NET-DB-017MySQL Error Log Not ConfiguredLow
NET-DB-018MySQL Resolves Client Host NamesLow
NET-DB-019PostgreSQL Uses md5 or password AuthenticationMedium
NET-DB-020PostgreSQL SSL Not EnabledMedium
NET-DB-021PostgreSQL Connection Logging OffLow
NET-DB-022PostgreSQL Password Encryption Not SCRAMMedium
NET-DB-023Redis Dangerous Commands Not RestrictedMedium
NET-FW-001No Active Host FirewallMedium
NET-FW-002IPv6 Listeners Without IPv6 FirewallHigh
NET-FW-003Firewall Allows Sensitive Services From AnywhereHigh
NET-FW-004Firewall Rules Open Ports With No ServiceLow
NET-FW-005Container Ports Bypass the Host FirewallMedium
NET-FW-006Firewall Exposure Map of Listening ServicesInfo
NET-LSN-001Inventory of Listening Network ServicesInfo
NET-SVC-001Cleartext Legacy Services ListeningHigh
NET-SVC-002Control Plane or Remote Desktop Ports Network-ReachableCritical
NET-SVC-003Network Time Service Amplification RiskHigh
NET-SVC-004Management Panel or Monitoring Ports Network-ReachableMedium

Printable Worksheet · Teacher Answer Key · For Teachers · Print this page with your browser's Print command for a handout.

Also available as plain Markdown for notes, scripts and AI tools. Same facts, same source, no styling.

Lab

  1. Run: openvapt demo --only NET- --out p3 and open the NET-LSN-001 evidence.
  2. Compare the vulnerable lab (MySQL and Redis on 0.0.0.0) with the hardened lab (127.0.0.1).
  3. On your own server: ss -tulpn and classify each socket as local only or network reachable.

Check Yourself

Answers are checked in your browser and never stored or sent.

Question 1

1. A service bound to 127.0.0.1 is reachable from:

Question 2

2. What does a default-deny firewall policy do?

Question 3

3. Why is Telnet considered insecure?

Question 4

4. A service is bound to 0.0.0.0 and no firewall is running. Who can reach it?

Question 5

5. How does OpenVAPT find listening services?

Question 6

6. What must you do before enabling a default-deny firewall on a remote server?

References

Cite This Page

If this page helped your work, please cite it. The version and web address are filled in; the access date is today's date in your browser. Every other style, and when credit is required, is on How to Cite OpenVAPT.

APA 7
OpenVAPT. (2026). P3: Network Exposure and Firewalls (Version 0.1.0-alpha.6). OpenVAPT Academy. Retrieved October 16, 2026, from https://openvapt.com/academy/p3.html

In text: (OpenVAPT, 2026). Accessed: the date shown is today's date from your own browser (the site's build date without JavaScript); change it to the day you read the page.

BibTeX
@misc{openvapt_p3,
  author       = {{OpenVAPT}},
  title        = {{P3: Network Exposure and Firewalls}},
  year         = {2026},
  howpublished = {\url{https://openvapt.com/academy/p3.html}},
  note         = {OpenVAPT Academy, version 0.1.0-alpha.6. Accessed 16 October 2026}
}

Accessed: the date shown is today's date from your own browser (the site's build date without JavaScript); change it to the day you read the page.

Citing OpenVAPT does not mean OpenVAPT endorses, approves or has reviewed your work.