Skip to main content
Network topology and port requirements are critical for secure installation of the Apinizer platform. This section provides detailed information about secure deployment patterns, firewall zones, Kubernetes port requirements, Apinizer component ports, and access requirements for installation.

Firewall Zones

DMZ Zone (Demilitarized Zone)

DMZ is a secure network zone that is open to the external world but isolated from the internal network. Components Running in DMZ:

Worker Nodes

API Gateway components:
  • Proxy Handler
  • Token Provider API
  • Local Cache
Port Requirements:
  • 443/80 (HTTPS/HTTP) - Client access
  • 30080/30090 (NodePort) - Apinizer API Gateway
  • 32080 (NodePort) - Manager access

Load Balancer

Traffic distribution:
  • HAProxy / Nginx
  • SSL/TLS termination
  • Health check
Port Requirements:
  • 443/80 (HTTPS/HTTP) - External access
  • 30080/30090 (Backend) - Access to Workers
DMZ Security Rules:
  • Inbound:
    • Port 443/80: From Internet to Load Balancer
    • Port 22: SSH (optional, recommended via VPN)
  • Outbound:
    • Port 8080: To Manager (LAN)
    • Port 25080: To MongoDB (LAN)
    • Port 9200: To Elasticsearch (LAN)
    • Port 5701: To Cache (LAN)
    • Port 443: To External APIs (Backend)

LAN Zone (Local Area Network)

LAN is the secure internal network zone. It cannot be accessed from the external world. Components Running in LAN:

Manager Module

Management and configuration:
  • Web Manager
  • Analytics Engine
  • Monitoring & Alerting
  • Scheduled Jobs
Port Requirements:
  • 8080 (HTTP) - Web Manager
  • 8080 (Management API) - Access from Workers

MongoDB

Database:
  • Configuration data
  • Metadata
  • Audit logs
Port Requirements:
  • 25080 (MongoDB) - From Manager and Workers
  • 25080 (Apinizer DB Port) - Apinizer configuration database

Elasticsearch

Log and analytics:
  • API traffic logs
  • Analytics data
Port Requirements:
  • 9200 (HTTP) - From Manager and Workers
  • 9300 (Transport) - Cluster communication

Cache Cluster

Distributed cache:
  • Hazelcast cluster
  • Shared cache data
Port Requirements:
  • 5701 (Hazelcast) - Cluster communication
LAN Security Rules:
  • Inbound:
    • Port 8080: From DMZ to Manager
    • Port 25080: From DMZ to MongoDB
    • Port 25080: From DMZ to MongoDB (Apinizer DB)
    • Port 9200: From DMZ to Elasticsearch
    • Port 5701: From DMZ to Cache
    • Port 22: SSH (via VPN)
  • Outbound:
    • Port 443: To external services (optional)
    • Port 53: DNS queries

Network Segmentation

Network Segmentation Best Practices

Recommended VLAN Structure:
  • VLAN 10: DMZ Zone
  • VLAN 20: LAN Zone (Manager)
  • VLAN 30: LAN Zone (Database)
  • VLAN 40: Management Network (SSH, Monitoring)
This structure enables isolation of network traffic and facilitates security controls.
Recommended Subnet Structure:
  • DMZ: 10.0.1.0/24
  • LAN (Manager): 10.0.2.0/24
  • LAN (Database): 10.0.3.0/24
  • Management: 10.0.4.0/24
Each subnet should have its own firewall rules and access policies.
Routing Configuration:
  • From DMZ to LAN: Only necessary ports open
  • From LAN to DMZ: Management access
  • From Internet to DMZ: Only Load Balancer
  • From LAN to Internet: Restricted access

Kubernetes Port Requirements

Addresses to Access for Installation

Internet access to the following addresses is required for Kubernetes and Apinizer installation:
  • archive.ubuntu.com, security.ubuntu.com / cdn.redhat.com
  • *.docker.com
  • *.docker.io
  • *.k8s.io
  • *.amazonaws.com (Kubernetes documentation)
  • *.mongodb.org
  • *.mongodb.com
  • artifacts.elastic.co
