Authentication
Okta OAuth 2.0 with PKCE, JWT tokens, and automatic refresh for License Server Detail.
This document provides an overview of security considerations for deploying and operating License Monitor and License Server Detail in production environments.
The License Management stack implements defense in depth with multiple layers of security:
┌─────────────────────────────────────────────────────────────────────┐│ Security Layers │├─────────────────────────────────────────────────────────────────────┤│ ││ ┌───────────────────────────────────────────────────────────────┐ ││ │ Network Security │ ││ │ • Firewalls • Network segmentation • TLS encryption │ ││ └───────────────────────────────────────────────────────────────┘ ││ ││ ┌───────────────────────────────────────────────────────────────┐ ││ │ Application Security │ ││ │ • Authentication • Authorization • Input validation │ ││ └───────────────────────────────────────────────────────────────┘ ││ ││ ┌───────────────────────────────────────────────────────────────┐ ││ │ API Security │ ││ │ • API keys • Rate limiting • CORS • Request validation │ ││ └───────────────────────────────────────────────────────────────┘ ││ ││ ┌───────────────────────────────────────────────────────────────┐ ││ │ Data Security │ ││ │ • Encryption at rest • Encrypted transport • Log redaction │ ││ └───────────────────────────────────────────────────────────────┘ ││ │└─────────────────────────────────────────────────────────────────────┘Authentication
Okta OAuth 2.0 with PKCE, JWT tokens, and automatic refresh for License Server Detail.
API Security
API key authentication, rate limiting, and CORS protection for License Monitor.
Encryption
TLS 1.2/1.3 for transport, AES-GCM for client-side token storage.
Audit Logging
Comprehensive logging with sensitive data redaction.
| Security Feature | Default | Configurable |
|---|---|---|
| API Key Authentication | Disabled | Yes |
| Rate Limiting | 60 req/min | Yes |
| CORS | Disabled | Yes |
| TLS | Disabled (use reverse proxy) | Via proxy |
| Bind Address | localhost (127.0.0.1) | Yes |
| Public Bind | Blocked | Requires explicit flag |
| Security Feature | Default | Configurable |
|---|---|---|
| OAuth Authentication | Required (Okta) | Yes |
| Session Management | JWT with refresh | Yes |
| CSRF Protection | Enabled | - |
| XSS Protection | Enabled | - |
| Token Encryption | AES-GCM | - |
| HTTPS | Required in production | - |
┌─────────────────────────────────────────────────────────────────┐│ Internet │└────────────────────────────┬────────────────────────────────────┘ │ ┌────────┴────────┐ │ Firewall │ │ (Port 443 only)│ └────────┬────────┘ │┌────────────────────────────┴────────────────────────────────────┐│ DMZ ││ ┌─────────────────────────────────────────────────────────────┐││ │ Reverse Proxy (nginx) │││ │ - SSL termination │││ │ - Rate limiting │││ │ - WAF rules │││ └────────────────────────────┬────────────────────────────────┘│└────────────────────────────────┼────────────────────────────────┘ │ ┌────────────┴────────────┐ │ Internal Firewall │ └────────────┬────────────┘ │┌────────────────────────────────┴────────────────────────────────┐│ Application Zone ││ ┌──────────────────────┐ ┌──────────────────────┐ ││ │ License Server │ │ License │ ││ │ Detail (3000) │ ←→ │ Monitor (8080) │ ││ └──────────────────────┘ └──────────┬───────────┘ │└─────────────────────────────────────────┼───────────────────────┘ │ ┌─────────────────────┴─────────────────────┐ │ Internal Firewall │ └─────────────────────┬─────────────────────┘ │┌─────────────────────────────────────────┴───────────────────────┐│ License Server Zone ││ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ││ │ FlexLM │ │ RLM │ │ sesinetd │ ││ │ Server │ │ Server │ │ Server │ ││ └──────────────┘ └──────────────┘ └──────────────┘ │└─────────────────────────────────────────────────────────────────┘| Risk | Impact | Likelihood | Mitigation |
|---|---|---|---|
| API Key Exposure | High | Medium | Use secrets manager, rotate keys |
| Unauthorized Access | High | Low | Strong authentication, MFA |
| Data Interception | Medium | Medium | TLS everywhere |
| DoS Attack | Medium | Medium | Rate limiting, WAF |
| Command Injection | High | Low | Input validation, whitelist |
| Session Hijacking | High | Low | Secure cookies, short TTL |
API Key Exposure
Unauthorized Access
Data Interception
Denial of Service
License Monitor ships with secure defaults:
# Default secure configuration[api]enabled = truebind_address = "127.0.0.1" # Localhost only by defaultbind_port = 8080allow_public_bind = false # Requires explicit overriderate_limit_requests = 60rate_limit_window_seconds = 60cors_origins = [] # No CORS by defaultBoth applications implement: