Network Security Questions to Ask Your Internet or Hosting Provider
For non-engineers buying internet, cloud, or hosting services, this guide turns vague security concerns into concrete questions you can ask a provider before you sign or renew. You will learn what sits where in the network path, which controls actually matter, and how to spot answers that sound reassuring but do not reduce risk.
TL;DR — If you only ask one thing, ask your provider to show exactly how they isolate your systems from other customers and how they handle DDoS (flood traffic meant to knock you offline), backups, and access to your data. The best provider answer is not "we take security seriously" but a concrete description of network boundaries, logging, incident response, and the dashboard settings you can verify yourself. Reading time: ~7 min
What it is and where it sits
When people say "network security" with a hosting or internet provider, they usually mean the controls that protect traffic as it moves between the public internet, the provider's network, and your systems. In practice, this sits between users and your app, and also between your app and anything private behind it: databases, admin tools, backups, and office networks.
For a customer of a software agency, the goal is not to become a network engineer. The goal is to ask questions that reveal whether the provider gives you useful boundaries and visibility, or whether everything is effectively "on the same flat network" with weak controls.
The provider may be your:
- internet service provider for an office,
- web hosting company,
- cloud infrastructure provider,
- managed platform host,
- colocation or data center operator.
The architecture context matters because different providers sit in different parts of the request path.
View as text
[User Browser] ---- 1. HTTPS request ----> [Internet]
|
| 2. routed traffic
v
[Provider Edge]
|
| 3. firewall/WAF/DDoS filtering
v
[Load Balancer]
|
| 4. app traffic
v
[App]
|
| 5. private DB connection
v
[DB]In a typical flow:
- The provider edge is the first place traffic enters the provider's network.
- A firewall (rules that allow or block traffic) or WAF (web application firewall) may inspect requests.
- A load balancer (traffic distributor) sends traffic to your app servers.
- Your app should reach the database over a private network segment, not the public internet.
What this replaces depends on your setup:
- If you used to host a server in your office, the provider replaces your office router, firewall, and internet uplink.
- If you move from shared hosting to cloud hosting, provider-managed network controls replace many assumptions you used to make about "the server" being the whole security boundary.
- If you use a managed platform, the provider may hide most network details, so your questions need to focus on what they do expose: IP allowlists, private networking, logs, backups, and incident handling.
How it actually works
Here is one realistic example: a customer logs into your web app, and your app reads account data from a database. You want to know what your provider does to keep that safe.
Step-by-step example
- The customer opens
https://app.example.comin a browser. - DNS (the system that maps names to IP addresses) sends the browser to your provider's edge network or load balancer.
- The provider edge receives the connection. Good providers can describe whether they filter obvious attack traffic here, such as SYN floods or volumetric DDoS.
- TLS (the lock icon encryption used by HTTPS) is terminated either at the edge or at the load balancer. Ask where certificates live and who can access them.
- The load balancer forwards the request to your app server on an internal network.
- The app server connects to the database on a private address like
10.x.x.xor172.16.x.x, not a public IP. - Security groups, firewall rules, or network ACLs (allow/deny rules at the network layer) permit only the app subnet to reach the database port, usually
5432for Postgres or3306for MySQL. - Admin access is restricted separately: for example, SSH or RDP is only allowed from your office VPN or a bastion host (a locked-down jump server for admin access).
- Logs record connection attempts, blocked traffic, and configuration changes. If there is an incident, the provider should be able to tell you what happened and when.
From that one flow, you can derive the most useful questions.
The questions that reveal the real design
Ask these in plain language:
- "Can our database be reached from the public internet? If not, show me where private networking is configured."
- "How do you separate our systems from other customers at the network level?"
- "What traffic filtering happens before requests hit our app? DDoS only, firewall rules, or WAF too?"
- "Can admin access be restricted to our office IPs or VPN? Where do we set that in the dashboard?"
- "What logs exist for blocked traffic, login attempts, and firewall rule changes, and how long are they kept?"
- "If there is a security incident, who contacts us, in what timeframe, and what evidence do we get?"
- "Can backups be reached over the same network as production, or are they isolated?"
- "Do you support private network links between app and database, or does that traffic cross the public internet?"
- "Who inside your company can access our systems or network controls, and is that access logged?"
- "Can we export logs and configurations if we leave?"
A strong provider answer includes exact control points: dashboard sections, exported logs, sample firewall rules, retention periods, and incident playbooks. A weak answer stays at the policy level only.
When to use it (and when not to)
You should ask these questions before buying, during annual review, and before any migration. This is especially important when your app stores customer data, processes payments, has admin users, or must stay online during traffic spikes.
You probably do not need a deep network review if you are only running a brochure site with no login, no stored customer data, and no custom server access. Even then, you still want basic HTTPS, backups, and DDoS handling.
| Scenario | Recommendation |
|---|---|
| Marketing site, no login, low traffic | Ask about HTTPS, backups, DDoS protection, and restore process; keep it lightweight |
| SaaS app with customer accounts | Ask the full set: private networking, firewall rules, admin access restrictions, logs, backups, incident response |
| Database contains personal or financial data | Require private DB access, IP restrictions, audit logs, backup isolation, and clear breach notification terms |
| Office internet for staff accessing cloud tools | Focus on business-grade firewall, VPN support, static IP if needed, and DDoS/uptime commitments |
| Shared hosting with no server control | Ask what isolation exists between tenants and whether admin panels support IP allowlists and MFA (multi-factor authentication) |
| Tiny internal prototype | You probably do not need advanced segmentation yet, but do not expose databases publicly |
Trade-offs
Every useful control costs something. That is normal.
- Private networking reduces exposure, but it costs setup time and can make troubleshooting harder because you cannot just connect from anywhere.
- DDoS protection improves uptime, but advanced protection may cost more and can occasionally block legitimate traffic if tuned too aggressively.
- Strict firewall rules reduce attack surface, but they increase operational burden when your team needs temporary access from a new location.
- VPN or bastion-based admin access is safer than open SSH/RDP, but it adds one more login step and one more system to maintain.
- Detailed logging helps investigations, but storing logs costs money and raises privacy and retention questions.
- Managed hosting reduces your team's work, but it can create lock-in if firewall rules, logs, or private networking are exposed only through provider-specific features.
- Backups in a separate network or account improve resilience, but restores may be slower and more procedural.
A good buying decision is not "maximum security at any cost." It is choosing controls that match the damage a breach or outage would cause.
In practice
Below are examples you can adapt or ask your provider to help you apply. Start in the dashboard if available; use CLI only if your provider or agency manages infrastructure as code.
Example 1: Restrict database access to a private network only
In your provider's dashboard, look for a path similar to:
- Networking → Private Network / VPC → Create network
- Database → Connectivity → Disable public access
- Firewall / Security Groups → Add inbound rule
A typical rule is: allow Postgres 5432 only from the app subnet, not from 0.0.0.0/0 (all IPv4 addresses).
{
"name": "db-ingress",
"inbound": [
{
"protocol": "tcp",
"port": 5432,
"source": "10.0.1.0/24",
"description": "Allow Postgres only from app subnet"
}
],
"outbound": [
{
"protocol": "all",
"destination": "0.0.0.0/0"
}
]
}
This expresses the intent you want your provider to implement: the database accepts traffic only from your app network. Gotcha: if your app servers are replaced or moved to a different subnet during scaling, this rule must be updated or your app will fail to connect.
Example 2: nginx app only reachable through HTTPS, with admin path IP-restricted
If your host gives you web server config access, the dashboard path is often something like Sites → site-name → Server settings → nginx config. If not, give this to your agency or host support.
⚠️ A bad web server config can take your site offline immediately. Apply changes in a staging environment first, or ask the host to validate the config before reload.
server {
listen 80;
server_name app.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name app.example.com;
ssl_certificate /etc/ssl/certs/app.example.com/fullchain.pem;
ssl_certificate_key /etc/ssl/private/app.example.com/privkey.pem;
location /admin/ {
allow 203.0.113.10;
allow 198.51.100.0/24;
deny all;
proxy_pass http://app_backend;
}
location / {
proxy_pass http://app_backend;
}
}
This forces HTTPS and restricts /admin/ to known office IP ranges. Gotcha: if your office ISP changes your public IP and you did not buy a static IP, your own team can lock itself out.
Example 3: Verify what is publicly exposed
If your provider gives you a server or VM, ask for the dashboard path first: Network Interfaces → Public IPs and Firewall → Inbound rules. If shell access exists, this command helps confirm what services are listening.
ss -tulpn
This lists listening ports and the processes using them. Gotcha: seeing a service listen on 0.0.0.0 means it is bound to all interfaces, which may include a public one unless the firewall blocks it.
Further reading
- OWASP Application Security Verification Standard, "Architecture, Design and Threat Modeling" sections
- NIST SP 800-41, Guidelines on Firewalls and Firewall Policy
- The "HTTP access control (CORS)" and "Caching" chapters of the MDN HTTP docs
- PostgreSQL documentation, "Client Authentication" and "SSL Support"
- Google SRE Book, "Addressing Cascading Failures"
This article was written by an AI system and published pending human review. Verify anything you intend to act on.
Have a project in mind?
Get an instant AI price estimate for it, or talk directly to our team.
One email a month on what we learn building with AI