等保测评所需postgresql数据库命令以及内容解析

1、安装postgresql。以centos7为例:
(1)先查看自己的centos7里面是否存在postgresql的包,是否已经安装。
rpm -qa | grep postgres //检查是否安装了postgresql数据库安装包

(2)rpm -qal | grep postgres //检查postgresql数据库所安装的位置

(3)如果没有安装过postgresql,则通过yum源进行安装。
a)yum install postgresql-server

在centos7安装postgresql的版本是9.2;在centos6安装postgresql的版本是8.4。
b)输入y并回车继续安装。
(4)安装完成后初始化数据库:
postgresql-setup initdb
(5)设置开机自动启动:
systemctl enable postgresql.service
查看是否是开机自启动:
Chkconfig --list(如果查不到,用systemctl list-unit-files查看)

(6)或者手动启动postgresql数据库:
systemctl start postgresql.service
(7)查询postgresql数据库的端口是否开放:
netstat -tnlp

(8)查看postgresql数据库服务状态:

2、连接postgresql:
开启postgresql之后,切换到postgres用户就可以创建数据库并开始使用。

3、编辑postgresql.conf文件,修改数据库默认接收的监听地址与端口参数。
(1)找到postgresql.conf的位置 默认在/var/lib/pgsql/data目录下,如果不在可以查找。
(2)查找postgresql.conf的listen_address 的行数,以及对应的值。
cat postgresql.conf | grep -n listen_address
(3)如果listen_address这一行为注释行且其值为localhost ,则去掉此行的注释,并则将其值修改为*;
修改前:

修改后:

4、查看postgresql允许哪些用户和地址访问自己。如果设置为
host all all 0.0.0.0/0 trust
表示允许任意一个客户端使用正确的用户名和密码访问自己。下图为默认设置,只允许本地用户名登录。

5、 设置trust,本地可以使用psql -U postgres直接登录服务器;设置 peer,本地可以使用psql -h 127.0.0.1 -d postgres -U postgres直接登录服务器。
6、退出postgresql数据库用exit 命令。
7、查看数据库用户和密码:select * from pg_shadow;

postgres用户等同于SQLServer里面的sa用户。

8、查看postgresql版本信息:

9、列举数据库,显示详细的数据库信息: \l

10、备份:

11、密码复杂度策略

passwordcheck.so模块可以实现密码复杂度要求,此模块可以检查密码,如果密码太弱,他会拒绝连接。创建用户或修改用户密码时,强制限制密码的复杂度,限制密码不能重复使用。例如密码长度,包含数字,字母,大小写,特殊字符等,同时排除暴力破解字典中的字符串。
启用模块:添加’ l i b d i r / p a s s w o r d c h e c k ′ 到 参 数 s h a r e d p r e l o a d l i b r a r i e s , 重 启 生 效 默 认 s o 文 件 都 存 放 在 libdir/passwordcheck'到参数shared_preload_libraries,重启生效 默认so文件都存放在 libdir/passwordchecksharedpreloadlibrariessolibdir目录下。
如果设置了密码复杂度策略则是以下结果:

12、查看远程加密方式管理:
执行more /var/lib/pgsql/data/postgresql.conf查看ssl支持是否启动。

13、查看远程管理限定地址登录方式:
执行more /var/lib/pgsql/data/pg_hba.conf;查看文件允许管理员指定哪些主机可以使用 非加密连接(host),以及哪些主机需要使用 SSL 加密的连接(hostssl)。客户端还可以指定它们只通过 SSL 连接到服务器

参数:

  1. TYPE: 值为local和host, Local值表示为主机Socket连接, host代表允许的主机地址连接
  2. DATABASE: 允许访问的数据库名, all代表允许全部数据库
  3. USER: 表示允许哪个用户访问数据库, all代表所有用户都可以访问
  4. ADDRESS: 表示允许连接的主机信息,可以使用主机IP地址, 也可以使用网段来表示,如192.168.1.0/24表示192.168.1.0网段可以连接
  5. METHOD: 连接方法, 通常使用的值为md5和trust
    14、查看postgresql版本及补丁版本:
    执行postgresql --version

15、查看最大错误连接次数:执行more /var/lib/pgsql/data/postgresql.conf,查看max_connections的值。

16、查看超时时间设置:执行more /var/lib/pgsql/data/postgresql.conf,查看authentication_timeout 的值。

17、查看用户密码是否是加密状态:执行more /var/lib/pgsql/data/postgresql.conf,查看password_encryption 的值是否是开启的,开启就是当使用create user、alter user管理用户时,如果没有显示进行加密与否的限定,postgresql服务器是否自动进行密码加密。
18、查看是否收集日志信息:执行show logging_collector;查看是否是开启状态。

19、查看日志记录类型,默认是stderr,只记录错误输出。执行show log_destination;命令查看日志类型。

更多推荐