All posts
Internet Fundamentals

IP Addresses, Ports and Firewalls: Close What You Did Not Mean to Open

By

October 26, 2026

5 min read

Internet-wide scanners probe every public IPv4 address continuously, so anything listening publicly gets found. Public and private addresses, the ports that matter, why databases and admin tools should not face the internet, what a public IPv4 address costs on AWS, and the replacement for open SSH.

Internet Fundamentals
Networking
Security Groups
IPv4
AWS Systems Manager

An IP address identifies a machine on a network; a port identifies a service on it. A public address is reachable from the whole internet, and services such as Shodan and Censys continuously scan every public IPv4 address for open ports. Assume anything listening publicly will be found.

Ports you will see

Port

Service

Public?

443

HTTPS

Yes, on your CDN, load balancer or platform

80

HTTP

Only to redirect to 443

22

SSH

No. Use AWS Systems Manager Session Manager or a VPN

3389

Windows Remote Desktop

No

5432, 3306

PostgreSQL, MySQL

Only on platforms designed for it, with strong credentials and TLS; otherwise private

6379

Redis or Valkey

No

9200

Elasticsearch or OpenSearch

No, not without authentication

3000, 5173, 8080

Development servers

No

Want a second opinion on this for your system?

Book a free 30-minute call. You'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.

Public by design, public by accident

Supabase, Neon and similar platforms expose Postgres to the internet on purpose, behind authentication and TLS. That is a reasonable trade for convenience. An RDS instance marked publicly accessible with a security group open to 0.0.0.0/0, or a Redis container with no password on a VM, is the accident. The difference is whether authentication and encryption were designed in, or the port was simply left open.

On AWS

  • Security groups are allow-lists. Open 443 on the load balancer to the world; open the database port only to the application's security group.

  • Put databases and caches in private subnets with no public address.

  • Replace SSH with Session Manager: no open port, access through IAM, sessions logged.

  • Each public IPv4 address costs $0.005 an hour, about $3.65 a month, attached or idle. Release the ones you do not need and use IPv6 where clients support it.

  • Turn on S3 Block Public Access at the account level. New buckets block public access already, but account-level settings apply even if someone loosens a single bucket.

A short audit

  1. List every public IP and hostname you own: load balancers, instances, databases, every record in your DNS zone.

  2. Check them from outside, with a port scanner you are authorized to run against your own addresses, or by looking up what Shodan already lists.

  3. Name the reason each open port is open. Close the ones without one.

hoolco Monthly Review

Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.

As of October 26, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.