Note: These port accesses have been checked and approved for Kubernetes 1.31.0 and Flannel 0.27.4 version. Ports may vary for different Kubernetes and Flannel versions.

Port Access from Kubernetes Worker Servers to Master Servers

For Kubernetes Worker Nodes to communicate with Master Nodes, the following ports must be open from all Worker Nodes to Master Nodes:

Port Access from Kubernetes Master Servers to Worker Servers

For connections from Kubernetes Master/Control Plane servers to Worker servers, the following ports must be open from all Master Nodes to Worker Nodes:

Port Access Between Kubernetes Master Servers

For connections between Kubernetes Master servers, the following ports must be open between all Master Nodes:
Important: If applications such as Ingress Controller, Metric Server, Rancher, Lens will be used or if Kubernetes will be installed in a cloud environment, port requirements should be checked externally.

Kubernetes High Availability (HA) Cluster

When setting up a Kubernetes High Availability (High Availability) Cluster: Load Balancer VIP Access: On Kubernetes Master/Control Plane and Worker servers, necessary permissions should be defined to access the Load Balancer’s VIP on port 6443. This VIP performs load balancing by routing to port 6443 of Master nodes. HAProxy Load Balancer Example Configuration:
VIP Access Rules:
If desired, a DNS can also be defined for this routing virtual IP. SSL will be created during installation from one of the servers and communication will be established with it. SSL control will not be performed on the system performing routing. This SSL will be renewed annually via Kubernetes.

Apinizer Component Port Requirements

Kubernetes uses ports in the 30000-32767 range by default for external access. Although specific default ports are used for Apinizer, these can be customized as needed.

Ports for Worker Servers

Ports for MongoDB Servers

Ports for Elasticsearch Servers

Port and Protocol Requirements Summary

DMZ → LAN Communication

LAN → DMZ Communication

Internet → DMZ Communication

Port Access Permission Request Template

Port access request template prepared for communication to network and security teams: Port Access Requests for Kubernetes Master and Worker Servers:
Note: All default ports can be changed, but in this case, operations and permissions should be done carefully.

Security Layers

Defense in Depth Strategy

Apinizer is protected with a layered security approach:

Security Controls

Network Layer

  • Firewall rules
  • Network segmentation
  • VLAN isolation
  • DDoS protection

Transport Layer

  • TLS/SSL encryption
  • Certificate management
  • mTLS (mutual TLS)
  • Perfect Forward Secrecy

Application Layer

  • OAuth2 / JWT authentication
  • Rate limiting
  • IP whitelisting
  • API key management

Data Layer

  • Data encryption at rest
  • Data masking in logs
  • PII redaction
  • Audit logging

Security Best Practices

Critical Security Rules:
  1. Never place MongoDB and Elasticsearch in DMZ
  2. Never place Manager module in DMZ
  3. Always use TLS/SSL (in production)
  4. Always configure firewall rules with least privilege principle
  5. Always perform regular security updates
  6. Always correctly configure Kubernetes port requirements

Security Checklist

  • DMZ and LAN separation is implemented
  • Firewall rules are configured with least privilege principle
  • TLS/SSL certificates are configured
  • MongoDB and Elasticsearch are in LAN
  • Manager module is in LAN
  • Worker modules are in DMZ
  • Load Balancer is in DMZ
  • Network segmentation is implemented
  • Kubernetes port requirements are configured
  • Apinizer component ports are configured
  • Internet access for installation is provided
  • DDoS protection is active
  • Log monitoring and alerting are configured
  • Regular security updates are planned
Important: This secure deployment pattern must be used for production environments. DMZ/LAN separation is critical for security and compliance requirements. The system will not work if Kubernetes and Apinizer port requirements are not correctly configured.