问题分析
前几天,由于开发需要,我在 AWS EC2 部署了一个 PostgreSQL 数据库服务,本来想着过几天用完就终止服务,因此放松了警惕,数据库服务的所有配置保持默认配置,包括账号密码以及端口。然而,今天连接数据库时,出现了如下异常:
FATAL: pg_hba.conf rejects connection for host "xx.xx.xx.xx", user "postgres", database "xxx", SSL off
异常信息大概意思是,数据库服务拒绝连接请求。
于是,我尝试登陆EC2服务后,通过本地连接到数据库,依然提示类似的错误信息。此时,我已经可以十分肯定,数据库被黑了……
异常信息中提示到 pg_hba.conf 文件,因此,沿着这个线索去找到问题所在。 pg_hba.conf 文件一般位于数据库的储存目录下,具体的位置取决于安装方式,经过一轮搜索,在此目录找到 pg_hba.conf 文件。
/var/lib/postgresql/data/pg_hba.conf
仔细检查 pg_hba.conf 配置文件后,发现文件的开头多了几行配置,如下:
<