Series 03 of 20 -- Databases

410 Database Service Ports
Indexed on Sri Lankan IPs

Database services are not web pages. They are not intended to be publicly reachable. When they appear in a public internet index, it is worth asking why. This post looks at what the index shows for common database ports on Sri Lankan IPs: version banners, authentication status notes, EOL software tags, and one instance the index has tagged as compromised.

358 MySQL
Indexed
38 PostgreSQL
Indexed
9 Redis
Indexed
5 MongoDB
Indexed

What the Index Observes

Public internet indexing services probe publicly reachable ports and record the responses. For database services, this means the index captures whatever the server returns on connection: a version banner, an authentication challenge, an error message, or in some cases full server metadata. None of the data below was obtained by logging in, querying, or interacting further with any system. It reflects what the server responded with on initial contact.

Five queries were run: country:LK port:27017 product:MongoDB, country:LK port:3306 product:MySQL, country:LK port:5432 product:PostgreSQL, country:LK port:6379 product:Redis, and country:LK port:9200 product:Elasticsearch. Elasticsearch and Microsoft SQL Server (port 1433) returned zero indexed results for Sri Lankan IPs.

Methodology Note Version banners are standard behavior for several database products and do not indicate unauthenticated access. Authentication status notes in this post are quoted directly from banner content as observed in the public index. No connection was attempted, no data was queried, and no systems were accessed. EOL status is based on vendor published support timelines.

MongoDB: 5 Indexed Instances

Five MongoDB instances on Sri Lankan IPs were indexed on port 27017. All five banners include the field "Authentication partially enabled" in their server information response. This is MongoDB's own description of its authentication state, returned as part of the initial connection response.

Two of the five instances carry the index's eol-product tag. MongoDB 4.0 reached end-of-life in February 2022. MongoDB 5.0 reached end-of-life in October 2024. One instance on a version within those ranges also carries the compromised tag, applied by the index based on observed indicators.

The banner content does not establish whether the partial authentication state permits unauthenticated read or write operations. It establishes that the phrase appears in the server's own response and that the administrator of each instance should verify their authentication configuration is complete.

MongoDB: Indexed Instances by Version
country:LK port:27017 product:MongoDB · 5 total results
4.0.28 (EOL)
1
5.0.23 (EOL)
1
7.0.12
1
7.0.17
1
7.0.24
1

EOL per MongoDB official lifecycle documentation. MongoDB 4.0: EOL Feb 2022. MongoDB 5.0: EOL Oct 2024.

Redis: 9 Indexed Instances

Nine Redis instances were indexed on port 6379. Redis returns different responses depending on whether authentication is required. The majority of the nine indexed instances returned -NOAUTH Authentication required., indicating authentication is configured and the index's connection attempt was rejected.

However, at least one indexed instance returned a full server INFO block in response to the initial connection without an authentication challenge. This is the behavior of a Redis instance without a password set, or with an empty password. The index recorded version, memory usage, uptime, and connected client counts from this response. A second instance carries the index's compromised tag alongside a full INFO response.

Redis 2.8 reached end-of-life in 2015. An indexed Redis instance on a version from 2013, returning server metadata without an authentication challenge, represents a meaningful configuration concern. The content of the memory is not established by this data.

Redis: Authentication Response Observed
country:LK port:6379 product:Redis · 9 total results
-NOAUTH (auth set)
7
Full INFO (no challenge)
2

1 of the 2 "full INFO" instances carries the index's "compromised" tag. Authentication state inferred from initial connection response only.

MySQL: 358 Indexed Instances

MySQL is by far the most indexed database product on Sri Lankan IPs, with 358 results on port 3306. This count alone does not indicate a security issue. MySQL, like most relational databases, announces its version as part of the initial handshake before any authentication exchange. A version banner in the index does not establish that the instance accepts unauthenticated connections.

