Common attacks and weaknesses
- Clusters without authentication leaking billions of records.
- Index deletion and ransom notes.
- Old versions with remote code execution (Groovy scripting).
Elasticsearch and OpenSearch HTTP API (IANA lists 9200 for WAP, but on the Internet it is almost always Elasticsearch).
A search query goes to port 9200 and the engine returns the matching documents, ranked. Encryption is optional: traffic is only protected if TLS is enabled on the server and the client.
Unofficial use. The IANA assignment below differs from what is usually found on this port in practice.
| Service | Port | Transport | Description | Reference | Updated |
|---|---|---|---|---|---|
| wap-wsp | 9200 | TCP, UDP | WAP connectionless session service | - | - |
// source: IANA service name and port number registry
Linux
sudo ss -ltnup 'sport = :9200' # process listening on 9200
sudo lsof -nP -i :9200macOS
sudo lsof -nP -i :9200
Windows (PowerShell)
Get-NetTCPConnection -LocalPort 9200 -State Listen | Select LocalAddress, OwningProcess Get-NetUDPEndpoint -LocalPort 9200 netstat -ano | findstr :9200
From another machine
nmap -p 9200 -sV <host> sudo nmap -sU -p 9200 <host> nc -zv <host> 9200
Block it in the firewall
sudo ufw deny 9200/tcp # Linux (ufw) New-NetFirewallRule -DisplayName "Block 9200" -Direction Inbound -LocalPort 9200 -Protocol TCP -Action Block # Windows
Elasticsearch and OpenSearch HTTP API (IANA lists 9200 for WAP, but on the Internet it is almost always Elasticsearch).
Port 9200 is registered for TCP and UDP. In practice the service mostly uses TCP.
It is rated 9/10 (critical) when exposed to the Internet. Clusters without authentication leaking billions of records. Enable security (authentication and TLS), on by default since 8.0.
On Linux run "ss -ltnup 'sport = :9200'", on macOS "lsof -nP -i :9200", and on Windows "netstat -ano | findstr :9200" to see the local process. From another machine, "nmap -p 9200 <host>" shows whether it is reachable.