What the index does reveal is version distribution. Several of the indexed instances are running versions that have passed end-of-life. MySQL 5.5 reached end-of-life in December 2018. MySQL 5.6 reached end-of-life in February 2021. Both appear in the indexed version distribution.

MySQL: Top Indexed Versions
country:LK port:3306 product:MySQL · 358 total results
5.7.33 Ubuntu (EOL)
43
5.5.41 (EOL)
24
5.7.31 Ubuntu (EOL)
18
8.0.46 Ubuntu
10
5.6.10 (EOL)
9

MySQL 5.5 EOL: Dec 2018. MySQL 5.6 EOL: Feb 2021. MySQL 5.7 EOL: Oct 2023. EOL per MySQL official lifecycle.

MySQL: Top Organizations
country:LK port:3306 product:MySQL · 358 total results
ISP Sri Lanka*
221
MTT Network
23
LEARN
22
SL Telecom IDC
19

* Two ISP Sri Lanka organization name variants combined: 190 + 31 = 221

PostgreSQL: 38 Indexed Instances

38 PostgreSQL instances were indexed on port 5432. The banner responses visible in the index are largely authentication challenge messages: fe_sendauth: no password supplied is the client-side error returned when a connection is attempted without credentials. Its presence in the index indicates the server responded to the indexer's connection, and that the indexer did not supply a password. It does not establish unauthenticated access was possible.

One indexed instance returned FATAL: no pg_hba.conf entry for host, indicating the connection was rejected at the host-based authentication level. Several instances present self-signed certificates alongside the database service. The Lanka Education and Research Network (LEARN) accounts for a meaningful share of the indexed results, reflecting academic infrastructure with database services on public IPs.

PostgreSQL: Top Organizations
country:LK port:5432 product:PostgreSQL · 38 total results
ISP Sri Lanka*
16
LEARN
6
Dialog Telekom
5
LCS Web Hosting
4

* ISP Sri Lanka variant names combined: 13 + 3 = 16

Notable Patterns

MongoDB
Two of Five Instances on EOL Versions
Two of the five indexed MongoDB instances are running versions the vendor no longer supports: one on 4.0.x (EOL February 2022) and one on 5.0.x (EOL October 2024). Both carry the index's end-of-life product tag. All five instances include "Authentication partially enabled" in their banner responses. Whether that reflects a complete or incomplete authentication configuration is a question for each instance's administrator.
Redis
One Instance Tagged Compromised, Full INFO Returned Without Challenge
Two of nine indexed Redis instances returned full server INFO blocks without an authentication challenge. One of those two carries the index's "compromised" tag. The "compromised" classification is applied by the index based on its own observed indicators; this post does not independently verify that classification. One instance returning server metadata is running Redis 2.8, a version released in 2013 and long past any vendor support window.
MySQL
Version Distribution Skewed Toward EOL Releases
Among the top indexed MySQL versions, the majority are on branches that have passed end-of-life: MySQL 5.5 (EOL 2018), 5.6 (EOL 2021), and 5.7 (EOL October 2023). For database services indexed on public IPs, running versions without active security patch support from the vendor is a compounding concern regardless of authentication configuration.

What Is Not Established

This post does not establish that any indexed database instance accepts unauthenticated connections, exposes user data, or has been compromised. With the exception of Redis instances that returned full server metadata without an authentication challenge, the index data reflects version banners and initial connection responses. Authentication state, data contents, and actual access controls are not determinable from this data alone.

The finding that 358 MySQL instances, 38 PostgreSQL instances, 9 Redis instances, and 5 MongoDB instances are indexed on public Sri Lankan IPs is itself the primary observation. Database services on public IPs without a clear operational reason represent unnecessary exposure surface, independent of authentication configuration.

Summary

410 database service ports indexed across four products. No Elasticsearch. No MSSQL. Two MongoDB instances on EOL versions. Two Redis instances returning server metadata without an authentication challenge, one tagged as compromised by the index. MySQL version distribution skewed toward branches the vendor no longer patches.